Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции информатика - Семестр 2.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
516.1 Кб
Скачать

7.3 Оператор варианта

Является обобщением условного оператора для случая произвольного числа альтернатив.

Рисунок 7.4 – Оператор выбора

Рисунок 7.5 – Альтернатива

Рисунок 7.6 – Ветвь else

Синтаксис языка предполагает один оператор для каждой альтернативы, при необходимости задания нескольких операторов следует сгруппировать их в составной оператор. Ветвь else допускает последовательность операторов, разделенных символом ';'.

Рассмотрим пример использования оператора выбора. Пусть необходимо преобразовать целое число в зависимости от остатка деления на 17:

  • если N mod 17 = 0, то N:=0;

  • если N mod 17 = 1 или 6, то N:=-N;

  • если N mod 17 = от 2 до 4 или 7, то N:=2*N;

  • если N mod 17 = 5, то N:=3*N;

  • во всех прочих случаях N:=5*N;

Решение этой задачи будет выглядеть следующим образом:

Case N mod 17 of

0 : N:=0;

1,6 : N:=-N;

2..4,7 : N:=2*N;

  1. : N:=3*N;

else N:=5*N;

end;

Лекция 8. Операторы цикла for, while, repeat

8.1 Оператор цикла с предусловием.

Рисунок 8.1 – Оператор цикла с предусловием

Оператор задает повторное выполнение оператора, содержащегося в нем. Перед каждым выполнением внутреннего оператора производится проверка значения булевского выражения, которое служит критерием выполнения. True: выполнение очередной итерации и False: выполнение оператора цикла заканчивается.

while x<=N do begin Fact:=Fact+x; X:=x+1; End;

8.2 Оператор цикла с постусловием.

Отличается от предыдущего оператора тем, что условие проверяется после выполнения очередной итерации (гарантируется хотя бы одно выполнение цикла), а, во-вторых, тем, что критерием прекращения цикла является равенство выражения константе True; при false цикл повторяется.

Рисунок 8.2 – Цикл с постусловием

То есть синтаксис while - цикла допускает в теле цикла только один оператор, в то время как repeat-цикл может содержать последовательность операторов.

Repeat K:=i mod j; i:= j; j:=k; until j=0;

8.3 Оператор цикла с параметром.

Используется когда число повторений может быть определено перед его началом. Циклы с параметром позволяют автоматически изменять значение некоторой переменной и использовать это значение в последовательных итерациях. Оператор цикла определяет:

диапазон изменения значений управляющей переменной и число повторений оператора, содержащегося в теле цикла;

направление изменения значения переменной;

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

Рисунок 8.3 – Цикл С Параметром

Рисунок 8.4 - Диапазон

Например: For i:=1 to 10 do M[i]:=i*2;

Диапазон значений управляющей переменной может задаваться выражениями, которые вычисляются один раз перед выполнением цикла:

For j:=x+2 downto x-2 do

Begin

M[j*2-1]:=A+B;

Writeln(A, B, M[j*2-1]);

End;

На использование управляющей переменной налагаются следующие ограничения. В качестве управляющей переменной должна использоваться простая переменная, описанная в текущем блоке. Она должна иметь дискретный тип. Начальные и конечные значения диапазона должны иметь тип, совместимый с типом управляющей переменной. В теле цикла запрещается явное изменение управляющей переменной (например, оператором присваивания). Служебное слово to увеличивает счетчик на единицу, downto уменьшает счетчик на единицу.