Тема 37(8): Цикл з передумовою

План вивчення теми:

Д/з: опрацювати:

У циклах з умовою кількість виконання інструкцій тіла циклу заздалегідь невідома: вона завершується після досягнення певної умови.

У мові Python цикли з передумовою реалізуються оператором while, який має таку структуру:

<початкове значення>

while <умова>:

<блок інструкцій тіла циклу>

<зміна початкового значення>

Тут <умова> — це вираз, який має значення True або False.


Порядок виконання циклу з передумовою:

#Код-шаблон

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)

Увага!   Під час роботи з комп'ютером дотримуйтеся вимог БДЖ та санітарно-гігієнічних норм.

Посилання на On-line-середовищe Python https://repl.it

Приклад 1

Скільки потрібно взяти доданків, перший з яких дорівнює заданому цілому числу, а кожний наступний на 3 більший від попереднього, щоб їхня сума перевищила 100?

Математична модель:

Вхідні дані

Кінцеві результати

Формули

З трьох вхідних даних одне потрібно вводити (а), а два інші – конкретні числа. У задачі має бути один кінцевий результат, який потрібно виводити.

Програмний код проєкту розв'язку задачі:

from tkinter import*


#підпрограма (процедура) для опрацювання даних

def click():

    label['text']=""

    a=int(entry.get())

    s=0

    n=0

    while s<=100:

        s=s+a

        n=n+1

a=a+3

    label['text']=str(n)


#створення вікна програми розміром 300на150 пікселів

root=Tk()

root.geometry("300x150")


#створення та налаштування поля для введення вхідних даних

entry=Entry()

entry.pack(pady=10)


#створення та налаштування напису №1 для виведення результату

label=Label()

label.pack(pady=10)


#створення та налаштування кнопки №1 для запуску процедури

b1=Button(text='Виконати', command=click)

b1.pack(pady=10)

Зверніть увагу, що y це змінна що позначає швидкість ГАЛЬМУВАННЯ, тому значення цієї змінної ЗБІЛЬШУЄТЬСЯ.

Зразок процедури виконання математичної моделі задачі

Завдання:

Допишіть програмний код проекту, доповнивши математичну модель елементами керування

Завдання для самостійного виконання (Д/З)



7kl_ur28_python_pr.docx