Главная → Уроки → Информатика 8 класс
Прочитай параграф о линейных программах на Python — стандартных функциях и модулях, целочисленном делении и остатке, строках и срезах, логическом типе и рисовании модулем graph — и ответь на 10 вопросов.
Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.
Если команды программы выполняются сверху вниз, каждая ровно один раз и без всяких условий, то программа реализует линейный алгоритм. В этом параграфе мы разберём, что Python умеет делать с целыми и вещественными числами, со строками и с логическими значениями, научимся подключать модули с дополнительными функциями и рисовать простые картинки.
Стандартные функции
Функция — это готовое действие, у которого есть имя. В скобках после имени пишут аргумент, а функция возвращает результат. Вызов функции разрешено писать прямо внутри выражения, наравне с числами и переменными: y = 3 * abs(x) - 1. Самые нужные числовые функции такие:
abs(x) — модуль, то есть x без знака минус: abs(-8) равно 8, abs(-2.5) равно 2.5; целое остаётся целым, вещественное — вещественным; round(x) — ближайшее к x целое, результат типа int: round(3.7) равно 4; запись round(x, n) округляет до n цифр после точки, и результат вещественный: round(2.718, 1) равно 2.7; int(x) — целая часть: дробная часть просто отбрасывается, int(7.9) равно 7, а int(-7.9) равно -7; sqrt(x) — квадратный корень, результат всегда вещественный: sqrt(49) равно 7.0; sin(x) — синус угла x, заданного в радианах; random() — вещественное число, выбранное наугад между нулём и единицей; randint(a, b) — случайное целое число n, для которого a ≤ n ≤ b, обе границы входят: randint(1, 6) ведёт себя как игральный кубик.
Сравните int и round на отрицательном числе. Ближайшее к -7.9 целое — это -8, поэтому round(-7.9) равно -8, а int(-7.9) просто стирает дробную часть и даёт -7.
Если дробная часть равна ровно половине, ближайших целых два, и round выбирает из них чётное: round(0.5) равно 0, round(4.5) равно 4, а round(5.5) равно 6. Так половинки уходят то вверх, то вниз примерно поровну, и ошибки округления не копятся в одну сторону. Есть и вторая тонкость: компьютер хранит числа в двоичной системе, и многие десятичные дроби в ней точно не записываются. Дробь 4.35 хранится в памяти как число чуть меньше 4.35, поэтому round(4.35, 1) даёт 4.3, а не 4.4.
Дано: x = -7.5, выполняется оператор print(abs(x), round(x), int(x)).
Решение. Функция abs убирает знак: 7.5. Число лежит ровно посередине между -8 и -7, и round выбирает чётное, -8. Функция int отбрасывает дробную часть: -7.
Ответ: 7.5 -8 -7.
Модули
Функции abs, round и int встроены в язык, их вызывают сразу. Остальные разложены по модулям: функций для Python написано так много, что держать их все в самом языке неудобно. Модуль — это набор функций для задач одной области. Модуль math содержит математические функции, среди них sqrt и sin, модуль random — функции для случайных чисел, модуль graph — команды для рисования. Чтобы пользоваться модулем, его подключают, или импортируют, командой import. Запись from math import * подключает все функции модуля math (звёздочка означает «всё»), а запись from random import randint — только одну функцию randint. После этого функции модуля вызываются так же, как встроенные: y = sqrt(x), z = sin(x). Например, строки x = float(input()) и y = sqrt(x) прочитают число и найдут корень из него. Если подключение забыть, программа остановится с ошибкой NameError: имя sqrt Python незнакомо.
Действия с целыми числами
Целые числа в Python относятся к целочисленному типу int, числа с дробной частью — к вещественному типу float. Над целыми числами Python выполняет сложение +, вычитание -, умножение * и возведение в степень **: 3 ** 4 равно 81. Результат этих действий тоже целое число. А деление / даёт вещественное число при любых операндах: 8 / 4 равно 2.0, хотя 8 делится на 4 без остатка.
В Family Track телефон открывается за уроки: прочитал параграф, сдал тест и получил минуты. Сколько минут стоит урок, решают родители. Отправь им ссылку, пусть посмотрят.
Отправить родителямПройти урок бесплатноПравильные ответы и разбор ошибок — в приложении: при пересдаче вопросы меняются, поэтому списать не получится.
Что напечатает оператор, записанный ниже?
Что напечатает оператор, записанный ниже?
Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.