Проблеми захисту лісу в Україні та шляхи вирішення
Konspekt uroku
1. Тема. Опис умов мовою програмування. Цикл з параметром.
Мета: визначити поняття циклу; різні види циклів у Pascal; цикл з умовою;
встановити застосування циклів.
Учитель. Давайте спробуємо на природних явищах і прикладах з
повсякденного життя визначити поняття циклу.
Якщо вас запитають, що таке цикл, то, напевно, ви, не замислюючись,
відповісте, що це повторюваність чогось.
І це абсолютно правильно!
Визначити повторюваність пір року в природі — це цикл, кругообіг води в
природі — це цикл, зміна дня і ночі — це цикл і багато інших процесів у природі
повторюються, утворюючи циклічність.
Цикли в математиці — це явище, яке дуже часте зустрічається.
Наприклад, поки натуральні числа менші 10, то їх треба підсумовувати.
Іншими словами, ми знаходимо суму чисел від 1 до 10.
У цьому прикладі повторюється додавання натуральних чисел, поки
виконується умова (числа менші за 10).
Такі цикли називаються циклом з передумовою, оскільки умова
записується перед виконанням повторюваної групи операторів.
Увага! Цикл у програмуванні — це багаторазово виконувана група
команд.
Існує кілька різновидів циклів.
Цикли з параметром використовуються, коли заздалегідь відома кількість
повторень циклу.
Цикли з умовою використовуються, коли циклічний процес має
закінчитися при виконанні умови. Наприклад: поки йде дощ — я читатиму.
Або так: я читатиму, доки дощ не закінчитися.
Давайте переформулюемо цей вислів і спробуємо створити цикл. Отже,
виконувана дія — читати сторінку. Коли треба припинити читання? У той
момент, коли припиниться дощ. Інакше кажучи, ми поставили умову —
йде дощ. Поки ця умова ІСТИННА (дощ іде), дія буде виконуватися. А яке
слово говорить про те, що використовувана конструкція — цикл? Це слово
ПОКИ. Тепер залишилося просто перевести в оператори Pascal.
Умова
хибна
1
2. Конструкція:
WHILE <умова> DO
Begin
Набір операторів;
End.
На початку роботи циклу перевіряється істинність умови, що входить в
опис оператора. Якщо ця умова ІСТИННА — будуть виконуватися
оператори і після їхнього виконання керування знову передасться оператору
WHILE. Якщо ж у якийсь момент умова стане ХИБНОЮ — виконання
циклу припиниться.
Приклад 1. Скільки разів виконається цикл:
С := 8;
While C<13 do
WriteLn (С);
Цей цикл ніколи не закінчиться, оскільки значення змінної С не
буде змінюватися. Для того, щоб цикл припинився, необхідно зап-
рограмувати збільшення зміної С.
Отже, маємо програму:
С:= 8;
While С <13 do
Begin
WriteLn (С);
С:= C+1;
End;
Увага! Змінювати змінну можна як завгодно (не тільки на 1).
Розв'язати усно.
Приклад 2. Які зміни необхідно внести у вихідну програму для того, щоб
вивести на екран квадрати всіх чисел від Ідо 4 з кроком 0,5?
Приклад 3. Знайти перше натуральне число, що задовольняє умові:
х3-х2 + 3 = 103.
Спочатку розберемо алгоритм. Яка умова необхідна для виконання
циклу? Треба щось робити, ПОКИ рівність не справджується. Які дії треба
повторювати?
Оскільки за умовою необхідно знайти перше натуральне число,
перебираємо всі цілі числа, починаючи з 1, з кроком 1. Збільшувати число на
1. Виникає ще питання, з якого числа треба почати? З 1.
Отже, маємо програму:
Program z;
Uses Crt;
Var С: Integer;
Begin
ClrScr;
C:= 1;
while C*C*C - C*C +30 <>103 do
Begin
C:= С + 1;
End;
WriteLn(‘C = ‘ , C);
2
3. End.
Розглянемо роботу оператора while... do... ще на одному прикладі.
Приклад 4. Визначити і вивести на екран цифри цілого числа п.
Розберемо алгоритми задачі на конкретному прикладі.
Знайдемо цифри числа 4538. Для цього потрібно по одній виділяти цифри,
а потім їх відкидати. Спершу знайдемо решту від ділення 4538 на 10 за
допомогою операції (mod):
4538 mod 10 = 8, одержимо останню цифру числа (вона ж є першої
праворуч).
Видаємо повідомлення: «1-ша цифра праворуч дорівнює 8 ».
Після цього виконаємо цілочисельне ділення заданого числа 4538 на 10,
одержимо 453 (остання цифра відкидається):
4538 div 10 = 453.
Далі процес повторюємо:
2-й раз; 453 mod 10 = 3
2-га цифра праворуч дорівнює З,
453 div 10 = 45,
3-й раз; 45 mod 10 = 5,
3-тя цифра праворуч дорівнює 5,
45 div 10 = 4,
4-й раз; 4 mod 10 = 4,
4-та цифра праворуч дорівнює 4,
4 div 10 = 0.
Увага! Процес триватиме, поки число п не дорівнюватиме нулю. Як тільки
воно стане нульовим, цикл закінчується.
У програмі ще треба вказувати, яка за рахунком цифра в числі праворуч. Для
цього пропонуємо ввести ще одну змінну — лічильник. Ця змінна щоциклу має
збільшуватися на 1.
Отже, маємо програму:
Program Probleml; {Визначення і виведення на екран цифр числа} uses
WinCrt; var n, p, і: word;
begin
write ('Уведіть натуральне число n <= 65535');
readln(n);
if n = 0 then writeln ('Число дорівнює О ' ) ;
і := 1;
while n <> 0 do
begin
p := n mod 10; writeln (i, ‘- я цифра праворуч дорівнює ', p);
n := n div 10;
і := і +1
end;
end.
Побудова програми та її робота
У розділі описів
Змінна п для зберігання даного цілого числа, р — для зберігання виділених цифр
числа, і — лічильник кількості цифр.
3
4. У розділі операторів
Оператором write на екран виводиться запит для користувача про введення цілого
числа. Оператор readln слугує для введення значення з клавіатури та присвоєння
його змінній п.
Командою розгалуження if перевіряється, чи не введено 0, про що видається
відповідне повідомлення. Адже при п = 0 наступний фрагмент програми (цикл
while) не працюватиме.
Лічильнику надається початкове значення 1 (адже найкоротше число має хоча б одну
цифру).
В операторі while записується умова (поки п не дорівнює 0), за якої цикл буде
виконуватися.
Оскільки в циклі кілька операторів, то використовуються операторні дужки
begin... end.
У них записані оператори:
р:= n mod 10; - визначається остання цифра;
writeln( і , ' - я цифра праворуч дорівнює р) ; — виводиться на
екран порядковий номер цифри при рахунку справа наліво і сама ця цифра;
n := n div 10; —від числа «відкидається» остання цифра;
і := s і + 1; — лічильник збільшується на 1 (кількість цифр на
наступному кроці більше на 1).
Задачі на урок
Середній рівень
Введіть цю програму і виконайте. Опишіть отриманий результат.
Достатній та високий рівні
На самостійне опрацювання.
1. Вивести на екран усі парні числа від 3 до 35
Блок-схема Програма
2. Визначити перше ціле число після 145, що
ділиться націло поділяється на 1 3 і 23
Блок-схема Програма
Домашнє завдання:
1 . Накреслити по 2 варіанти блок-схем для всіх
задач з поточного уроку
4
5. Блок-схема Програма
2. Вивести на екран значення функції
y=x*x+3*sqrt(x),
якщо х змінюється від 4,2 до 7 із кроком 0,4.
(Функція Sqrt(x) обчислює квадратний корінь з х).
Блок-схема Програма
1 . Вивести всі парні числа з проміжку
(100; 300)
Блок-схема Програма
4. Складіть програму, що обчислює суму цифр заданого числа.
5