Занятие 4. Планер самолета. Конструкция хвостового оперения

Else

Набор значений n: оператор_n

Case Управляемая переменная (выражение) of

набор значений 1: оператор_1;

набор значений 2: оператор_2;

набор значений 3: оператор_3;

набор значений 4: оператор_4;

Альтернативный всем наборам оператор;

end;

Тип управляемой переменной (выражения) должен совпадать с типом значений из набора.

NB! Они могут быть любого типа, кроме real.

Пример 1: Ввести номер дня недели и вывести соответствующий день недели на русском языке.

Блок-схема Программа
        program Pr1; var n:integer; begin writeln (‘введите n дня недели’); readln (n); case n of 1: writeln(‘Понедельник’); 2: writeln(‘Вторник’); … 7: writeln(‘Воскресенье’) else writeln(‘некорректное число’); end; end.

 

3.3. Операторы цикла.

Допустим, дано задание составить программу, печатающую числа, например от 1 до 3. Для этой задачи программу составить просто. А если от 1 до 1000? Одни и те же действия будут записаны тысячу раз.

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

1. Оператор цикла «Для» имеет две формы: с шагом равным единице и с шагом равным минус единице.

 

Структура опера тора с шагом равным единице:

for <параметр>:=<нач. значение> to <кон. значение>do <тело цикла>;

Читается оператор так: «Для i от начального значения до конечного значения выполнять тело цикла с шагом равным 1».

Тело цикла содержит один оператор или группу операторов составляющих составной оператор. В этом операторе начальное значение параметра меньше или равно конечного значения параметра.

Структура опера тора с шагом равным минус единице:

for <параметр>:=<нач. значение> downto <кон. значение>do <тело цикла>;

Читается оператор так: «Для i от начального значения до конечного значения выполнять тело цикла с шагом равным минус 1».

Начальное значение параметра больше или равно конечного значения параметра.

NB! Параметр цикла, начальное значение параметра и конечное значение параметра могут быть только целого или символьного типа.

Графическое изображение оператора:

 
 

 

 


В задачах на циклы, где требуется вычислить сумму или произведение, переменной суммы первоначально присваивается значение нуль, переменной произведения – единица.

Пример 2: Определить сумму и произведение чисел от 1 до n.

Блок-схема Программа
  program Pr2; var n, S, P, i: integer; begin writeln(‘введите n’); readln(n); S:=0; P:=1; for i:=1 to n do begin S:=S+i; P:=P*i; end; writeln(‘S=’,S,’ P=’,P); end.

 

2. Оператор цикла «Пока».

Структура оператора:

while <Условие> do <тело цикла>;

Читается оператор следующим образом: «Пока условие истинно выполнять тело цикла».

В блок-схеме изображается так:

 
 

 

 


Тело цикла может содержать один оператор или группу операторов заключенных в операторные скобки.

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

Пример 3: Определить сумму и произведение чисел от 1 до n.

Блок-схема Программа
  program Pr2; var n, S, P, i: integer; begin writeln(‘введите n’); readln(n); S:=0; P:=1; i:=1; while i<=n do begin S:=S+i; P:=P*i; i:=i+1;{действие влияющее на условие} end; writeln(‘S=’,S,’ P=’,P); end.

 

3. Оператор цикла «Повтори».

Структура оператора:

repeat <тело цикла> until <Условие>;

Читается оператор следующим образом: «Повторять тело цикла до тех пор, пока условие не станет истинным».

Тело цикла может содержать любое количество операторов, при этом операторные скобки не нужны. Условие ставится заведомо ложное.

 

Графическое изображение оператора:

 
 

 


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

Тело цикла оператора с постусловием всегда хотя бы один раз выполняется в отличие от оператора с предусловием.

NB! Перед словом until символ «;» не ставится.

 

Пример 3: Определить сумму и произведение чисел от 1 до n.

Блок-схема Программа
  program Pr2; var n, S, P, i: integer; begin writeln(‘введите n’); readln(n); S:=0; P:=1; i:=1; repeat S:=S+i; P:=P*i; i:=i+1 {действие влияющее на условие} until i>n; writeln(‘S=’,S,’ P=’,P); end.