Тема 8
Цикли. Цикл з лічильником
Теоретична
частина
Під час виконання
різноманітних завдань часто доводиться повторювати деякі дії декілька раз,
можливо, з невеликими відмінностями. Наприклад, на уроці фізкультури вчитель
пропонує учням зробити 10 присідань чи пробігти 5 кіл по стадіону. В обох
наведених прикладах потрібно повторити певну кількість дій деяку кількість раз.
Інколи кількість повторень невідома, але при цьому задається деяка умова.
Наприклад, робіть підтягування на турніку, поки можете. В першому випадку
відома кількість повторень, а в іншому – ні. Дії, які повторюються називаються циклічними або циклом. В першому наведеному прикладі говорять про цикл з лічильником, а в другому – про цикл з умовою.
Розпочнемо вивчення циклів із циклу з
лічильником. На мові Python він записується так:
for i in range(n):
тіло циклу
Змінна і (параметр циклу, кількість ітерацій, повторень) пробігає значення певного діапазону записаного
у функції range() і для кожного значення
виконується деяка послідовність команд, яка називається тілом циклу. Як видно із запису, тіло циклу знаходиться правіше оператора for.
Розглянемо параметри функції range(). У наведеному записі змінна n задає інтервал від 0 до n-1 включно
(всього n значень). Тобто,
спочатку змінна і набуває значення 0 і для цього значення
виконуються всі команди у циклі. Наступне значення змінної і є
1, потім 2, потім 3 і т.д., поки не
досягне значення n, для якого цикл вже
не виконується. У випадку запуску циклу не з нуля, то вводиться ще один
параметр – початкове значення. Наприклад,
for i in range(3,n):
тіло циклу
Значення змінної і розпочинається
з 3, потім 4, і т.д. і закінчується n-1.
Якщо ввести ще один параметр, то
отримаємо … Спробуйте зрозуміти самостійно.
n=10
for i in range(3,n,2):
print(i, end=’ ’)
Програма виведе результат:
3 5 7 9
Здогадалися? Змінна і змінює
значення з певним кроком, який задається у третьому параметрі. Більш формально
можна сказати так:
Функція range(x,y,d) задає інтервал від х до y-1 включно з
кроком d, тобто x, x+d, x+2d, x+3d, … поки не досягне значення,
рівного y або більше, для яких вона не виконується.
Якщо значення d<0, то повинно
бути x>y. Наприклад, для виведення чисел від 100 до 1 потрібно
записати так:
for i in range(100,0,-1):
print(i, end=’ ’)
Розглянемо кулька прикладів.
Приклад 1.
Дано натуральне
число n.
Знайти n! (добуток
всіх натуральних чисел, що не перевищує n, тобто 1*2*3*…*n).
Вхід
Вихід
6 720
n=int(input())
p=1
for i in
range(1,n+1):
p*=i # те саме, що p=p*i
print(p)
Приклад 2.
У одному рядку дано два
натуральних числа a і b (a<b). Вивести у одному рядку через
пропуск квадрати натуральних чисел від a до b
включно.
Вхід
Вихід
8 11 64 81 100 121
a,b=map(int,input().split())
for i in range(a,b+1):
print(i**2,end=’ ‘)
Практична
частина
Завдання 8.1. Дано
натуральне число n.
Знайдіть суму натуральних чисел від 1 до n.
Вхід
Вихід
10 55
Завдання 8.2. У двох
рядках дано по одному натуральному числу a та b (0<a<b<50). Знайти добуток натуральних чисел
від а до b
включно.
Вхід
Вихід
4 840
7
Завдання 8.3. Дано натуральне число n. Виведіть таблицю
множення для даного числа від 1 до 10 (див. приклад).
Вхід
Вихід
5 5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
5*10=50
Завдання 8.4. У двох
рядках дано по одному натуральному числу a та b (0<a<b<50). Виведіть таблицю квадратів
натуральних чисел від aдо b
включно (див. приклад).
Вхід
Вихід
9 9*9=81
12 10*10=100
11*11=121
12*12=144
Завдання 8.5. У одному
рядку дано два натуральних числа a
та b.
Виведіть в одному рядку через пропуск всі натуральні числа від а до b включно.
Вхід
Вихід
6 10 6 7 8 9 10
Вхід Вихід
10 6 10 9 8 7 6
Завдання 8.6. У одному
рядку дано три натуральних числа a,
b
та с.
Виведіть одному рядку через пропуск квадрати натуральних чисел від a до b з кроком с.
Вхід
Вихід
2 7 2
4 16 36
Вхід
Вихід
10 2 3
100 49 16
Автор видалив цей коментар.
ВідповістиВидалити