Отримання знань
дистанційна підтримка освіти школярів
У вигляді блок-схеми |
Алгоритмічною мовою
|
Мовою Python
|
![]() |
поки умова
пц
тіло циклу
(серія команд)
кц |
while умова :
тіло циклу
(серія команд) |
Приклад
Якого значення набуде змінна x після виконання циклу?
a= 35
b= 8
x= 0
while a>b:
x= x+a
a= a-b
Таблиця виконання
Задача “Mushrooms.py”
![]() |
Дідусь Василь N днів ходив у ліс по гриби. Першого дня він знайшов 11 грибів, другого – 20, третього – 29. Кожного дня кількість знайдених грибів стабільно збільшувалась. Скільки всього грибів зібрав досвідчений грибник? Контрольні приклади 1) N= 3 => sym= 60 2) N= 5 => sym= 145 |
Розв’язання
Введемо змінні:
¤ sym – загальна кількість грибів;
¤ x – кількість грибів, знайдена певного дня;
¤ i – лічильник днів.
Початкове значення загальної кількості грибів sym=0 (ми ще нічого не рахували). У перший день дідусь знайшов 11 грибів, тому x=11.
Відлік днів ведемо, починаючи з 1, тому i=1. Цикл виконуємо, поки лічильник днів i не досягне заданої кількості днів N (i<=N). Щодня сума знайдених грибів sym збільшується на x, тобто sym=sym+x.
Неважко помітити, що 20-11= 29-20= 9, тобто щодня грибник знаходив на 9 грибів більше. Тому щоденна кількість грибів x=x+9.
Програма | Пояснення |
N=input('N=') sym=0 x=11 i=1 while i<=N: sym=sym+x x=x+9 i=i+1 print 'sym=', sym |
Зчитуємо введене значення змінної N Початкова загальна кількість грибів sym дорівнює 0 У перший день зібрано 11 грибів Відлік днів починаємо з 1 поки номер дня i не перевищує N до загальної суми sym додаємо знайдені у цей день гриби x збільшуємо щоденну кількість грибів x на 9 збільшуємо лічильник днів i Виводимо фразу 'sym=' і значення змінної sym |
Задача “Winnie_Pooh.py”
Ведмедик Вінні Пух дуже полюбляє мед і хоче, щоб бджоли збирали його якомога більше. Мудра Сова порадила йому посіяти на галявині квіти фацелії, які є чудовим медоносом. Ведмедик весною посіяв 1 зернину. Влітку рослина зацвіли, а восени Вінні Пух зібрав 5 насінин. Наступного року кожна з 5 посіяних зернин потішила ведмедика пишним цвітом та 7 насінинами врожаю. Тобто восени 2-ого року Вінні Пух мав вже 35 зернин. Скільки насінин матиме любитель меду через N років? |
![]() |
Контрольні приклади
1) N= 2 => k= 35
2) N= 7 => k= 11486475
Розв’язання
Введемо змінні:
¤ i – лічильник років;
¤ m – кількість зернят, які з’явились на кінець року на кожній рослині;
¤ k – загальна кількість насінин, яку в поточному році спочатку посіяв, а потім зібрав Вінні Пух.
Відлік років ведемо з першого, тому i=1. Працюватимемо, поки лічильник років i не перевищить заданої кількості років N (i<=N).
Першого року було посіяно 1 зернятко, тому k=1. На кінець року на рослині з’явилось 5 насінин, тому m=5.
Щоб знайти кількість зернин, отриманих восени, потрібно посаджену кількість рослин k помножити на кількість насінин на кожній із них m, тобто k=k*m (кількість зернин збільшується у m разів).
Неважко помітити, що врожайність рослин щороку зростає на 2 зернини, тому m=m+2.
Програма | Пояснення |
N=input('N=') k=1 m=5 i=1 while i<=N: k=k*m m=m+2 i=i+1 print 'k=', k |
Зчитуємо введене значення змінної N Початкова кількість насінин k дорівнює 1 У перший рік із 1 рослини зібрано 5 зернин Відлік днів починаємо з 1 поки номер дня i не перевищує N збільшуємо початкову кількість насінин k у m разів збільшуємо врожайність рослин на 2 зернини збільшуємо лічильник днів i Виводимо фразу 'k=' і значення змінної k |