Var I,n:word;{I - параметр циклу}
Rez:real;{Rez - результат обчислень}
Begin
Clrscr;
Rez:=0; {Початкове значення дорівнює 0,току що результат є накопиченням суми}
Write(‘Введіть значення n: ‘);
Readln(n);
For I:=1 to n do
Begin Rez:=sqrt(Rez+2);
End;
Writeln(‘Rez= ‘,Rez:8:2);
Readkey;
End.
ЗАДАЧА №210
Умова: Дано ціле число п, яке набуває значень шкільних оцінок. Визначити відповідною кількістю звукових сигналів, яка саме оцінка була задана («1» - один звуковий сигнал, «2» - два сигнали і т.д.). Якщо ж задане число не відповідає значенню шкільної оцінки—подати довгий звуковий сигнал.
Розв ‘язання : Звуковий сигнал у цій програмі можна подавати за допомогою процедур керування вбудованим динаміком sound та nosound . Перша з них викликає звучання ноти заданої частоти (частота вказується в дужках після процедури), а друга виключає динамік. Тривалість звучання та паузи між звуками можна задавати процедурою delay , параметром якої є змінна time (значення цієї змінної можна задати командою присвоєння або введенням із клавіатури). Отже, програма має вигляд:
Program Example_210;
Uses crt;
Var I,n:word; {I - параметр циклу, n - оцінка учня}
Time:word;
Begin
Clrscr;
Write(‘Введіть Вашу оцінку: ‘);
Readln(n);
Time:=10000;
{Значення цієї змінної залежить від характеристик комп’ютера, і може бути підібрана практичним шляхом}
If (n<1) or (n>12) Then
begin
writeln(‘Ви помилились, такої оцінки не існує.’);
sound(200); delay (time 5); nousound;
end
Else
For I:=1 to n do
Begin
Sound(200); Delay(time);
Nousound; Delay(time);
End;
Readkey;
End.
Домашнє завдання:
• Повторити теоретичний матеріал по роботі циклу з параметром;
• виконати задачі № 189 (4), № 190 (3), №191, № 211, № 178, № 188.
УРОК 20. Цикли з передумовою
Мета уроку : Навчити використовувати цикл з передумовою для розв’язування типових задач.
На початку уроку рекомендується провести письмове опитування (можна у вигляді диктанту) по матеріалах попереднього уроку. Далі можна розглянути деякі типові задачі з використанням циклу з передумовою. Нагадуємо, що в усіх цих задачах кількість повторень буде визначатись залежно від початкових та кінцевих умов.
ЗАДАЧА № 180
Умова: Коли Василині Премудрій виповнилося 18 років, Чахлик Невмирущий вирішив одружитися з нею. Василина запитала Чахлика, скільки у нього скринь із золотом. Чахлик відповів, що зараз у нього я скринь і щороку додається ще по т скринь. Василина пообіцяла, що вийде заміж тоді, коли у Чахлика буде k повних скринь із золотом. Скільки років буде тоді нареченій?
Program Example_180;
Uses crt;
Var m,n,k:word;
{n - початкова кількість скринь із золотом, m - щорічний «прибуток» Чахлика, k - «потреби» Василини Премудрої}
Sum,Years:word; {Sum - щорічне накопичення Чахлика, Years -вік Василини Премудрої}
Begin
Clrscr;
Write(‘Введіть початкову кількість скринь з золотом: ‘);
Readln(n);
Write (‘ Введіть щорічний прибуток Чахлика: ‘) ;
Readln(m);
Write(‘Введіть «потреби» Василини Премудрої: ‘);
Readln(k) ;
Sum:=п;{Початковий «капітал» Чахлика}
Years:=18;{Початковий вік Василини}
While Sum<=k do
Begin
Sum:=Sum+m;
Years:=Years+1;
End;
Writeln(‘Василиях вже виповнилося ‘,Years,’ років.’);
Readkey;
End.
ЗАДАЧА № 197
Умова: Дано натуральне число п. Визначити суму цифр у числі. Для розв’язку цієї задачі використаємо такий штучний прийом: щоб знайти суму цифр, ми повинні «брати» цифри по одній і додавати їх однадо одної, а потім використану цифру «відкидати». Це нам дозволять зробитиоперації ділення націло та знаходження залишку від цілочисельногоділення. Так, при діленні числа націло на 10 остання цифра числа буде«відкидатися», а при знаходженні залишку від ділення націло ми виділяємоостанню цифру числа. Тобто: 123 div 10 = 12 3928 mod 10 = 8.
Процес буде повторюватись, доки від числа «нічого не залишиться», тобто, доки воно не перетвориться на нуль. Програма, що реалізує описаний алгоритм, має такий вигляд:
Читать дальше