Розгалужені та циклічні програми План Неповне і повне
































38472-leciya_2_umov.oper.,case,cikli.ppt
- Количество слайдов: 32
Розгалужені та циклічні програми
План Неповне і повне розгалуження. Прості і складені команди. Діапазонний (інтервальний) тип даних. Оператор вибору case. Цикл з параметром (for). Цикл з передумовою (while-do). Цикл з післяумовою (repeat-until).
Неповне розгалуження реалізується за допомогою команди if (якщо), а саме: if <логічний вираз> then <команда 1>; Дія команди: якщо логічний вираз істинний, то виконується команда 1, інакше (якщо він хибний), то буде виконуватися команда, яка знаходиться за даною конструкцією.
Блок-схема неповного розгалуження
Команда повного розгалуження if <логічний вираз> then <команда 1> else <команда 2>; Дія команди: якщо логічний вираз істинний, то виконується команда 1, якщо логічний вираз хибний – то команда 2. Зауваження 1: перед словом else не ставиться крапка з комою. Зауваження 2: команди 1 і 2 можуть бути простими або складеними.
Блок-схема повного розгалуження команда 2
Прості (лінійні) програми складаються з: команд присвоєння; команд введення-виведення даних; викликів процедур.
Складена команда Це конструкція, в якій декілька команд об’єднано в одну за допомогою службових слів begin та end (їх ще називають операторними дужками). begin <команда 1>; <команда 2>; ..……………. <команда n> end; Зауваження: запис begin end або ; ; називається порожньою командою.
Загальний вигляд діапазону: <перше значення>.. <останнє значення>; Наприклад: діапазон 6..9 містить числа 6, 7, 8, 9; діапазон ‘a’..’d’ містить символи ‘a’, ‘b’, ‘c’, ‘d’.
Оголошення діапазонного типу Діапазонні змінні можна оголошувати у розділі var, не використовуючи типів char, integer, byte. Наприклад, var n, k: 1..9; s: ‘a’..’c’; Vik: 5..100;
Наприклад, записати дані у вигляді діапазону 2, 3, 4, 5, 6; 121, 122, 123, 124; ‘c’, ‘d’, ‘e’, ‘f’, ‘g’; 2..6; 121..124; ‘c’..’g’.
Загальний вигляд команди вибору case <вираз > of <діапазон (список) значень 1>:<команда 1>; < діапазон (список) значень 2>:< команда 2>; ……................................................................. < діапазон (список) значень n>:< команда n> else <команда (n+1)> end;
Вираз – це проста змінна цілого, символьного або логічного типу, але не дійсного типу і не типу string. Діапазон (список) значень – сталі або діапазони, тип яких збігається з типом виразу. Якщо діапазон (інтервал) значень складається з декількох елементів, то вони перераховуються через кому.
Складова частина else <команда (n+1)> може бути відсутня – тоді матимемо коротку форму команди вибору case.
Дія команди: Якщо значення виразу збігається зі значенням з найближчого списку, то виконується відповідна команда, що записана після двокрапки, і на цьому виконання команди case закінчується. Якщо ні, то виконується команда після слова else.
Наприклад
Цикл це процес виконання певного набору команд деяку кількість разів.
Реалізація циклів Цикли реалізуються з допомогою алгоритмічних конструкцій 3-х видів: цикл з параметром “для” (for); цикл з передумовою “поки-виконуй” (while); цикл з післяумовою “повторюй-до” (repeat).
Різновиди команди циклу з параметром (for) for <параметр цикла>:=<вираз1> to <вираз2> do <команда1>; Параметр – це змінна цілого, символьного, логічного або перерахованого типу. Вирази 1,2 задають початкове та кінцеве значення параметра.
Нехай s=0. Після виконання команди циклу for i:=4 to 6 do s:=s+i змінна s набуде значення 0+4+5+6=15. Наприклад
Різновиди команди циклу з параметром (for) for <параметр цикла>:=<вираз1> downto <вираз2> do <команда1>; Ця команда діє як попередня. Але крок зміни параметра є -1.
Наприклад Нехай s=0. Після виконання команди циклу for i:=6 downto 4 do s:=s+i змінна s набуде значення 0+6+5+4=15.
Зауваження: Значення параметра в середині циклу змінювати не можна. Якщо вираз1= вираз2, то цикл виконується один раз. Якщо вираз1> вираз2, то цикл не виконується жодного разу. Крок зміни параметра циклу у мові Паскаль може бути тільки 1 (-1). Збільшення на 1 значення параметра відбувається автоматично.
Блок-схема циклу for
Приклади застосування циклу for побудова таблиць; обчислення значень елементів послідовності; пошук елементів за певною ознакою тощо.
Цикл з передумовою Цикл while (доки ) використовують, якщо значення зміни параметра циклу є інше, ніж одиниця або якщо кількість елементів (доданків) в програмі наперед не відома. Для цього циклу потрібно знати умову продовження виконання обчислень у циклі. Тому його називають циклом з передумовою.
Команда while має вигляд while <логічний вираз> do <команда>;
Блок-схема циклу while-do
Висновок Зазначена в тілі циклу команда виконується нуль, один чи декілька (часто заздалегідь невідому кількість) разів, доки логічний вираз істинний.
Цикл з післяумовою (repeat-until) Команда repeat-until (повторюй... до) має вигляд: repeat <команди> until <логічний вираз>; Дія команди: команди виконуються в циклі до тих пір, доки значення логічного виразу не стане істинним. Істинний логічний вираз задає умову виходу х циклу.
Блок-схема циклу repeat-until
Зауваження На відміну від циклу з передумовою (while-do), тіло цикла repeat-until виконується принаймні один раз. На відміну від циклу з передумовою (while-do), вихід із циклу repeat-until здійснюється за “плюсом”. Під час використання циклу з післяумовою можна не використовувати операторні дужки. Їхню роль відіграють слова repeat і until .

