Тема 36(8): Алгоритми з повторенням. Цикл з лічильником.
План вивчення теми:
Прапорці та їх властивості
Використання прапорців
Цикл - це вказівка повторного виконання дій (тіла циклу)
Типи циклів:
Ітераційні (не відома кількість повторень):
з передумовою
з післяумовою
З параметром (відома кількість повторень):
із збільшенням кроку параметра
із зменшенням кроку параметра
Цикл з лічильником (параметром) - це цикл, у якому деяка змінна змінює своє значення від заданого початкового до деякого кінцевого з певним кроком (+1 або -1) і для кожного значення цієї змінної тіло циклу виконується 1 раз.
Цикл з лічильником доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання циклу.
Загальний вигляд команди циклу з лічильником:
for <ім’я змінної> in range(<кількість повторень>):
<команди тіла циклу>
Рядок for <ім’я змінної> in range(<кількість повторень>) (англ. for – для, in range – в діапазоні) називається рядком заголовка команди циклу з лічильником. Змінна в рядку заголовка команди циклу з лічильником називається лічильником циклу.
Функція range(<кількість повторень>) утворює (генерує) набір послідовних цілих чисел, перше з яких 0, а останнє – на 1 менше від заданої кількості повторень (усього чисел стільки, скільки задано кількість повторень).
Виконується команда циклу з лічильником так:
Функція range(<кількість повторень>) генерує набір чисел від 0 до (кількість повторень – 1).
Виконується перевірка, чи є в наборі числа, які ще не використовувалися і могли б стати новим значенням змінної-лічильника циклу.
Якщо результат перевірки True, то змінна-лічильник циклу набуває значення першого з набору чисел, які ще не використовувалися, і після цього виконується дія 4; якщо False, то виконання команди циклу закінчується і далі виконується команда, наступна за командою циклу.
Виконуються команди тіла циклу.
Повторюється виконання дії 2.
Зауваження *
У записі команди циклу з лічильником усі команди тіла циклу повинні бути записані з однаковим відступом від першої літери в слові for.
Загальна структура цієї функції range() така: range ([<початок>,] <кінець> [, <крок> ]) Обов’язковим є лише параметр кінець.
#Код-шаблон
from tkinter import*
#підпрограма (процедура) для опрацювання даних
def click():
#
#
#
#створення вікна програми розміром 300на200 пікселів
root=Tk()
root.geometry("300x250")
#створення та налаштування поля №1 для введення x
e1=Entry()
e1.pack(pady=10)
#створення та налаштування поля №2 для введення y
e2=Entry()
e2.pack(pady=10)
#створення та налаштування напису №1 для виведення z
lab1=Label()
lab1.pack(pady=10)
#створення та налаштування кнопки №1 для запуску процедури
b1=Button(text='Виконати', command=click)
b1.pack(pady=10)
Увага! Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.
Завдання 1. Скласти проєкт для обчислення суми 12+22+32+42
from tkinter import*
def click():
s=0
a=1
for i in range(4):
s=s+(a**2)
a=a+1
lab1['text']=str(s)
root=Tk()
root.geometry("300x250")
lab1=Label()
lab1.pack(pady=10)
b1=Button(text='Виконати', command=click)
b1.pack(pady=10)
Прокоментуйте команди коду по створенню інтерфейсу програми (#)
Завдання 2. Створити проєкт для обчислення добутку п'яти чисел, перше з яких дорівнює 7, а кожне із чотирьох наступних на 3 більше від попереднього.
Фрагмент програми:
def click():
d=1
a=7
for i in range(4):
d=d*a
a=a+3
lab1['text']=str(d)
Завдання 3. Переробіть проект так, щоб виводилася сума цих п'яти чисел
Завдання 4. Створити проєкт для обчислення суми n чисел, перше з яких дорівнює х, а кожне наступне на k менше від попереднього.
Завдання 5. Створити проєкт для обчислення кількості парних чисел від 10 до -6
def click():
k=0
for i in range(10,-6,-2):
k=k+1
lab1['text']=str(k)