Оператор выбора CASE (общая форма записи)
Оператор множественного выбора case позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора − выражение любого порядкового типа (кроме longint).
Данный оператор имеет структуру:
case <выражение-селектор> of
<список1>: <оператор1>;
<список2>: <оператор2>;
...
<списокN>: <операторN>
else <оператор>
end;
Здесь
<выражение-селектор> – выражение или, в частном случае, переменная любого скалярного типа, кроме вещественного (обычно это переменная типа byte, integer, boolean или char);
<список1, список2, ... списокN> – списки констант, значения которых может принимать выражение-селектор. Каждый из списков может представлять собой константу, диапазон констант или несколько констант (диапазонов), разделенных запятой.
Конструкция else в операторе case может отсутствовать.
Оператор case выполняется следующим образом.
Анализируется значение выражения-селектора.
Далее выполняется один из операторов, в список констант которого входит значение выражения-селектора.
Если значение выражения-селектора не совпадает ни с одной из констант в списках констант, управление передается оператору, стоящему после слова else, а в случае отсутствия слова else, оператору, следующему за оператором case.
Составить программу, организующую ввод значений x и y, и, в зависимости от выбора пользователя, выдающую на экран их сумму, разность, произведение или частное.
Решение:
program Calculus;
label m1;
var
operation : Char; {Знак операции}
x, y, z : Real; {Операнды и результат}
begin
writeln('Введите переменные x,y= ');
readln(x,y);
write('Введите операцию: ');
readln(operation);
case operation of
'+':z:=x+y;
'-':z:=x–y;
'*':z:=x*y;
'/':z:=x/y
else writeln('Неверный ввод'); goto m1;
end;
writeln ('результат=',z:8:3);
m1:end.
30.Оператор цикла с предусловием (WHILE………)
Структура оператора WHILE
Формат оператора while:while <условие> do<оператор>;где while, do – служебные слова (пока [выполняется условие] делать ); <условие>–выражение логического типа (например b <= 5);
<оператор> - произвольный оператор Pascal, который будем называть телом цикла. Оператор может быть простым или составным.
. Принцип работы оператора WHILE
1) вычисляется значение логического выражения (проверяется условие);2) если результатом вычисления значения логического выражения (проверки условия) является ответ “да”, то выполняется простой или со-
ставной оператор, составляющий тело цикла и стоящий после служеб-
ного слова do;3) далее происходит возврат к пункту 1 и повторяются вышеописанныедействия 1, 2;
4) повторение действий 1, 2 продолжается, пока результатом вычисления значения логического выражения (проверки условия) не станет ответ “нет”, после чего управление передается на следующий после цикла
оператор программы.
31.Оператор цикла с постусловием (REPEAT……..)
Структура оператора цикла Repeat. . Until
Формат оператора repeat-until:repeat< операторы цикла> ;until <условие>;
Где repeat, until – служебные слова (повторять до тех пор, пока не будет выполнено условие);
<операторы цикла> – повторяющаяся в цикле последовательность операторов ТР;
<условие> – выражение логического типа.
Принцип действия оператора цикла Repeat ..UNTIL
1. выполняются операторы, расположенные между операторами REPEAT…UNTIL, составляющие тело цикла;2. вычисляется значение логического выражения оператора UNTIL (проверяется условие);3. если результатом вычисления значения логического выражения
(проверки условия) является ответ “нет”, то операторы, составляющие тело цикла, выполняются вновь;4. повторение действий 1, 2 продолжается до тех пор, пока результатом вычисления значения логического выражения (проверки условия) не станет ответ “да”.
32.Оператор цикла с параметром(FOR…….)
Структура оператора FOR
Один из возможных форматов оператора for:for <параметр цикла> :=<нач_знач> to <кон_нач> do<оператор>;где for, to, do – служебные слова ( для, до, выполнить);<параметр цикла> – параметр цикла; в качестве параметра цикла частовыступает переменная типа integer или byte;
<нач_знач> – начальное значение параметра цикла - выражение того же типа;<кон_знач> – конечное значение параметра цикла - выражение того же типа;<оператор> –повторяющаяся последовательность операторов ТР;<условие> – выражение логического типа.
Принцип действия оператора FOR
1. первый раз <оператор>, составляющий тело цикла выполняется при <пар_цикла> : = <нач_знач>;2. второй раз тело цикла выполняется при <пар_цикла> : = <нач_знач>+ 1;
3. последний раз тело цикла выполняется при пар_цикла> : = <кон_знач>;
Если необходимо записать цикл по убывающим значениям параметра I от N1 до N2, то используется следующий оператор:
for I := N2 downto N1 do <оператор>;
33.Операторы вывода информации (WRITE,WRITELN….)
Вывод данных на экран осуществляется посредством операторов WRITE и WRITELN. Отличие в
работе оператора WRITE и WRITELN, заключается в том, что оператор WRITELN после вывода значений всех переменных и констант из списка осуществляет перевод курсора на новую строку экрана. Синтаксис оператора WRITELN:WRITELN(a1, a2, …),где a1, a2, … – список вывода, в котором кроме имен переменных можно писать строковые константы(последовательность символов в апострофах) и даже выражения (выводятся их результаты).Все операторы в Pascal отделяются друг от друга символом «;».