Лекция: Лабораторна робота №4
Програмування циклічних алгоритмів (продовження)
Приклад. На проміжку від 1 до M знайти всі числа Армстронга. Натуральне число з n цифр називається числом Армстронга, якщо сума його цифр, зведених у n-ю степінь, дорівнює самому числу.
Етапи рішення задачі:
1. Математична модель:,
2. Складемо блок схему програми:
Опишемо блок «Підраховуємо кількість цифр у числі i»
Опишемо блок «Перевіряємо, чи є i числом Армстронга»
Подальшої деталізації не потрібно, переведемо програму на мову Паскаль.
Program example4; var i,k,s,p,n: Integer; begin Write('Уведіть M '); Readln(m); For i:=1 to M do begin s:=0; k:=i; n:=0; While k<>0 do begin k:=k DIV 10; n:=n+1 end; k:=i; While k<>0 do begin p:=k MOD 10; k:=k DIV 10; If p<>0 then s:=Trunc (s+Exp(n*Ln(p))) end; If s=f then WriteLn (f) end; end.Контрольні питання
1. Як записується і як працює оператор FOR?
2. Для організації яких циклів застосуємо оператор FOR?
3. У чому відмінність оператора WHILE від оператора REPEAT?
4. Як програмуються циклічні алгоритми з явно заданим числом повторень?
5. Як програмуються циклічні алгоритми з заздалегідь невідомим числом повторень?
6. Напишіть оператор циклу, що не виконується жодного разу.
7. Напишіть оператор циклу, що виконується необмежене число разів.
8. Заміните оператор «Repeat A Until B» рівносильним фрагментом програми з оператором While.