Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
infa_pechat.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
437.07 Кб
Скачать

29.Оператор выбора 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 продолжается до тех пор, пока результатом вычисления значения логического выражения (проверки условия) не станет ответ “да”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]