Алгоритми з повтореннями. Цикл з лічильником
До цього часу ми з вами використовували виключно лінійні алгоритмічні структури. Але часто виникає потреба повторювати певні команди декілька разів. Щоб не записувати ці команди повторно ми можемо використовувати циклічні алгоритмічні структури, з якими познайомилися в курсі інформатики 5 класу (Scratch):
Цикл – базова алгоритмічна структура, яка передбачає неодноразове виконання однієї або декількох команд.
Тіло циклу – команда або набір команд, які повторюються.
Ітерація – повторення тіла циклу 1 раз.
Типи циклів:
Цикл з лічильником – ітерації відбуваються наперед визначену кількість разів.
Реалізація на Python:
!!! Зверніть увагу на відступи перед тілом циклу, вони вказують на те, що наведені команди потрібно повторювати (вкладеність) !!!
Тут:
лічильник – комірка пам'яті для підрахунку кількості ітерацій (може містити лише ціле число), найчастіше називають літерою "i".
range – функція перебору лічильника, з наступними аргументами:
- start – початкове значення лічильника (якщо рівне 0 – можна на вказувати);
- stop – кінцеве значення лічильника при якому повторення припиняється.
- step – необов’язковий аргумент, вказує крок зміни лічильника (по замовчуванню рівний 1).
Оскільки в 6 класі ми будемо використовувати цикли виключно для створення примітивної графіки, структуру циклу з лічильником можна значно спростити. Починаємо рахувати повторення з 0, тобто параметр start не задаємо. Значення лічильника будемо змінювати з кроком в 1, тобто параметр step також не вказуємо. Фактично нам потрібно буде в дужках після функції range вказувати лише необхідну кількість повторень тіла циклу.
Перейдемо до практики:
Написати програму, яка створить квадрат зі стороною 150 пікселів, червоного кольору, з товщиною лінії 2 пікселі. В Scratch, ця програма матиме вигляд:
Якщо ж ми перейдемо до Python, те ж саме матиме вигляд:
2. Написати програму, яка створить малюнок за зразком:
Цю задачу ви вже виконували використовуючи лінійні алгоритми Python, що зайняло досить дбагато часу та вимагало написання досить довгого програмного коду. Але ж весь візерунок складається з 3 однакових квадратів, чому б в цьому випадку знову не використати цикли? Спробуємо спочатку це виконати в Scratch:
З реалізації даної програми можна побачити що ми використали два цикли з лічильником. Внутрішній - створює квадрат, зовнішній - тричі повторює квадрат і розташовує їх через 120 градусів кожен. Якщо ж перейти до Python, ця ж задача матиме вигляд:
!!! Звертайте увагу на відступи!!!
Завдання:
1. Опрацювати статтю та законспектувати основні моменти
2. Виконати всі приклади наведені в статті
3. Написати програму за зразком:
4. Написати програму, яка створить рисунок за зразком, використовуючи алгоритми з повтореннями:
5. Фотопідтвердження виконаної роботи переслати на перевірку доступним способом (класні керівники).