Program Example_165;
Uses crt;
Var Years:byte; {Years - вік людини}
Begin
Clrscr;
Write(‘Введіть Ваш віk: ‘);
Readln(Years);
If Years>100 Then writeln(‘Помилкові вхідні дані.’)
Else
Begin
Write(‘Вам ‘,Years);
If (Years>=10) and (Years<=20) Then writeln(‘років’)
Else
Case Years mod 10 of
1: writeln(‘рік.’);
2 . . 4 : writeln(‘роки.’);
0,5..9: writeln(‘років.’);
End;
End;
Readkey;
End.
Домашнє завдання:
• прочитати сторінки 65 - 66 запропонованого підручника;
• завдання №147, №148, №155, №157, №161.
Мета уроку: дати поняття про вказівку повторення та її використання при розв’язуванні задач, про типи циклів та їх оформлення мовою програмування Паскаль і мовою блок-схем.
Теоретичний матеріал
На початку уроку повторити з учнями загальні відомості про цикли. У мові програмування Паскаль існує три типи циклів: for , repeatта while . Якщо кількість повторень відома заздалегідь, використовується оператор for , якщо кількість повторень невідома, застосовуються оператори repeatабо while .
Оператор повторення for. Цей оператор повторення інакше називається циклом з параметром (або лічильником). Він складається із заголовку та тіла циклу і може бути поданий у двох форматах:
1.for <���параметр цихлу> := to do
begin
<���серія>;
end;
2. for <���параметр циклу> := downto do
begin
<���серія>;
end;
де 51 і 52 — вирази, що визначають початкове і кінцеве значення параметру циклу; for.. do— заголовок циклу; < серія> — тіло циклу.
Тіло циклу може бути простим або складеним. Цей оператор забезпечує виконання тіла циклу доти, доки не будуть перебрані всі значення параметра циклу від початкового до кінцевого.
Параметр циклу, його початкове і кінцеве значення повинні належати до одного типу даних. При цьому можливе використання будь-якого скалярного типу: цілого ( integer, byte, word, longint ); булівського ( boolean ); символьного ( char ). Дійсний тип даних використовувати заборонено. Значення параметру циклу послідовно збільшується при for... toабо зменшується при for... downtoна одиницю при кожному повторі. Кількість повторів тіла циклу в операторі forможна визначити за таблицею:
Оператор
S1
S1=S2
S1>S2
for... to
S2-S1+1 разів
1 раз
He виконується
for...downto
He виконується
1 раз
S1-S2+1 разів
В операторі forпісля doможе знаходитися складений оператор, у тілі якого заборонені оператори, що змінюють значення параметру циклу. Після нормального завершення циклу значення параметру циклу дорівнює кінцевому значенню. Цикл може не виконатися зовсім (див. табл.), але ніколи не може «зациклитися», на відміну від наступних двох операторів повторення.
Приклад програми з оператором For
Умова задачі. Знайти суму всіх натуральних чисел від 1 до 100.
Program Example_1;
Uses crt;
Var Sum, i: integer;
Begin
Clrscr;
Sum:= 0;
For i:= 1 to 10 do Sum:= Sum + i;
Writeln(‘Sum = ‘ Sum); Readkey;
End.
Оператор повторення repeat . Цей оператор циклу складається із заголовку ( repeat ), тіла та умови закінчення ( until ).
Формат опису:
repeat
<���серія>
until < умова >;
Умова — вираз булівського типу. Про умови ми вже говорили в темі «Команда розгалуження», і всі особливості їх застосування та оформлення в цій команді нічим не відрізняються від попереднього випадку. У цьому циклі спочатку виконується серія (тіло циклу), а потім перевіряється умова виходу з циклу. Саме тому ця команда повторення інакше називається циклом із післяумовою. Якщо умова виходу з циклу хибна ( false ), цикл активізується ще раз, якщо результат істинний ( true ), відбувається вихід із циклу.
Такий оператор повторення має наступні характерні риси:
• використовується коли не відома заздалегідь кількість повторень;
• тіло циклу виконується хоча б один раз;
Читать дальше