Оператор выбора 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 отделяются друг от друга символом «;».