Алгоритми з повтореннями. Цикл з лічильником

До цього часу ми з вами використовували виключно лінійні алгоритмічні структури. Але часто виникає потреба повторювати певні команди декілька разів. Щоб не записувати ці команди повторно ми можемо використовувати циклічні алгоритмічні структури, з якими познайомилися в курсі інформатики 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. Фотопідтвердження виконаної роботи переслати на перевірку доступним способом (класні керівники).