Lesson # 44. repetition algorithms for processing quantities. loop with condition. bzd briefing
1. Урок №____ 8___ клас 1 група ________________
2 група ________________
Тема: Алгоритмиз повтореннями для опрацювання величин. Цикл з умовою.
Інструктаж з БЖД
Мета:
навчальна: сформуватиуявлення про синтаксис і семантику алгоритмів
з повтореннями; сформувати вміння складати циклічних алгоритмів
для розв'язування задач;
розвивальна: розвивати логічне мислення та креативність;
виховна: виховувати інформаційну культуру, дбайливе ставлення до
комп’ютерної техніки.
Тип уроку: засвоєння нових знань, формування вмінь і навичок
Обладнання та наочність: дошка, комп’ютери з підключенням до
мережі Інтернет, підручник.
Програмне забезпечення: середовище програмування IDLE Python, браузер
Хід уроку
І. Організаційний етап
Привітання, перевірка присутніх, перевірка готовностіучнів до уроку
ІІ. Мотивація навчальної діяльності
Під час розв'язування багатьох задач обчислювальний процес має
циклічний характер, тобто частина операторів багаторазово виконується при
різних значеннях змінних.
На уроці ми ознайомимось із синтаксисом і правилами виконання
алгоритмів з повтореннями (циклами).
ІІІ. Актуалізація опорних знань
1. Виконання інтерактивного завдання
2. Повторення основних понять (цикл, тіло циклу, ітерація, цикл з
лічильником)
IV. Вивчення нового матеріалу
1. Цикл з умовою:
Цикл з умовою – ітерації відбуваються до тих пір, доки виконується
поставлена умова.
2. Реалізація на Python:
Цикл while ("поки") дозволяє виконати одну і ту ж послідовність дій,
поки є істинною поставлена умова. Умова записується до початку тіла циклу і
перевіряється до виконання тіла циклу. Як правило, цикл while
використовується, коли неможливо визначити точне значення кількості
проходів виконання циклу.
При виконанні циклу while спочатку перевіряється умова. Якщо вона
хибна, то виконання циклу припиняється і керування передається на наступну
інструкцію після тіла циклу while. Якщо умова істинна, то виконується
інструкція, після чого умова перевіряється знову і знову виконується
інструкція. Так триває до тих пір, поки умова буде істинно. Як тільки умова
стане хибною, робота циклу завершиться і управління передасться наступній
інструкції після циклу.
Наприклад, наступний фрагмент програми надрукує на екран квадрати
всіх цілих чисел від 1 до 10. Видно, що цикл while може замінювати цикл for
... in range (...):
У цьому прикладі змінна i всередині циклу змінюється від 1 до 10. Така
змінна, значення якої змінюється з кожним новим проходом циклу,
3. називається лічильником. Зауважимо, що після виконання цього фрагмента
значення змінної i дорівнюватиме 11, оскільки саме при i == 11 умова i <= 10
вперше перестане виконуватися.
Ось ще один приклад використання циклу while для визначення
кількості цифр натурального числа n:
У цьому циклі ми відкидаємо по одній цифрі числа, починаючи з кінця,
що еквівалентно діленню націло на 10 (n//=10), при цьому запам’ятовуємо в
змінній l, скільки разів це було зроблено.
2. Інструкції управління циклом
Після тіла циклу можна написати слово else: і після нього блок операцій,
який буде виконаний один раз після закінчення циклу, коли перевіряється
умова стане невірно:
Здавалося б, ніякого сенсу в цьому немає, адже цю ж інструкцію можна
просто написати після закінчення циклу. Сенс з'являється тільки разом з
інструкцією break. Якщо під час виконання Python зустрічає інструкцію break
всередині циклу, то він відразу ж припиняє виконання цього циклу і виходить
з нього. При цьому гілка else виконуватися не буде. Зрозуміло, інструкцію
break доцільно викликати тільки всередині інструкції if, тобто вона повинна
виконуватися тільки при виконанні якоїсь особливої умови.
Наведемо приклад програми, яка зчитує числа до тих пір, поки не
зустріне від’ємне число. При введені від’ємного числа програма
завершується. У першому варіанті послідовність чисел завершується числом 0
(при зчитуванні якого треба зупинитися).
4. У другому варіанті програми спочатку на вхід подається кількість
елементів послідовності, а потім і самі елементи. В такому випадку зручно
скористатися циклом for. Цикл for також може мати гілку else і містити
інструкції break всередині себе.
Інша інструкція управління циклом - continue (продовження циклу).
Якщо ця інструкція зустрічається десь посередині циклу, то пропускаються всі
інструкції до кінця циклу, і виконання циклу продовжується з наступної
ітерації.
3. Множина присвоювання
У Python можна за одну інструкцію присвоювання змінювати значення
відразу декількох змінних. Робиться це так:
a , b = 0, 1
Цей код можна записати і так:
a = 0
b = 1
Відмінність двох способів полягає в тому, що множинне присвоювання в
першому способі змінює значення двох змінних одночасно.
Якщо зліва від знака «=» в множині присвоєнні повинні стояти через
кому імена змінних, то справа можуть стояти довільні вирази, розділені
комами. Головне, щоб ліворуч і праворуч від знака присвоювання було
однакове число елементів.
Множинне присвоювання зручно використовувати, коли потрібно
обміняти значення двох змінних. У звичайних мовах програмування без
використання спеціальних функцій це робиться так:
5. В Python цю ж задачу можна виконати простіше:
IV. Засвоєння нових знань, формування вмінь
Робота за комп’ютером
1) Повторення правил безпечноїповедінки за комп’ютером.
2) Написати програму для розв’язування наступних задач:
Задача 1
За даним цілим числом n роздрукуйтевсі квадратинатуральних чисел, що не
перевершують n, в порядку зростання.
Задача 2
Програма отримуєна вхід послідовність цілих невід'ємних чисел, кожне
число записано в окремому рядку. Послідовність завершується числом 0, при
зчитуванні якого програма повинна закінчити свою роботу і вивести кількість
членів послідовності(не рахуючизавершального числа 0). Числа, наступніза
числом 0, зчитувати не потрібно.
6. Задача 3
Послідовність складається з натуральних чисел і завершується числом 0.
Визначте значення найбільшого елементу послідовності.
V. Підсумки уроку
Рефлексія
Учням пропонується назвати три моменти, які у них вийшли добрев
процесі уроку, і запропонувати дію, яка поліпшить їх роботу на наступному
уроці.
VІ. Домашнєзавдання
1. Опрацювати конспект;
2. Переглянути додатковіматеріали до уроку;
3. Розв’язати запропоновані задачі(розв’язкивідправитина
перевірку використовуючи E-mail)
Задача 1:
Дано ціле число, яке не менше 2. Виведіть його найменший натуральний
дільник, відмінний від 1.
Задача 2:
За даним натуральним числом n знайдіть найбільшу цілу ступінь двійки, яка
не перевищує n. Виведіть показник ступеня і саму ступінь.
Задача 3:
Визначте суму всіх елементів послідовності, яка завершується числом 0.
VІI. Оцінювання роботи учнів