- •Основи програмування та алгоритмічні мови Програмування мовою borland Pаscаl v7.0 для пеом Процедурне та модульне програмування
- •2.2.1. Теоретичні відомості
- •1. Основи алгоритмізації та програмування
- •1.1. Послідовність рішення задачі з допомогою еом
- •1.2.Середовище turbo Pаscаl
- •1.3.Типи даних turbo Pаscаl
- •1.4.Основні поняття мови програмування turbo Pаscаl
- •1.4.1.Синтаксис мови Програмування turbo Pаscаl
- •1.4.2. Основні дії в мові програмування
- •1.4.3. Умовні оператори
- •1.4.4. Методи організації циклів
- •1.4.5. Оператор вибору
- •1.4.6. Масиви.
- •1.4.7. Робота з рядками, масиви символів
- •1.4.8. Робота з типом string
- •1.4.9. Тестові завдання
- •1.4.10. Варіанти завдань для самостійного розгляду
- •2. Програмування в мові Pascal
- •2.1 Процедурний підхід до програмування
- •2.1.1 Теоретичні відомості
- •2.1.2.Приклад програми
- •2.1.3. Варіанти завдань для лабораторної роботи
- •2.2. Записи з фіксованою частиною
- •2.2.1. Теоретичні відомості
- •2.2.2. Приклад програми
- •2.2.3. Варіанти завдань для лабораторної роботи
- •2.3. Записи з варіантами
- •2.3.1. Теоретичні відомості
- •2.3.2. Приклад програми
- •2.3.3. Варіанти завдань для лабораторної роботи
- •2.4. Типізовані файли
- •2.4.1. Теоретичні відомості
- •2.4.2. Приклад програми
- •2.4.3. Варіанти завдань лабораторної роботи
- •2.5. Текстові файли
- •2.5.1. Теоретичні відомості
- •2.5.2. Приклад програми
- •2.5.3. Варіанти завдань Лабораторної роботи
- •2.6. Множини
- •2.6.1. Теоретичні вказівки
- •2.6.2. Приклад програми
- •Алгоритм
- •2.6.3. Варіанти завдань лабораторної роботи
- •2.7. Черги та стеки
- •27.1. Теоретичні вказівки
- •Алгоритм побудови стека:
- •2.7.2. Приклад програми
- •2.7.3. Варіанти завдань лабораторної роботи
- •2.8. Дерева
- •2.8.1. Теоретичні вказівки
- •2.8.2. Приклад програми
- •2.8.3. Варіанти завдань лабораторної роботи
- •2.9. Графіка
- •2.9.1. Теоретичні вказівки
- •2.9.2 Приклад програми
- •2.9.3 Варіанти завдань
- •2.10.Програмування інтерфейсу користувача. Розробка меню
- •2.10.1. Теоретичні вказівки
- •2.10.2. Приклад програми
- •2.10.3. Варіанти завдань
- •4 Створити меню такої структури: Головне меню
- •3. Основні принципи модульного програмування
- •3.1. Приклад програми
1.4.3. Умовні оператори
Для опису мовою програмування другої базової алгоритмічної структури – розгалуження - використовуються умовні оператори. Це необхідно в випадку коли на процес виконання дії необхідно накласти умову. Оскільки умови в turbo Pаscаl - це операції відношення, що є булевими (логічними) виразами, то умовний оператор в загальному виді записується так:
ЯКЩО логічний вираз ТО оператор 1 ІНАКШЕ оператор 2;
На мові turbo Pаscаl даний оператор записується за допомогою відповідних англійських службових слів IF, THEN, ELSE.
IF логічний вираз THEN
оператор1
ELSE
оператор2;
Порядок виконання дуже простий. Якщо значення "логічного виразу" - істина (TRUE), то виконується "оператор 1", а "оператор 2" - ні. Якщо ж значення "логічного виразу" - ні (FALSE), то, навпаки, виконується "оператор 2", а "оператор 1" ні.
Зверніть увагу на правила запису. Якщо після умовного оператора IF в програмі є ще й інші оператори, то слідом за "оператор 2" обов'язково ставиться крапка з комою. Існує ще і скорочена форма умовного оператора (неповне розгалуження):
IF логічний вираз THEN оператор;
Тут в випадку, коли "логічний вираз" має значення ні (FALSE), то нічого не виконується, а здійснюється перехід до наступного (після умовного) оператора. За правилами мови turbo Pаscаl, після службових слів THEN і ELSE записується по одному оператору. Якщо ж в випадку "то" або "інакше" потрібно виконати декілька операторів, то замість одного оператора треба використовувати складовий оператор, що являє собою ланцюжок будь-яких операторів, обмежених службовими словами BEGIN і END:
begin оператор 1; оператор 2; ...; оператор end;
або краще записати:
begin
оператор 1;
оператор 2;
оператор 3; end;
Слова BEGIN і END прийнято називати "операторними дужками", а окремі оператори усередині складового, як звичайно, відокремлюються один від одного крапкою з комою. Тоді в загальному виді умовний оператор можна записати так:
IF логічні вирази THEN
BEGIN
Оператор 1;
оператор 2; END
ELSE BEGIN
Оператор 1;
Оператор 2; END;
Весь оператор IF із усіма вкладеними складовими операторами вважається одним оператором. Складові оператори можуть містити будь-яку кількість операторів - від одного і більше, в тому числі й інших умовних операторів. Кожний END найкраще записувати під відповідний йому BEGIN. Після першого складового оператора перед словом ELSE крапка з комою не ставиться, тому що транслятор сприйме це як закінчення умовного оператора (скорочена форма), а ELSE - як наступний оператор, що самостійно не використовується (виникає помилка).
Якщо після THEN і ELSE використовуються ще умовні оператори, які можуть мати свої THEN і ELSE, то, щоб не виникло плутанини, найкраще притримуватися східцевої структури і кожний THEN і ELSE писати під своїм IF, або ж взагалі оформляти внутрішній умовний оператор в виді складового, тобто обмежувати словами BEGIN і END.
1.4.4. Методи організації циклів
При розробці програми часто виникає необхідність повторити команду або групу команд багаторазово. Для цього необхідно виконати третю базову алгоритмічну структуру - циклічну. Існують спеціальні конструкції, названі циклами (або командами повторення), що просто вказують, скільки разів потрібно повторити дану команду (групу команд), або доки повторювати ці команди. в turbo Pаscаl існує три види циклів, що починаються службовими словами WHILE (поки), REPEAT (повторювати) і FOR ( для).
Цикл WHILE записується в вигляді:
WHILE логічний вираз DO оператор
або
WHILE логічний вираз DO
BEGIN оператор; ....; оператор
END;
Читається так: ПОКИ "логічний вираз" істинно, ВИКОНАТИ "оператор" (або групу операторів). Група операторів називають тілом циклу. При роботі цього фрагменту пограми спочатку обчислюється значення "логічного виразу". Якщо воно дорівнює TRUE (істина), то виконується тіло циклу після службового слова DO. По закінченнню здійснюється повернення на початок циклу і все повторюється знову, починаючи з обчислення "логічного виразу". Цикл виконується доти, поки значенням "логічного виразу" не стане FALSE (ні). Після цього виконуються оператори, які записані після циклу ( слідом за його тілом). Якщо при початковій перевірці значенням "логічного виразу" відразу опинилося FALSE, то тіло циклу не виконується жодного разу. в тілі циклу необхідно передбачити зміну даних для "логічного виразу", інакше його значення може постійно виявлятися TRUE і цикл буде виконуватися нескінченно (зациклювання).
Цикл REPEAT має вид:
REPEAT
оператор(ы)
UNTIL логічне вираження
Читається так: ПОВТОРЮВАТИ "оператор(и)" ДОТИ, ПОКИ "логічний вираз" не стане (TRUE). Зверніть увагу, що цикл завершується, коли логічний вираз стає TRUE, а не FALSE, як в циклі WHILE. Якщо в тілі циклу використовується декілька операторів, то не обов'язково їх обмежувати словами BEGIN і END в вигляді складового оператора, оскільки слова REPEAT і UNTIL і без того чітко визначають початок і кінець циклу. Так як умова виходу з циклу перевіряється наприкінці, тіло циклу виконується ЗАВЖДИ як мінімум один раз. Якщо "логічний вираз" постійно буде залишатися FALSE, то відбудеться зациклювання. Цикл REPEAT використовується в ситуаціях, коли виконується деяка група операторів, а потім, в залежності від результатів виконаних дій, продовжується робота програми далі, або дана група операторів виконується знову.
Цикл FOR.
У цьому циклі не перевіряється умова закінчення циклу, а цикл виконується задану кількість разів. Тому зациклювання циклу FOR неможливе. Рахунок здійснюється за допомогою спеціального параметра - лічильника. в зв'язку з цим цикл FOR часто називають циклом із параметром. Існує два різновиди цього оператора:
1) FOR ім'я_змінної:=вираз 1 TO вираз 2 DO
оператор
2) FOR ім'я_змінної:= выраз 1 DOWNTO выраз 2 DO
оператор
"Оператор" в тілі циклу обох конструкцій може бути складовим. Змінна, записана після слова FOR і є лічильником циклу. Обидва різновиди читаються так: ДЛЯ лічильника "ім'я_змінної", що змінюється від значення "вираз 1" ДО значення "вираз 2" ВИКОНУВАТИ "оператор". Лічильник і значення виразів в заголовку циклу повинні бути цілого типу. При виконанні оператора FOR змінній-лічильнику присвоюється початкове значення, рівне значенню "виразу 1".Потім виконується тіло циклу. Востаннє цикл виконається, коли значення лічильника стане рівним "виразу 2". Якщо в першому різновиді оператора FOR значення "виразу 1" більше, а в другому різновиді менше, ніж значення "виразу 2", то цикл не виконується жодного разу. Значення лічильника може використовуватися всередині циклу. Як окремий випадок, замість виразів в заголовку циклу можуть бути використані змінні або константи.
ПОПЕРЕДЖЕННЯ. Цикл FOR усе-таки можна зациклити, якщо в тілі циклу змінювати змінну-лічильник так, щоб вона не змогла стати рівною значенню "виразу 2".