"Информатика (базовый уровень)", Семакин И.Г., Хеннер Е.К., Шеина Т.Ю.
Операции, функции и выражения позволяют записывать вычисления так, чтобы компьютер мог выполнить их по заданным правилам. Операция действует на операндах и даёт результат, функция получает аргумент и возвращает значение, а выражение объединяет числа, переменные и действия. Чтобы получить верный ответ, нужно правильно записать вызовы функций и учитывать порядок операций: его задают приоритеты и скобки.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Операция — действие над одним или несколькими операндами, заданное знаком или ключевым словом. Операнды — это данные, к которым применяют действие, а результат — полученное значение. Например, в записи 8 + 3 числа 8 и 3 являются операндами, знак + задаёт сложение, а результат равен 11. Понятие операции помогает понять, какие именно данные участвуют в вычислении.
Функция — встроенное средство, которое получает аргумент и возвращает значение. Имя указывает, какое действие нужно выполнить, аргумент — с какими данными, а результат появляется после вызова: например, abs(-4) возвращает 4. Функции нужны, чтобы применять готовые вычисления, не записывая каждый раз их устройство.
Выражение — запись из констант, переменных, операций и вызовов функций, значение которой можно вычислить. Например, 2 * a + 1 задаёт вычисление, если значение переменной a известно. Выражения позволяют записывать формулы и передавать компьютеру последовательность действий.
Приоритет операций — правило, определяющее порядок выполнения действий в выражении без скобок. Например, умножение выполняется раньше сложения, поэтому 2 + 3 * 4 равно 14. Приоритет нужен, чтобы одинаковая запись имела однозначный результат.
Операция связывает свои операнды и превращает их в результат, поэтому для вычисления важно знать и сами значения, и их типы. Например, сложение чисел даёт числовую сумму, а сложение текстовых строк может объединить их в одну строку. Тип результата зависит от вида операции и типов операндов: неподходящие данные могут привести к ошибке или к результату не того вида, которого ожидают. Поэтому перед вычислением полезно проверить, какие значения участвуют в действии.
В арифметических выражениях используют сложение +, вычитание -, умножение *, деление /, целочисленное деление // и получение остатка %. Знак / сохраняет дробную часть частного, тогда как // оставляет целую часть результата деления. Операция % показывает, что осталось после деления нацело, а ** возводит число в степень. Эти действия позволяют записывать как обычные формулы, так и вычисления с целыми числами.
Вызов функции записывают как имя функции, за которым идут круглые скобки с аргументом, например abs(-6). Имя сообщает, какое готовое действие выполнить, а аргумент определяет исходные данные для него. Если написать только abs, вычисления ещё нет: это имя функции, а не вызов с полученным значением. Скобки помогают отличить вызов функции от переменной, даже если их имена совпадают.
Порядок действий задают приоритеты и скобки, потому что одну и ту же последовательность знаков можно сгруппировать по-разному. Сначала вычисляют выражения в скобках, а затем операции с более высоким приоритетом; умножение и деление выполняются раньше сложения и вычитания. Если у соседних действий одинаковый приоритет, обычно переходят слева направо: так, 20 / 5 * 2 вычисляют как (20 / 5) * 2. Скобками можно явно изменить группировку и сделать запись понятнее.
Сложное выражение удобнее вычислять по этапам, а не пытаться сразу получить ответ. Сначала находят значения выражений в скобках, затем выполняют вызовы функций и операции в установленном порядке, каждый раз подставляя полученный результат. Такой способ уменьшает риск пропустить действие или применить его не к тем операндам. Если записать промежуточные результаты отдельно, вычисление проще проверить.
| Операция | Обозначение | Что вычисляет | Пример |
|---|---|---|---|
| Сложение | + | Сумму операндов | 7 + 2 = 9 |
| Вычитание | - | Разность операндов | 7 - 2 = 5 |
| Умножение | * | Произведение операндов | 7 * 2 = 14 |
| Деление | / | Частное, включая дробную часть | 7 / 2 = 3.5 |
| Целочисленное деление | // | Целую часть частного | 7 // 2 = 3 |
| Остаток от деления | % | Остаток после деления нацело | 7 % 2 = 1 |
| Возведение в степень | ** | Степень числа | 7 ** 2 = 49 |
Сначала определите, какой результат требуется: дробное частное, целая часть или остаток. Затем выберите соответствующий знак и подставьте операнды. Примеры в таблице показывают действие каждой операции на одних и тех же числах.
Задача 1. Вычислить значения выражений 17 // 5 и 17 % 5. Эти две записи связаны с делением с остатком: нужно найти, сколько раз делитель помещается в делимом, и что останется. Запишем равенство 17 = 5 · 3 + 2, которое показывает частное и остаток. Проверка такого равенства помогает убедиться, что оба результата согласованы.
Ответ: 17 // 5 = 3, 17 % 5 = 2.
Задача 2. Записать выражение для среднего арифметического чисел a, b и c, а затем подставить a = 4, b = 7, c = 10. Среднее находят так: сначала складывают все числа, затем сумму делят на их количество. Скобки нужны, чтобы деление относилось ко всей сумме, а не только к последнему слагаемому. Так формула останется верной при любых значениях чисел.
Ответ: выражение (a + b + c) / 3; при заданных значениях среднее равно 7.
Задача 3. Вычислить (x + 2) ** 2 / (3 - y) + abs(y), если x = 1 и y = -1. Здесь одновременно используются скобки, степень, деление, сложение и функция. Чтобы не перепутать порядок, сначала подставим значения и отдельно найдём содержимое скобок и результат функции. Затем выполним арифметические действия по приоритету.
Ответ: 3.25.
Иногда / и // считают двумя вариантами одной записи. Но / сохраняет дробную часть частного, а // выполняет целочисленное деление, поэтому результаты могут различаться, например 17 / 5 = 3.4 и 17 // 5 = 3. Ошибку можно проверить, разделив числа вручную и спросив себя, нужно ли оставить дробную часть.
Знак % иногда принимают за обозначение процентного отношения, потому что в математике его часто видят рядом с процентами. В выражениях программирования % возвращает остаток от деления: 17 % 5 равно 2. Для проверки представьте деление в виде равенства: делимое = делитель · частное + остаток.
Ещё одна ошибка — читать всё выражение слева направо, не учитывая приоритет. Так можно сначала сложить числа, хотя умножение должно было выполниться раньше, и получить другой результат. Проверьте себя: отметьте скобки, затем найдите операции с наивысшим приоритетом и только после этого переходите к остальным.
Имя функции без круглых скобок и аргумента не выполняет вычисление, а аргумент нельзя оставлять без скобок при вызове. Например, запись abs сама по себе не сообщает, модуль какого числа нужно найти. Проверка простая: после имени вызванной функции должны стоять круглые скобки, внутри которых указан аргумент.
Для работы с выражениями нужно знать, как задаются переменные и какие типы данных могут хранить их значения. От типа зависит, какие операции применимы к данным и какого результата ожидать. Полезно также уметь читать арифметические формулы и использовать скобки для группировки действий. Эти знания помогают записывать выражения без неоднозначности.
Операции, функции и выражения используются при составлении программ, вычислении формул и обработке числовых данных. Программа может получить числа, подставить их в выражение и сохранить или вывести результат. Функции позволяют включать в вычисления готовые действия, а выбор операций помогает правильно обработать данные. Поэтому уверенное чтение выражений необходимо для решения более сложных задач на программирование.
Чем операция отличается от функции?
Операция выполняет действие над одним или несколькими операндами и обычно обозначается знаком, например + или *. Функцию вызывают по имени, указывая аргумент в круглых скобках; например, abs(y) возвращает модуль числа y.
Чем обычное деление отличается от целочисленного?
Обычное деление / возвращает частное, которое может быть дробным: например, 17 / 5 даёт 3.4. Целочисленное деление // отбрасывает дробную часть частного: 17 // 5 даёт 3.
Что возвращает операция получения остатка?
Операция % возвращает остаток от деления одного числа на другое. Например, 17 % 5 равно 2, потому что 17 = 5 · 3 + 2.
В каком порядке вычисляются операции в выражении?
Сначала выполняются действия в скобках, а внутри них — с учётом приоритетов операций. Если операции имеют одинаковый приоритет, обычно их выполняют слева направо; степень является исключением и вычисляется справа налево.
Зачем при вызове функции нужны круглые скобки?
Скобки показывают, что функцию нужно вызвать, и в них записывают её аргумент. Одно имя функции без скобок и аргумента не задаёт вычисляемое значение.
§ 16. Операции, функции, выражения