Реалізація алгоритмів повторення мовою програмування

Опис алгоритмів із циклом із параметром мовою програмування 

Пригадати

Повторення (цикл)це алгоритмічна структура, за допомогою якої та сама послідовність дій виконується кілька разів. 

У мовах програмування для опису структури повторення використовують оператори циклу. 

Працюючи з середовищем Scratch ви вже знайомились із циклічними алгоритмами. 

Дізнаємось, як цикли працюють в Python 

Існують два основні різновиди циклів:

Використання циклу передбачає 3 етапи:

1) Визначити та вказати початкові значення змінних

2) Вказати кількість повторень або сформулювати умову для циклу

3) Задати команди для виконання всередині циклу

Доречне використання циклів робить програмний код лаконічним та ефективним.

Для того щоб описати повторення визначену кількість разів, використовують оператор циклу з параметром.

У мові програмування Python цикл із параметром описується оператором for... (мал. 12.3).

Синтаксис циклу for

Цикл for(із параметром) повторює блок команд (тіло циклу) задану кількість разів.

Зверни увагу!

Цикл for зручно використовувати, якщо відома кількість повторень. 

Синтаксис, або правила запису циклу for, має такий вигляд: 

Важливо дотримуватись правил синтаксичного оформлення циклів у Python, тобто рядок з командою for завершується двокрапкою, а команди тіла циклу записуються з відступом. 

Як можна задавати діапазон значень лічильника циклу?

Послідовність значень можна задати в такі способи:

І. З використанням вбудованої функції range (start, stop, step):

for х in range(start, stop, step):

   <тіло циклу>

де х — параметр (або лічильник) циклу;

     in — ключове слово, що наказує Python почергово надати змінній x усі значення в діапазоні від start до stop–1 із кроком step;

     range(n) — функція, що визначає, скільки разів буде повторено виконання операторів тіла циклу.

Зверни увагу!

Якщо start = 0 або step = 1, ці параметри можна не вказувати. Якщо потрібно вести відлік у зворотному порядку, step має бути від’ємним. 

Цикл for... виконується за такими алгоритмом:

1. Параметру циклу i присвоюється початкове значення.

2. Якщо значення параметра циклу більше, ніж його кінцеве

значення, то цикл завершується. Інакше виконується п. 3.

3. Виконується команда.

4. Значення параметра циклу i змінюється на відповідне наступне

значення, і здійснюється перехід до п 2. і т.д.

Для визначення діапазону значень параметра у програмах мовою програмування Python можна скористатись функцією range (табл.12.3).

Приклади використання команд керування повторень подано в таблиці 12.3.

Працюємо гуртом

Задача 1. Надрукувати числа від 1 до 10 

for chyslo in range(1,11):

    print(chyslo)

Результатом виконання цієї програми буде стовпчик чисел: 

Задача 2. Надрукувати числа від 1 до 20 в рядок

for i in range(1,21):

    print(i, end=' ')

print("\n proba")

Записи подібних операцій 

Досить часто в межах циклу потрібно виконувати підрахунок, накопичуючи суми чи інші числові значення. Для цього потрібно визначити змінну, в котрій будуть зберігатись результати таких розрахунків перед циклом і надати їй певного початкового значення. Якщо це не зробити, то виникне помилка типу NameError: name is not defined.

Змінення значення змінної передбачає виконання математичних операцій та збереження нового значення у цій же змінній. Python передбачає два різновиди запису подібних операцій.

Задача 3 https://replit.com/ 

Програма _варіант 1

a=1

print(a,"ряд-",a,"пакунки")

a=a+1

print(a,"ряд-",a,"пакунки")

a=a+1

print(a,"ряд-",a,"пакунки")

a=a+1

print(a,"ряд-",a,"пакунки")

a=a+1

print(a,"ряд-",a,"пакунки")


Програма _варіант 2

for a in range(1,6):

    print(a,"ряд-",a,"пакунки")

Програма _варіант 3

s=0

for a in range(1,6):

    s=s+a

print("У",a,"рядах",s,"пакунки")

Задача 4 https://replit.com/ 

Скористатися вмінням мови програмування Python умножати текст на число 

Програма

n=int(input("введи скільки поличок="))

for a in range(1,n+1):

   print("@"*a)


Задача 5 https://replit.com/ 

Знайти суму чисел від 1 до 20 

s=0

for i in range(1,21):

    s=s+i

print(s)

Задача 6 https://replit.com/ 

Спортсмен розпочав тренування, пробігаючи 10 км в день. Щодня він збільшував норму на 10% від пробігу попереднього дня. Який шлях пробіжить спортсмен за 10 днів?

a=10

s=0

for i in range(1,11):

    print("у день",i,"спортсмен пробіг",round(a,2))

    s=s+a

    a=a+0.1*a

print("Всього спортсмен пробіг",round(s,2))

Практичні завдання

Практичне завдання до уроку №21.pdf

Читати підручник