Учитель. Оскільки ваш організм не пристосований до іншого клімату, треба зробити профілактику. Яку саме, ми дізнаємося, упоравшись з задачею.
Умова задачі. Для профілактики захворювань на тропічну хворобу турист повинен прийняти краплі протягом 2 годин. Починати треба з 1 краплі, а через кожні 10 хвилин – на 1 більше. Скільки всього треба прийняти крапель кожному туристу?
Текст програми:
Program LIKU;
Var
s, i, n: integer;
begin
s:=0;
n:=12;
for i:=1 to n do
s:=s+i;
writeln ( ‘ Всього крапель ‘,s);
end.
Відповідь: 78
Учитель. Тепер ми вирушаємо на невідомий континент, де ми познайомимось з новими структурами циклів. А саме, з циклом
While і з циклом
Repeat..Until.
Оператор циклу з параметром (FOR) використовують, якщо заздалегіть відомо, скільки разів потрібно виконувати деякі оператори.
Існують задачі, коли наперед не відомо, скільки разів потрібно виконувати деякі оператори, але відома умова, при якій цикл виконується, або умова, при якій цикл завершується.
Коли спочатку потрібно перевірити умову, а потім виконувати тіло циклу, використовується оператор циклу WHILE.
Алгоритм виконання циклу: спочатку обчислюється умова продовження циклу, що записана в його заголовку. Якщо вона істинна, то виконується тіло циклу, інакше виконання циклу припиняється. Оскільки цикл може почати роботу лише в разі істинності умови, а завершити роботу — лише в разі хибності цієї умови, то значення параметрів циклу, повинні змінюватися під час його роботи. Тобто вам необхідно самим потурбуватись про необхідність збільшення (зменшення) лічильника циклу на 1. Це можна зробити таким чином І:=І+1. В іншому разі відбудеться «зациклення», тобто виникне ситуація, коли цикл ніколи не завершує своєї роботи. Якщо умова у вказівці повторення хибна при першій же перевірці, то тіло циклу не виконується жодного разу.
Якщо спочатку потрібно виконати тіло циклу, а потім перевіряти умову, використовується оператор циклу REPEAT. Цикл з післяумовою за будь-яких обставин буде виконано принаймні один раз — в цьому і полягає його головна відмінність від циклу з передумовою.
Оператор циклу з післяумовою працює за таким алгоритмом. Спочатку виконуються оператори, що входять до складу тіла циклу. Потім обчислюється умова завершення циклу. Якщо вона істинна, цикл завершує свою роботу, інакше повторюється виконання його тіла. Зауважимо, що параметри циклу з післяумовою повинні змінюватись під час його виконання так, щоб не трапилось «зациклення». Тіло циклу, яке складається з групи вказівок, не потрібно брати в дужки (begin— end), оскільки службові слова repeat—
until відіграють роль дужок.
Для подальшого подолання перешкод, під час нашої подорожі, вам стануть у пригоді карти з правильною структурою написання циклів на мові Паскаль.
Учитель. Далі вирушаємо до одного з найбагатших континентів - північної Америки.
(На слайді презентації відеоролик «New York City»)
Північна Америка – батьківщина багатьох мільйонерів. От і ми спробуємо розбагатіти на цій землі. Покладемо в банк гроші під відсотки, а через деякий час обов’язково повернемось і знімемо вклад.
Але це можна зробити коли вставимо у програму вірно написаний цикл.
(Парні комп’ютери використовують цикл while, непарні - цикл repeat... until)
Задача. Вводиться початкова сума вкладу, процент і кількість років. Яку суму грошей ми отримаємо?
Var
N: real; P: integer; L: integer;
i: integer; // тільки для for
Begin
Write ('Введіть суму $: ');
ReadLn(N);
Write ('Введіть процент: ');
ReadLn (P);
Write ('Введіть кількість років: ');
ReadLn (L);
while L>0
do
begin
N:=N * (P/100 + 1);
L:=L-1;
end;
repeat
N:=N * (P/100 + 1);
L:=L-1;
until L=0;
WriteLn('Сумма буде ',N,'$');
Readln(p);
End.
Учитель. Багато з вас впорались із завданням та розбагатіли, а дехто, на жаль, банкрот.
Перед тим як відправитись у наступний континент зробимо
гімнастику для очей.
«Допомагаємо у будівництві пірамід»
(На слайді презентації відеоролик «Єгипетські піраміди»)
Далі наш шлях лежить до спекотної Африки, яка вважається прабатьківщиною людства: саме тут знайдені найдавніші залишки життя наших предків. Саме на цьому континенті збереглося єдине з 7 чудес світу – єгипетські піраміди поблизу Каїра: їх не змогли зруйнувати ні люди, ні час.
«Все боїться часу, а час боїться пірамід», - так стверджує стародавнє східне прислів’я. Найвідоміші піраміди: Хеопса (Хуфу), Хефрена (Хафра), Мікеріна. Найбільша з них – Велика піраміда Хеопса. Цю піраміду збудував перший відомий в історії людства математик Імхотеп та 100 000 чоловік, які змінювали один одного кожні 3 місяці. Згідно з легендами, піраміда служила фараонам «драбиною, якою вони сходили на небо».
Давайте допоможемо давьогрецькому математику Імхотепу підрахувати, скільки буде блоків у 5 рядках піраміди. Якщо в нижньому ряду – 3000 блоків, а в кожному наступному – на 60 блоків менше?
(Парні комп’ютери використовують цикл repeat..until, непарні - цикл while)
Текст програми з циклом While
Var
S,k:integer;
N:byte;
Begin
S:=0;
K:=3000;
N:=1;
While n<=5 do
Begin
S:=s+k;
K:=k-60;
N:=n+1;
End;
Writeln(‘Vsogo blokiv ‘,s);
Readln(s);
End.
Текст програми з циклом Repeat
Var
S,k:integer;
N:byte;
Begin
S:=0;
K:=3000;
N:=1;
repeat
Begin
S:=s+k;
K:=k-60;
N:=n+1;
until n=6;
Writeln(‘Vsogo blokiv ‘,s);
Readln(s);
End.
Маршрут, який ми собі склали, було подолано вдало. А тепер ми повертаємося додому. На материк Євразія.
Зараз ми побачимо, чи не заблукали ви на невідомому континенті, чи впоралися ви з вивченням нового матеріалу? Проведемо тестування.
(Тестування MyTestPro)
Домашнє завдання.
Скласти програму (окремо з циклом for, з циклом while, і з циклом repeat..until). Вартість перельоту до першого континенту – 400 євро, а до кожного наступного – на 100 євро більше, ніж до попереднього. Яку суму треба заплатити за весь переліт?
Опрацювати теоретичний матеріал з теми на сайті вчителя.
Рефлексійно-оцінювальна частина.
5.1. Учитель. Зараз я хочу щоб кожний з вас висловився:
сьогодні я взнав…
було цікаво…
було важко…
я виконував завдання…
я зрозумів, що…
тепер я можу…
я відчув, що…
я придбав…
я навчився…
у мене вийшло …
я зміг…
я спробую…
мені захотілося…
Зобразіть свій настрій за допомогою смайликів.
5.2. Учитль. А зараз подивимося яких результатів ви досягли на цьому уроці.
(Таблиця Excel «Досягнення учнів на уроці»)
Побажання:
If (true)
then
Write (‘Відпочиваємо!’);
Else write(‘Працюэмо!’);
While (true)
do
Rest();
Repeat
Do();
Until (false);