Алгоритми з повтореннями. Цикл із передумовоюІнформатика 5 клас
Номер слайду 2
Повторення (цикли) в алгоритмах. Задача. У дворі є порожня діжка і відро та колодязь. Потрібно наповнити діжку водою, якщо невідома ємність відра і діжки
Номер слайду 3
Повторення (цикли) в алгоритмах1) Узяти відро.2) Перевірити умову «Діжка неповна?»3) Підійти до колодязя.4) Набрати з колодязя повне відро води.5) Підійти з повним відром води до діжки.6) Вилити воду з відра у діжку.7) Перевірити умову «Діжка неповна?»8) Підійти до колодязя.9) Набрати з колодязя повне відро води.10) Підійти з повним відром води до діжки.11) Вилити воду з відра у діжку.12) Перевірити умову «Діжка неповна?»13) Підійти до колодязя.14) Набрати з колодязя повне відро води.15) Підійти з повним відром води до діжки.16) Вилити воду з відра у діжку.17) Перевірити умову «Діжка неповна?»……) Поставити відро.
Номер слайду 4
Повторення (цикли) в алгоритмах. Узяти відро. Діжка неповна?Підійти до колодязя. Набрати з колодязя повне відро води. Підійти з повним відром води до діжки. Вилити воду з відра у діжку. Поставити відро. Так. Ні
Номер слайду 5
Цикл з передумовою. Задавання початкових значень змінних. Умова. Оператори тіла цикла. Так. Ні
Номер слайду 6
Цикл з передумовою. Цикл while (поки) буде повторюватися, поки виконується задана умова. Ця умова називається умовою циклу. Результатом перевірки умови може бути True або False. Синтаксис оператора циклу while:while <Умова>: <Оператор> Тут <Умова> — логічний вираз, що є умовою; <Оператор> — тіло циклу, яке виконується під час кожної ітерації. Виконання оператора циклу while починається з обчислення значення логічного виразу — умови циклу. Якщо умова істинна, то виконуються оператори тіла циклу й керування повертається на перевірку умови. Якщо ж умова хибна, то виконується оператор, який є наступним після оператора while. Якщо під час першої перевірки умова виявиться хибною, тіло циклу не виконається жодного разу.
Номер слайду 7
Приклади програм. Для початкового значення x =7 цикл while x< 10 виконається тричі. Результат виконання циклу наведено на рисунку.
Номер слайду 8
Приклади програм. У циклі продовжується побудова відрізків і поворот Черепашки на 170°, поки Черепашка не повернеться в точку (0,0) (abs(pos())< 1). На рис. 26.3 зображено побудову відрізків за допомогою циклу while ().
Номер слайду 9
Нескінченний цикл. У тілі циклу значення num не змінюється, тому умова num<20 завжди істинна й поданий цикл є нескінченним. Якщо як умову циклу while задати True, умова ніколи не стане хибною й цикл не завершиться.
Номер слайду 10
Нескінченний цикл. Програма випробовує витримку користувача — у нескінченному циклі пропонує користувачеві розв’язати задачу: знайти суму двох чисел.
Номер слайду 11
Приклади програм. Програма буде просити ввести суму двох чисел, поки не введете правильну відповідь.
Номер слайду 12
Працюємо за комп’ютером. Створити гру «Камінь-ножиці-папір». Задача:камінь, ножиці, папір — популярна гра руками, відома в багатьох країнах. Часто використовується для жеребкування. Напишіть програму, яка визначає пере-можця у грі комп’ютера та людини. Схему визначення переможця наведено на рисунку. 1) Відкрийте вікно IDLEі створіть нове вікно програми. На початку програми напишіть коментарі — правила гри.# Камінь ламає ножиці# Ножиці ріжуть папір# Папір накриває камінь2) Завантажте функцію randint, необхідну для отримання випадкових чисел:from random import randint. Значення для вибору зберігатимемо у списку:choice = [‘камінь’, ‘ножиці’, ‘папір’]Програма запрошує до гри за допомогою оператора:print (‘Давайте пограємо!’)Виводимо на екран підказку для гравця:for i in range(3):print (i, choice[i])Відеоінструкція
Номер слайду 13
Працюємо за комп’ютером3) Проаналізуйте алгоритм гри: Комп’ютер «загадує» ціле випадкове число в діапазоні від 0 до 2. Гравець робить свій вибір, уводячи число 0, 1 або 2. Виводиться повідомлення про вибір комп’ютера та вибір гравця. За правилами гри визначається переможець. Виводиться повідомлення про перемогу або нічию.4) Алгоритм гри повторюється в циклі while, поки гравець не відмовиться грати далі (введе 'n'). Якщо гравець уведе 'y', то цикл повториться: Відеоінструкція
Номер слайду 14
Працюємо за комп’ютеромgame='y'while game!='n':comp=randint(0,2)x = int(input('Що обираєте (0-1-2)->'))your_choice = choice[x]comp_choice = choice[comp]print (‘ПК вибрав ', comp_choice)print ('Ваш вибір ', your_choice)# Якщо ПК вибрав КАМІНЬif comp==0:if x==0:print ('НІЧИЯ')if x==1 :print ('Виграв ПК')if x==2:print ('Ви виграли!')game = input(‘Бажаєте продовжити? (y/n)’)print (‘Дякую за гру!’)5)* У програмному коді визначається переможець тільки в тому випадку, коли комп’ютер вибрав камінь. Самостійно напишіть оператори розгалуження для випадків «якщо комп’ютер вибрав ножиці» і «якщо комп’ютер вибрав папір». Відеоінструкція
Номер слайду 15
6) Запустіть програму на виконання, проаналізуйте роботу програми.7) Закінчіть роботу, закривши вікно IDLE. Працюємо за комп’ютером. Відеоінструкція