"Информатика (изд. "БИНОМ. Лаборатория знаний")", Угринович Н.Д.
Выражение — это запись, составленная из данных, знаков операций и скобок. По ней компьютер получает новое значение: число, текст или логический результат — истину либо ложь. Арифметические выражения нужны для вычислений, строковые — для обработки текста, логические — для проверки условий. Чтобы правильно находить результат, нужно учитывать типы данных, приоритет операций и значения переменных.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Арифметическое выражение — это запись из чисел, переменных и арифметических операций, значение которой можно вычислить. Например, 2 * a + 5 содержит переменную a и действия умножения и сложения. Такие выражения нужны, чтобы получать результаты расчётов по заданным данным.
Строковое выражение задаёт текстовое значение и составляется из строковых данных и операций над ними. Например, из частей «Инфор» и «матика» можно получить слово «Информатика». Это позволяет собирать сообщения, названия и другие тексты из отдельных фрагментов.
Логическое выражение — это запись, результатом которой является одно из двух значений: истина или ложь. Оно отвечает на вопрос, выполняется ли некоторое условие, например a < b. Логические выражения нужны программе для выбора действий и повторения команд.
Операция сравнения сопоставляет два значения и формирует логическое выражение. Запись a > b проверяет, больше ли значение a значения b, а a = b — равны ли они. Результат сравнения используют как готовое условие или объединяют с другими условиями.
Любое выражение строится из констант, переменных, знаков операций и скобок. Константа уже имеет определённое значение, а переменная получает его во время выполнения программы. Поэтому при изменении переменной меняется и результат всего выражения: например, 2 * a при a = 3 равно 6, а при a = 5 — 10.
В арифметической записи действия выполняются не случайно, а по приоритету операций. Умножение и деление обычно выполняются раньше сложения и вычитания, потому что так сохраняется привычное математическое правило записи. Скобки нужны, когда сначала следует выполнить другую часть: (8 + 3) * 2 отличается от 8 + 3 * 2.
Из строковых значений получают новый текст с помощью соединения, или конкатенации. Операция берёт левую и правую части и ставит их друг за другом, поэтому «Инфор» и «матика» превращаются в «Информатика». Это не арифметическое сложение: программа не вычисляет сумму символов, а формирует последовательность текста.
Сравнение чисел или строк сначала устанавливает отношение между ними, а затем возвращает истину либо ложь. Например, проверка 5 < 8 истинна, а проверка 5 = 8 ложна. Логические операции И, ИЛИ и НЕ позволяют объединять условия или изменять их: И требует истинности обоих условий, ИЛИ — хотя бы одного, НЕ меняет значение на противоположное.
Типы данных ограничивают допустимые действия, потому что операции должны иметь понятный смысл для своих операндов. Арифметические операции применяют к числам, соединение — к строкам, а логические операции — к результатам условий. Если смешать несовместимые типы без специального преобразования, программа может выдать ошибку или получить неожиданный результат.
В таблице сопоставлены состав, основные операции и результат каждого вида выражений. При разборе сначала определите тип исходных данных, затем выберите подходящие действия и проверьте, какой тип получится в конце. Примеры показывают общий принцип записи, а точные знаки операций могут зависеть от языка программирования.
| Вид выражения | Из чего составляется | Основные операции | Тип результата | Пример |
|---|---|---|---|---|
| Арифметическое | Числа, константы, переменные | +, −, *, / | Число | 2 * a + 1 |
| Строковое | Строки, строковые переменные | Соединение строк | Строка | «Инфор» + «матика» |
| Логическое | Сравнения и логические значения | И, ИЛИ, НЕ | Истина или ложь | (a < b) И (b = 8) |
Нужно вычислить 8 + 3 * 2 и (8 + 3) * 2. Задача проверяет, как приоритет операций и скобки влияют на результат. Нельзя начинать с первого действия слева: сначала нужно найти операции с более высоким приоритетом.
Ответ: первое выражение равно 14, второе — 22. Разные результаты появились потому, что скобки заставили выполнить сложение раньше умножения. Если нужно изменить обычный порядок действий, скобки следует поставить явно.
Даны строки «Инфор» и «матика», из которых нужно получить «Информатика». Здесь обе части являются текстом, поэтому знак соединения означает не сложение чисел, а последовательную запись фрагментов. Результат проверяем чтением получившейся строки слева направо.
Ответ: «Инфор» + «матика» = «Информатика». В конкретном языке программирования операция соединения может обозначаться иначе, поэтому нужно знать его правила. Главное — операнды должны рассматриваться как строки.
Пусть a = 5 и b = 8; требуется определить результат выражения (a < b) И (b = 8). Сначала нельзя применять И к самим буквам: каждая часть в скобках является отдельным сравнением. После получения двух логических значений их объединяют операцией И.
Ответ: выражение истинно. Операция И дала истину, потому что истинными оказались оба условия. Если хотя бы одно из них было бы ложным, весь результат стал бы ложным.
Ошибка: считать, что действия всегда выполняются слева направо. Так допускают неверный результат, потому что забывают о приоритете операций. Проверьте себя: сначала отметьте скобки, затем умножение и деление, и только после этого сложение и вычитание.
Ошибка: путать сложение чисел и соединение строк. Её допускают, когда одинаковый знак операции принимают за одинаковое действие, хотя смысл определяется типами операндов. Для проверки назовите тип каждой части: числа складываются, а текстовые фрагменты объединяются.
Ошибка: считать результат сравнения числом или строкой. Сравнение не возвращает величину вроде 5 или слово, а формирует логическое значение — истину или ложь. Проверьте себя вопросом: можно ли ответить на условие только «да» или «нет»?
Ошибка: объединять условия, не вычислив каждое отдельно. Из-за этого легко неверно применить И или ИЛИ и пропустить значение одной проверки. Сначала запишите результат каждого сравнения, а затем выполните логическую операцию над полученными истиной и ложью.
Для работы с выражениями нужны знания об основных типах данных, переменных и записи арифметических действий. Тип переменной подсказывает, какие операции допустимы и какой результат можно ожидать. Поэтому перед вычислением полезно определить, что хранится в каждой переменной.
Выражения используются при присваивании значений переменным, вводе и выводе данных. Логические выражения особенно важны в условиях ветвления и циклах: они определяют, какую команду выполнить или нужно ли продолжать повторение. Так выражения связывают отдельные операции с поведением всей программы.
Чем выражение отличается от отдельной переменной?
Переменная хранит одно значение и обозначается именем, например a. Выражение может включать переменные, константы, операции и скобки, поэтому его значение вычисляется по правилам.
Почему в выражении сначала выполняется умножение, а не сложение?
Умножение имеет более высокий приоритет, чем сложение. Поэтому в записи 8 + 3 * 2 сначала находят произведение 3 * 2, если скобки не задают другой порядок.
Можно ли соединить две строки знаком сложения?
В некоторых языках программирования знак + используется для соединения строк, например «Инфор» + «матика». Но смысл знака определяется типами данных: для чисел это сложение, а для строк — объединение текста.
Какой результат даёт сравнение двух значений?
Сравнение даёт логическое значение: истина или ложь. Например, при a = 5 и b = 8 условие a < b имеет результат «истина».
Зачем объединять несколько условий логическими операциями?
Так можно описать сложное правило из нескольких проверок. Например, операция И требует, чтобы истинными были сразу два условия, а операция ИЛИ допускает истинность хотя бы одного.
1.4. Арифметические, строковые и логические выражения