SlideShare a Scribd company logo
1 of 5
Тема. Опис умов мовою програмування. Цикл з параметром.
   Мета: визначити поняття циклу; різні види циклів у Pascal; цикл з умовою;
встановити застосування циклів.
   Учитель. Давайте спробуємо на природних явищах і прикладах з
повсякденного життя визначити поняття циклу.
   Якщо вас запитають, що таке цикл, то, напевно, ви, не замислюючись,
відповісте, що це повторюваність чогось.
   І це абсолютно правильно!
   Визначити повторюваність пір року в природі — це цикл, кругообіг води в
природі — це цикл, зміна дня і ночі — це цикл і багато інших процесів у природі
повторюються, утворюючи циклічність.
   Цикли в математиці — це явище, яке дуже часте зустрічається.
   Наприклад, поки натуральні числа менші 10, то їх треба підсумовувати.
   Іншими словами, ми знаходимо суму чисел від 1 до 10.
   У цьому прикладі повторюється додавання натуральних чисел, поки
виконується умова (числа менші за 10).
   Такі цикли називаються циклом з передумовою, оскільки умова
записується перед виконанням повторюваної групи операторів.
   Увага! Цикл у програмуванні — це багаторазово виконувана група
команд.
   Існує кілька різновидів циклів.
   Цикли з параметром використовуються, коли заздалегідь відома кількість
повторень циклу.
   Цикли з умовою використовуються, коли циклічний процес має
закінчитися при виконанні умови. Наприклад: поки йде дощ — я читатиму.
Або так: я читатиму, доки дощ не закінчитися.
   Давайте переформулюемо цей вислів і спробуємо створити цикл. Отже,
виконувана дія — читати сторінку. Коли треба припинити читання? У той
момент, коли припиниться дощ. Інакше кажучи, ми поставили умову —
йде дощ. Поки ця умова ІСТИННА (дощ іде), дія буде виконуватися. А яке
слово говорить про те, що використовувана конструкція — цикл? Це слово
ПОКИ. Тепер залишилося просто перевести в оператори Pascal.


                                              Умова
                                              хибна




                                      1
Конструкція:
                      WHILE        <умова> DO
                      Begin
                        Набір операторів;
                      End.
   На початку роботи циклу перевіряється істинність умови, що входить в
опис оператора. Якщо ця умова ІСТИННА — будуть виконуватися
оператори і після їхнього виконання керування знову передасться оператору
WHILE. Якщо ж у якийсь момент умова стане ХИБНОЮ — виконання
циклу припиниться.
   Приклад 1. Скільки разів виконається цикл:
                      С := 8;
                      While C<13 do
                      WriteLn (С);
   Цей цикл ніколи не закінчиться, оскільки значення змінної С не
буде змінюватися. Для того, щоб цикл припинився, необхідно зап-
рограмувати збільшення зміної С.
   Отже, маємо програму:
                      С:= 8;
                      While С <13 do
                      Begin
                        WriteLn (С);
                      С:= C+1;
                      End;
   Увага! Змінювати змінну можна як завгодно (не тільки на 1).
   Розв'язати усно.
   Приклад 2. Які зміни необхідно внести у вихідну програму для того, щоб
вивести на екран квадрати всіх чисел від Ідо 4 з кроком 0,5?
   Приклад 3. Знайти перше натуральне число, що задовольняє умові:
                      х3-х2 + 3 = 103.
   Спочатку розберемо алгоритм. Яка умова необхідна для виконання
циклу? Треба щось робити, ПОКИ рівність не справджується. Які дії треба
повторювати?
   Оскільки за умовою необхідно знайти перше натуральне число,
перебираємо всі цілі числа, починаючи з 1, з кроком 1. Збільшувати число на
1. Виникає ще питання, з якого числа треба почати? З 1.
   Отже, маємо програму:
                      Program z;
                      Uses Crt;
                      Var С: Integer;
                      Begin
                        ClrScr;
                        C:= 1;
                        while C*C*C - C*C +30 <>103 do
                         Begin
                      C:= С + 1;
                        End;
                      WriteLn(‘C = ‘ , C);
                                     2
End.
     Розглянемо роботу оператора while... do... ще на одному прикладі.
     Приклад 4. Визначити і вивести на екран цифри цілого числа п.
     Розберемо алгоритми задачі на конкретному прикладі.
     Знайдемо цифри числа 4538. Для цього потрібно по одній виділяти цифри,
  а потім їх відкидати. Спершу знайдемо решту від ділення 4538 на 10 за
  допомогою операції (mod):
     4538 mod 10 = 8, одержимо останню цифру числа (вона ж є першої
  праворуч).
     Видаємо повідомлення: «1-ша цифра праворуч дорівнює 8 ».
  Після цього виконаємо цілочисельне ділення заданого числа 4538 на 10,
  одержимо 453 (остання цифра відкидається):
                                 4538 div 10 = 453.
                                 Далі процес повторюємо:
                       2-й раз;  453 mod 10 = 3
                                2-га цифра праворуч дорівнює З,
                                453 div 10 = 45,
                       3-й раз;  45 mod 10 = 5,
                                3-тя цифра праворуч дорівнює 5,
                                45 div 10 = 4,
                       4-й раз;  4 mod 10 = 4,
                                4-та цифра праворуч дорівнює 4,
                                4 div 10 = 0.
   Увага! Процес триватиме, поки число п не дорівнюватиме нулю. Як тільки
воно стане нульовим, цикл закінчується.
   У програмі ще треба вказувати, яка за рахунком цифра в числі праворуч. Для
цього пропонуємо ввести ще одну змінну — лічильник. Ця змінна щоциклу має
збільшуватися на 1.
Отже, маємо програму:
Program Probleml; {Визначення і виведення на екран цифр числа} uses
WinCrt; var n, p, і: word;
begin
   write ('Уведіть натуральне число n <= 65535');
   readln(n);
   if n = 0 then writeln ('Число дорівнює О ' ) ;
   і := 1;
    while n <> 0 do
      begin
         p := n mod 10; writeln (i, ‘- я цифра праворуч дорівнює ', p);
         n := n div 10;
         і := і +1
      end;
end.

                          Побудова програми та її робота
                                  У розділі описів
  Змінна п для зберігання даного цілого числа, р — для зберігання виділених цифр
числа, і — лічильник кількості цифр.
                                       3
У розділі операторів
   Оператором write на екран виводиться запит для користувача про введення цілого
числа. Оператор readln слугує для введення значення з клавіатури та присвоєння
його змінній п.
   Командою розгалуження if перевіряється, чи не введено 0, про що видається
відповідне повідомлення. Адже при п = 0 наступний фрагмент програми (цикл
while) не працюватиме.
   Лічильнику надається початкове значення 1 (адже найкоротше число має хоча б одну
цифру).
   В операторі while записується умова (поки п не дорівнює 0), за якої цикл буде
виконуватися.
Оскільки в циклі кілька операторів, то використовуються операторні дужки
                                      begin... end.
   У них записані оператори:
              р:= n mod 10; - визначається остання цифра;
              writeln( і , ' - я цифра праворуч дорівнює  р) ; — виводиться на
екран порядковий номер цифри при рахунку справа наліво і сама ця цифра;
              n := n div 10; —від числа «відкидається» остання цифра;
              і := s і + 1; — лічильник збільшується на 1 (кількість цифр на
наступному кроці більше на 1).
                                     Задачі на урок
                                     Середній рівень
   Введіть цю програму і виконайте. Опишіть отриманий результат.
                                 Достатній та високий рівні
                                На самостійне опрацювання.

          1. Вивести на екран усі парні числа від 3 до 35
              Блок-схема                   Програма




         2. Визначити перше ціле число після 145, що
         ділиться націло поділяється на 1 3 і 23
             Блок-схема                   Програма




                                   Домашнє завдання:

         1 . Накреслити по 2 варіанти блок-схем для всіх
         задач з поточного уроку


                                             4
Блок-схема                Програма




 2. Вивести на екран значення функції
                 y=x*x+3*sqrt(x),
якщо х змінюється від 4,2 до 7 із кроком 0,4.
(Функція Sqrt(x) обчислює квадратний корінь з х).

    Блок-схема                    Програма




1 . Вивести всі парні числа з проміжку
(100; 300)
    Блок-схема                 Програма




4. Складіть програму, що обчислює суму цифр заданого числа.




                              5

More Related Content

What's hot

Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpom
metallurg056
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
Helen Pata
 
урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуження
Helen Pata
 
урок 15 умова паскаль
урок 15 умова паскальурок 15 умова паскаль
урок 15 умова паскаль
Helen Pat
 

What's hot (19)

базовI структури алгоритму урок 4
базовI структури алгоритму урок 4базовI структури алгоритму урок 4
базовI структури алгоритму урок 4
 
Operator cikly z napametpom
Operator cikly z napametpomOperator cikly z napametpom
Operator cikly z napametpom
 
Lr7
Lr7Lr7
Lr7
 
урок 12 вирази мова Паскаль
урок 12 вирази  мова Паскальурок 12 вирази  мова Паскаль
урок 12 вирази мова Паскаль
 
Povtor 7 8kl
Povtor 7 8klPovtor 7 8kl
Povtor 7 8kl
 
урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуження
 
Pascal osnovu
Pascal osnovuPascal osnovu
Pascal osnovu
 
урок 15 умова паскаль
урок 15 умова паскальурок 15 умова паскаль
урок 15 умова паскаль
 
Цикли
ЦиклиЦикли
Цикли
 
Основи мови Ci
Основи мови CiОснови мови Ci
Основи мови Ci
 
4
44
4
 
Уроки 31-38 (лінійне пр) - вправи
Уроки 31-38 (лінійне пр) -  вправиУроки 31-38 (лінійне пр) -  вправи
Уроки 31-38 (лінійне пр) - вправи
 
Уроки 39-41 (розгалуження) - вправи
Уроки 39-41 (розгалуження) -  вправиУроки 39-41 (розгалуження) -  вправи
Уроки 39-41 (розгалуження) - вправи
 
3018 1
3018 13018 1
3018 1
 
Паскаль
ПаскальПаскаль
Паскаль
 
Уроки 42-45 (цикли) - вправи
Уроки 42-45 (цикли) -  вправиУроки 42-45 (цикли) -  вправи
Уроки 42-45 (цикли) - вправи
 
Lr7
Lr7Lr7
Lr7
 
Pascal основи програмування частина 1
Pascal основи програмування частина 1Pascal основи програмування частина 1
Pascal основи програмування частина 1
 
Урок 54 8 клас
Урок 54 8 класУрок 54 8 клас
Урок 54 8 клас
 

Viewers also liked (9)

LIS 560 Ditigal Na(t)ives
LIS 560 Ditigal Na(t)ivesLIS 560 Ditigal Na(t)ives
LIS 560 Ditigal Na(t)ives
 
LIS 530 Ravelry.com as an Information System
LIS 530 Ravelry.com as an Information SystemLIS 530 Ravelry.com as an Information System
LIS 530 Ravelry.com as an Information System
 
Audioproject
AudioprojectAudioproject
Audioproject
 
Proekt
ProektProekt
Proekt
 
Konspekt uroku
Konspekt urokuKonspekt uroku
Konspekt uroku
 
Use of slide share service of web 2
Use of slide share service of web 2Use of slide share service of web 2
Use of slide share service of web 2
 
Use of slide share service of web 2
Use of slide share service of web 2Use of slide share service of web 2
Use of slide share service of web 2
 
India Presentation By Times of India
India Presentation By  Times of IndiaIndia Presentation By  Times of India
India Presentation By Times of India
 
Use of slide share service of web 2
Use of slide share service of web 2Use of slide share service of web 2
Use of slide share service of web 2
 

Similar to Konspekt uroku

Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1
rznz
 
програмування мовою паскаль функції
програмування мовою паскаль функціїпрограмування мовою паскаль функції
програмування мовою паскаль функції
Olga Lyulchik
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
Ann Eres
 
Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907
PavloTsiura
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
1cana1
 
розгалуження в циклі
розгалуження в циклірозгалуження в циклі
розгалуження в циклі
Olena Dmytruk
 
Учень, як вчений
Учень, як вченийУчень, як вчений
Учень, як вчений
Cveldulf
 
лабораторна робота 5 вправа 14 калькулятор auto cad
лабораторна робота 5 вправа 14 калькулятор auto cadлабораторна робота 5 вправа 14 калькулятор auto cad
лабораторна робота 5 вправа 14 калькулятор auto cad
Cit Cit
 

Similar to Konspekt uroku (20)

Lesson # 44. repetition algorithms for processing quantities. loop with condi...
Lesson # 44. repetition algorithms for processing quantities. loop with condi...Lesson # 44. repetition algorithms for processing quantities. loop with condi...
Lesson # 44. repetition algorithms for processing quantities. loop with condi...
 
While
WhileWhile
While
 
war8klasdist4.pptx
war8klasdist4.pptxwar8klasdist4.pptx
war8klasdist4.pptx
 
Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1
 
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником Урок 42. Алгоритми з повтореннями  для опрацювання величин.  Цикл з лічильником
Урок 42. Алгоритми з повтореннями для опрацювання величин. Цикл з лічильником
 
Урок 55 8 клас
Урок 55 8 класУрок 55 8 клас
Урок 55 8 клас
 
Урок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовоюУрок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовою
 
програмування мовою паскаль функції
програмування мовою паскаль функціїпрограмування мовою паскаль функції
програмування мовою паскаль функції
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
 
Базові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмівБазові алгоритмічні структури. Типи алгоритмів
Базові алгоритмічні структури. Типи алгоритмів
 
Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907
 
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинУрок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величин
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
 
Базові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмівБазові структури алгоритмів. Конструювання алгоритмів
Базові структури алгоритмів. Конструювання алгоритмів
 
розгалуження в циклі
розгалуження в циклірозгалуження в циклі
розгалуження в циклі
 
Учень, як вчений
Учень, як вченийУчень, як вчений
Учень, як вчений
 
Div mod for
Div mod forDiv mod for
Div mod for
 
8 20
8 208 20
8 20
 
лабораторна робота 5 вправа 14 калькулятор auto cad
лабораторна робота 5 вправа 14 калькулятор auto cadлабораторна робота 5 вправа 14 калькулятор auto cad
лабораторна робота 5 вправа 14 калькулятор auto cad
 
для
длядля
для
 

Recently uploaded

аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
JurgenstiX
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
JurgenstiX
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
OlgaDidenko6
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ssuser59e649
 

Recently uploaded (19)

Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdfЗастосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
Застосування Гайду безбар’єрності в роботі закладів культури громад Одещини.pdf
 
Defectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptxDefectolog_presentation_for_website.pptx
Defectolog_presentation_for_website.pptx
 
Бомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентаціяБомбочки для ванни своїми руками презентація
Бомбочки для ванни своїми руками презентація
 
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості  та дозвілля для дітейpptxБібліотека – розвиток дитячої творчості  та дозвілля для дітейpptx
Бібліотека – розвиток дитячої творчості та дозвілля для дітейpptx
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
аналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.pptаналептики та антидепресанти.шгшгпшгп.ppt
аналептики та антидепресанти.шгшгпшгп.ppt
 
Горбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptxГорбонос 2024_presentation_for_website.pptx
Горбонос 2024_presentation_for_website.pptx
 
матеріал для 10 класу урок історія України
матеріал для 10 класу урок історія Україниматеріал для 10 класу урок історія України
матеріал для 10 класу урок історія України
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdfатестація 2023-2024 Kewmrbq wtynh GNJ.pdf
атестація 2023-2024 Kewmrbq wtynh GNJ.pdf
 
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptxоцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
оцінювання дітей з особливими освітніми потребами у ЗЗСО.pptx
 
Іваніщук Надія Вікторівна атестація .pdf
Іваніщук Надія Вікторівна атестація  .pdfІваніщук Надія Вікторівна атестація  .pdf
Іваніщук Надія Вікторівна атестація .pdf
 
Супрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptxСупрун презентація_presentation_for_website.pptx
Супрун презентація_presentation_for_website.pptx
 
psychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.pptpsychologistpresentation-230215175859-50bdd6ed.ppt
psychologistpresentation-230215175859-50bdd6ed.ppt
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Презентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptxПрезентациія для сайта Група «Незабудка».pptx
Презентациія для сайта Група «Незабудка».pptx
 
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.pptЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
ЛЕКЦІЯ Засоби масової інформації –важливий інструмент ПР.ppt
 
Проблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішенняПроблеми захисту лісу в Україні та шляхи вирішення
Проблеми захисту лісу в Україні та шляхи вирішення
 

Konspekt uroku

  • 1. Тема. Опис умов мовою програмування. Цикл з параметром. Мета: визначити поняття циклу; різні види циклів у Pascal; цикл з умовою; встановити застосування циклів. Учитель. Давайте спробуємо на природних явищах і прикладах з повсякденного життя визначити поняття циклу. Якщо вас запитають, що таке цикл, то, напевно, ви, не замислюючись, відповісте, що це повторюваність чогось. І це абсолютно правильно! Визначити повторюваність пір року в природі — це цикл, кругообіг води в природі — це цикл, зміна дня і ночі — це цикл і багато інших процесів у природі повторюються, утворюючи циклічність. Цикли в математиці — це явище, яке дуже часте зустрічається. Наприклад, поки натуральні числа менші 10, то їх треба підсумовувати. Іншими словами, ми знаходимо суму чисел від 1 до 10. У цьому прикладі повторюється додавання натуральних чисел, поки виконується умова (числа менші за 10). Такі цикли називаються циклом з передумовою, оскільки умова записується перед виконанням повторюваної групи операторів. Увага! Цикл у програмуванні — це багаторазово виконувана група команд. Існує кілька різновидів циклів. Цикли з параметром використовуються, коли заздалегідь відома кількість повторень циклу. Цикли з умовою використовуються, коли циклічний процес має закінчитися при виконанні умови. Наприклад: поки йде дощ — я читатиму. Або так: я читатиму, доки дощ не закінчитися. Давайте переформулюемо цей вислів і спробуємо створити цикл. Отже, виконувана дія — читати сторінку. Коли треба припинити читання? У той момент, коли припиниться дощ. Інакше кажучи, ми поставили умову — йде дощ. Поки ця умова ІСТИННА (дощ іде), дія буде виконуватися. А яке слово говорить про те, що використовувана конструкція — цикл? Це слово ПОКИ. Тепер залишилося просто перевести в оператори Pascal. Умова хибна 1
  • 2. Конструкція: WHILE <умова> DO Begin Набір операторів; End. На початку роботи циклу перевіряється істинність умови, що входить в опис оператора. Якщо ця умова ІСТИННА — будуть виконуватися оператори і після їхнього виконання керування знову передасться оператору WHILE. Якщо ж у якийсь момент умова стане ХИБНОЮ — виконання циклу припиниться. Приклад 1. Скільки разів виконається цикл: С := 8; While C<13 do WriteLn (С); Цей цикл ніколи не закінчиться, оскільки значення змінної С не буде змінюватися. Для того, щоб цикл припинився, необхідно зап- рограмувати збільшення зміної С. Отже, маємо програму: С:= 8; While С <13 do Begin WriteLn (С); С:= C+1; End; Увага! Змінювати змінну можна як завгодно (не тільки на 1). Розв'язати усно. Приклад 2. Які зміни необхідно внести у вихідну програму для того, щоб вивести на екран квадрати всіх чисел від Ідо 4 з кроком 0,5? Приклад 3. Знайти перше натуральне число, що задовольняє умові: х3-х2 + 3 = 103. Спочатку розберемо алгоритм. Яка умова необхідна для виконання циклу? Треба щось робити, ПОКИ рівність не справджується. Які дії треба повторювати? Оскільки за умовою необхідно знайти перше натуральне число, перебираємо всі цілі числа, починаючи з 1, з кроком 1. Збільшувати число на 1. Виникає ще питання, з якого числа треба почати? З 1. Отже, маємо програму: Program z; Uses Crt; Var С: Integer; Begin ClrScr; C:= 1; while C*C*C - C*C +30 <>103 do Begin C:= С + 1; End; WriteLn(‘C = ‘ , C); 2
  • 3. End. Розглянемо роботу оператора while... do... ще на одному прикладі. Приклад 4. Визначити і вивести на екран цифри цілого числа п. Розберемо алгоритми задачі на конкретному прикладі. Знайдемо цифри числа 4538. Для цього потрібно по одній виділяти цифри, а потім їх відкидати. Спершу знайдемо решту від ділення 4538 на 10 за допомогою операції (mod): 4538 mod 10 = 8, одержимо останню цифру числа (вона ж є першої праворуч). Видаємо повідомлення: «1-ша цифра праворуч дорівнює 8 ». Після цього виконаємо цілочисельне ділення заданого числа 4538 на 10, одержимо 453 (остання цифра відкидається): 4538 div 10 = 453. Далі процес повторюємо: 2-й раз; 453 mod 10 = 3 2-га цифра праворуч дорівнює З, 453 div 10 = 45, 3-й раз; 45 mod 10 = 5, 3-тя цифра праворуч дорівнює 5, 45 div 10 = 4, 4-й раз; 4 mod 10 = 4, 4-та цифра праворуч дорівнює 4, 4 div 10 = 0. Увага! Процес триватиме, поки число п не дорівнюватиме нулю. Як тільки воно стане нульовим, цикл закінчується. У програмі ще треба вказувати, яка за рахунком цифра в числі праворуч. Для цього пропонуємо ввести ще одну змінну — лічильник. Ця змінна щоциклу має збільшуватися на 1. Отже, маємо програму: Program Probleml; {Визначення і виведення на екран цифр числа} uses WinCrt; var n, p, і: word; begin write ('Уведіть натуральне число n <= 65535'); readln(n); if n = 0 then writeln ('Число дорівнює О ' ) ; і := 1; while n <> 0 do begin p := n mod 10; writeln (i, ‘- я цифра праворуч дорівнює ', p); n := n div 10; і := і +1 end; end. Побудова програми та її робота У розділі описів Змінна п для зберігання даного цілого числа, р — для зберігання виділених цифр числа, і — лічильник кількості цифр. 3
  • 4. У розділі операторів Оператором write на екран виводиться запит для користувача про введення цілого числа. Оператор readln слугує для введення значення з клавіатури та присвоєння його змінній п. Командою розгалуження if перевіряється, чи не введено 0, про що видається відповідне повідомлення. Адже при п = 0 наступний фрагмент програми (цикл while) не працюватиме. Лічильнику надається початкове значення 1 (адже найкоротше число має хоча б одну цифру). В операторі while записується умова (поки п не дорівнює 0), за якої цикл буде виконуватися. Оскільки в циклі кілька операторів, то використовуються операторні дужки begin... end. У них записані оператори: р:= n mod 10; - визначається остання цифра; writeln( і , ' - я цифра праворуч дорівнює р) ; — виводиться на екран порядковий номер цифри при рахунку справа наліво і сама ця цифра; n := n div 10; —від числа «відкидається» остання цифра; і := s і + 1; — лічильник збільшується на 1 (кількість цифр на наступному кроці більше на 1). Задачі на урок Середній рівень Введіть цю програму і виконайте. Опишіть отриманий результат. Достатній та високий рівні На самостійне опрацювання. 1. Вивести на екран усі парні числа від 3 до 35 Блок-схема Програма 2. Визначити перше ціле число після 145, що ділиться націло поділяється на 1 3 і 23 Блок-схема Програма Домашнє завдання: 1 . Накреслити по 2 варіанти блок-схем для всіх задач з поточного уроку 4
  • 5. Блок-схема Програма 2. Вивести на екран значення функції y=x*x+3*sqrt(x), якщо х змінюється від 4,2 до 7 із кроком 0,4. (Функція Sqrt(x) обчислює квадратний корінь з х). Блок-схема Програма 1 . Вивести всі парні числа з проміжку (100; 300) Блок-схема Програма 4. Складіть програму, що обчислює суму цифр заданого числа. 5