Одна из тем по информатике в 8 классе — условный оператор в Паскале. Это важный элемент языка программирования, ведь без ветвления невозможно реализовать какую-либо программу. К тому же довольно простая и обязательная к изучению конструкция. Тем не менее она имеет ряд синтаксических нюансов, которые могут быть непонятны новичку.
Неполный и полный варианты
Только самые элементарные алгоритмы могут работать без ветвления. Неполный вариант идеален в случае, когда какое-либо действие необходимо выполнить лишь при выполнении условия, полный — при существовании альтернативной ветви процедур. В языке Паскаль условный оператор имеет такой синтаксис, состоящий из трёх частей:
- «If» («если») — после этого пишется условие. Примечательно, что скобки в общем случае не используются, но они не повлияют на компиляцию. Если предполагается изучение Си в дальнейшем, следует вырабатывать привычку их использования.
- Сразу же за описанным условием идёт «then» («то») и блок нескольких команд (со следующей строки), обособляемый операторными скобками begin и end. Эти системные слова можно опустить, если вызывается лишь одна процедура, то есть оператор не является составным.
- Фрагмент, отсутствующий в неполной версии — «else» («иначе»). Полностью аналогичен предыдущей части.
Операции, размещённые после «then» актуальны для верного содержания «if» (результат «True»), после «else» — неверного («False»).
Принципы построения условий
Первоочередно требуется знать операторы отношения. В Паскале их виды описаны так:
- >— строгое «больше»;
- >= — нестрогое «больше»;
- < — строгое «меньше»;
- <= — нестрогое «меньше»;
- = — сравнение на равенство, отличается от присваивания отсутствием двоеточия;
- <> — сравнение на неравенство.
Простейшие односоставные условия не выделяются скобками. В обеих сторонах от оператора может фигурировать любая переменная или число. Для более сложных случаев нужны логические операции:
- Конъюнкция «AND». Истинно только когда оба условия верны. На естественном языке будет называться как «и».
- Дизъюнкция «OR». Ложно только при двух значениях «False». Можно интерпретировать как «или».
- Строгая дизъюнкция «XOR». Проверяет на совмещение истины с ложью.
- Отрицание «NOT». Меняет результат на противоположный — смысловое «не».
Части комбинированного условия, разделённые логическими операторами, обязательно обособляются кавычками. Иначе программа может скомпиллироваться, но работать не так, как предполагалось. Важно понимать, что схеме ветвления возможно задать сколько угодно уровней — условные операторы могут применяться внутри своих же блоков, при этом их можно вложить в цикл.
Примеры задач
Есть множество примеров использования условных операторов, ведь они незаменимая часть многих алгоритмов. Например, решение задачи о поиске максимума в массиве сводится к циклу с неполным ветвлением в теле: инициализированная первым членом переменная переписывается только в случае, когда она строго меньше элемента массива или введённого пользователем числа.
Если поставлен вопрос о протяжённости пути велосипедиста, который первые 3 часа едет со скоростью 15 километров в час, а остальное время — 8, значит, в коде программы будет полная структура. Для времени t, меньшего или равного 3, актуальна формула «s := 15*t», для большего значения — «s := 15*3 + 15*(t-3)».
Программу, определяющую попадание числа x в отрезок от 25 до 50, можно описать одной строкой: if (x >= 25) AND (x <= 50) then writeln (‘входит’). Число x, в зависимости от условий, может вводиться пользователем или считываться из массива. В некоторых задачах нужны дополнительные вычисления. Их можно указать прямо при сравнении, так как у операторов отношения приоритет ниже. Например, при проверке числа на чётность актуально условие «x mod 2 = 0».
Неполные ветвления требуют владения операторами отношения. Для полных нужны логические операции. Хотя условные операторы изучаются на уроках информатики в 8 классе, они база всех алгоритмов. Это касается почти всех языков программирования: Паскаля (Pascal), Си©, Джавы (Java) и других.