Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
выш.мат. методичка.DOC
Скачиваний:
30
Добавлен:
13.02.2015
Размер:
1.71 Mб
Скачать

5.2.3. Условный оператор саsе

С помощью этого оператора можно выбрать вариант из любого количества вариантов. Структура этого оператора в Turbo Pascal:

case S of

C1: Instruction1;

C2: Instruction2;

C3: Instruction3;

…….

CN: InstructionN;

else Instruction;

end;

В этой структуре:

S - выражение порядкового типа, значение которого вычисляется;

C1, С2,..., СN - константы, с которыми сравнивается значение выражения S;

Instruction1, Instruction2, Instruction3, … InstructionN - операторы, из которых выполняется тот с константой которого совпадает значение выражения S;

Instruction - оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант С1, С2, … СN.

Ветвь оператора еlsе является необязательной. Если она отсутствует и значение выражения S не совпадет ни с одной из перечисленных констант, весь оператор рассматривается как пустой. В отличие от оператора IF перед словом еlsе точку с запятой можно ставить.

Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если возможно). сопроводив их одним оператором.

Пример.

саse I, оf

0, 2, 4. 6, 8: WriteLn(‘Четная цифра’);

1, 3, 5, 7, 9: WriteLn('Нечетная цифра');

0..100: WriteLn(‘Число от 0 до 100’);

else WriteLn('Отрицательное число или больше 100');

end;

5.2.4. Оператор цикла repeat

Оператор цикла RЕРЕАТ организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз. Выход из цикла осуществляется при истинности некоторого логического выражения. Структура этого оператора:

repeat

Instruction1;

Instruction2;

Instruction3;

…….

InstructionN

until S;

В этой структуре:

Instruction1, Instruction2, Instruction3, … InstructionN - -выполняемые операторы, составляющие тело цикла;

S - логическое выражение, истинность которого проверяется в конце каждой итерации.

Так как слова rереаt и until являются своеобразными операторными скобкам точку с запятой перед словом until ставить не обязательно.

Пример. Дополненная и усовершенствованная программа, вычисления суммы двух чисел. (см, пример п.2).

program ЕХАМРLE;

var{раздел объявления переменных}

X, У, SUMMA: Reа1;

Ch: Char;

begin {тело программы}

repeat {начало цикла}

Write('Введите числа Х и У '); {вывод сообщения на экран}

ReadLn(Х, У); {чтение двух чисел}

SUMMA:= Х + У; {определение суммы}

WriteLn('Сумма чисел Х и У равна ',SUMMA); {вывод результата}

WriteLn (‘Завершить программу?‘);

ReadLn(Ch);

Until (UpCase(Ch) = ‘Y’) or (Ch = ‘д’) or (Ch = ‘Д’)

{UpCase– получение заглавной буквы}

end.

5.2.5. Оператор цикла while

Оператор цикла WHILE организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если некоторое логическое выражение окажется ложным. Так как истинность логического выражения проверяется в начале каждой итерации, тело цикла может не выполняться ни разу. Структура оператора цикла имеет вид:

while S do

Instruction;

В этой структуре:

S логическое выражение, истинность которого проверяется в начале каждой итерации.

Instruction - выполняемый оператор цикла.