В этой практической у нас стоит задача разобраться с оператором ветвления в Pascal, и сгенерировать простейший програмный продукт на его основе – т.е. реализованный код. Для этого нам пожадобиться понимание средств программы, а также умения компилировать и запускать созданный код.
Условный оператор (выбор одного из двух направлений)
В разветвляющихся вычислительных процессах отдельные этапы вычислений выполняются не всегда в одном и том же порядке, а в зависимости от некоторых условий выбираются для исполнения различные их последовательности.
if <условие> then <оператор 1> [ else <оператор 2> ];
если тогда иначе
Условие – логическое выражение, которое может быть истинным или ложным.
Оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.е. несколько операторов, объединенных операторными скобками begin end.
Часть конструкции, заключенная в квадратные скобки может отсутствовать.
Принцип работы оператора:
¨ проверяется условие
¨ если условие истинно (верно), то выполняется оператор 1
¨ если условие ложно (неверно), то выполняется оператор 2
¨ если else <оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.
Например, из двух чисел a и b вывести на экран значение большего числа. | if a > b then writeln (‘большее число a - ’, a) else writeln (‘большее число b - ’, b); |
Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else можно писать на следующей строке.
Возможная форма оператора: if <условие> then
<оператор 1>;
Пример использования оператора: Вычислите значение функции f(x) в зависимости от значения аргумента x. | if x<0 then y=x; if x=0 then y=0; if x<0 then y=sqr(x); |
Вложенные операторы if
Возможно использовать в качестве оператор1 или оператор2 других условных операторов:
if <условие1> then if <условие2> then <оператор1> else <оператор2>;
Вложенность операторов if неограниченна.
2. Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):
Позволяет выбрать из любого числа возможностей.
case <переменная или выражение> of
<список значений выбора1>:<оператор1>;
<список значений выбора2>:<оператор2>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
<список значений выбора N>:<оператор N>;
[else <оператор>]
end;
Переменная может быть любого порядкового типа, кроме longint ( word , boolean , integer , char … или перечисляемый тип ). (см.приложение 1, СТРУКТУРА ТИПОВ ДАННЫХ)
Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')
Оператор - любой оператор, в том числе составной.
Принцип работы оператора:
¨ Значение переменной или выражения сравнивается с предложенными списками значений
¨ Если найдено нужное значение, выполняется соответствующий оператор
¨ Если нужное значение не найдено в перечисленных списках, выполняется оператор после else
¨ Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.
Ветви здесь представлены элементами выбора, разграниченными точкой с запятой, а слово else с последующим оператором могут отсутствовать. Элемент выбора – это оператор, например составной, снабжённый одной или несколькими константами выбора:
Пример использования оператора: Написать программу, которая запрашивает номер месяца и выводит название времени года | uses crt; var month : integer; begin writeln (‘введите номер месяца от 1 – 12’); readln (month); case month of 1,2,12 : writeln(‘зима’); 3,4,5 : writeln(‘весна’); 6,7,8 : writeln(‘лето’); 9,10,11 : writeln(‘осень’); else writeln (‘ошибка ввода!’); end; repeat until keypressed; end. |
Практическая работа №13
Дата: 2019-03-05, просмотров: 268.