
Лецiя_2_умов.опер.,case,цикли.ppt
- Количество слайдов: 32
Розгалужені та циклічні програми
План 1. 2. 3. 4. 5. 6. 7. Неповне і повне розгалуження. Прості і складені команди. Діапазонний (інтервальний) тип даних. Оператор вибору case. Цикл з параметром (for). Цикл з передумовою (while-do). Цикл з післяумовою (repeat-until).
Неповне розгалуження реалізується за допомогою команди if (якщо), а саме: if <логічний вираз> then <команда 1>; Дія команди: якщо логічний вираз істинний, то виконується команда 1, інакше (якщо він хибний), то буде виконуватися команда, яка знаходиться за даною конструкцією.
Блок-схема неповного розгалуження Логічний вираз команда 1
Команда повного розгалуження if <логічний вираз> then <команда 1> else <команда 2>; Дія команди: якщо логічний вираз істинний, то виконується команда 1, якщо логічний вираз хибний – то команда 2. Зауваження 1: перед словом else не ставиться крапка з комою. Зауваження 2: команди 1 і 2 можуть бути простими або складеними.
Блок-схема повного розгалуження Логічний вираз команда 1 команда 2
Прості (лінійні) програми складаються з: n n n команд присвоєння; команд введення-виведення даних; викликів процедур.
Складена команда Це конструкція, в якій декілька команд об’єднано в одну за допомогою службових слів 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 ); n цикл з передумовою “поки-виконуй” (while; ) n цикл з післяумовою “повторюй-до” (repeat ). n
Різновиди команди циклу з параметром (for ) 1. 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) 2. for<параметр цикла>: =<вираз 1> downto <вираз 2> do <команда 1>; Ця команда діє як попередня. Але крок зміни параметра є -1.
Наприклад Нехай s=0. Після виконання команди циклу fori: =6 downto do 4 s: =s+i змінна s набуде значення 0+6+5+4=15.
Зауваження: n n n Значення параметра в середині циклу змінювати не можна. Якщо вираз 1= вираз 2, то цикл виконується один раз. Якщо вираз 1> вираз 2, то цикл не виконується жодного разу. Крок зміни параметра циклу у мові Паскаль може бути тільки 1 (-1). Збільшення на 1 значення параметра відбувається автоматично.
Блок-схема циклу for Параметр циклу : = вираз 1, вираз 2 команда 1 або серія команд
Приклади застосування циклу for n n n побудова таблиць; обчислення значень елементів послідовності; пошук елементів за певною ознакою тощо.
Цикл з передумовою Цикл while (доки ) використовують, якщо значення зміни параметра циклу є інше, ніж одиниця або якщо кількість елементів (доданків) в програмі наперед не відома. Для цього циклу потрібно знати умову продовження виконання обчислень у циклі. Тому його називають циклом з передумовою.
Команда while має вигляд while <логічний вираз> do<команда>;
Блок-схема циклу while-do Логічний вираз так команда або серія команд ні
Висновок Зазначена в тілі циклу команда виконується нуль, один чи декілька (часто заздалегідь невідому кількість) разів, доки логічний вираз істинний.
Цикл з післяумовою (repeat-until) Команда repeat-until (повторюй. . . до) має вигляд: repeat <команди> until<логічний вираз>; Дія команди: команди виконуються в циклі до тих пір, доки значення логічного виразу не стане істинним. Істинний логічний вираз задає умову виходу х циклу.
Блок-схема циклу repeat-until Команда або серія команд ні Логічний вираз так
Зауваження 1. 2. 3. На відміну від циклу з передумовою (while ), тіло -do цикла repeat-until виконується принаймні один раз. На відміну від циклу з передумовою (while ), вихід із -do циклу repeat-until здійснюється за “плюсом”. Під час використання циклу з післяумовою можна не використовувати операторні дужки. Їхню роль відіграють слова repeatі until.