
- •Тема 1. Основи алгоритмізації процесів оброблення інформації
- •Алгоритм і його властивості
- •Схеми алгоритмів
- •Графічне зображення різних видів обчислювальних процесів
- •Тема 2. Інстрментальні мови та системи програмування
- •Покоління та класифікація мов програмування
- •Компоненти інструментальних систем
- •Історія розвитку мови програмування Паскаль
- •Інтегрована інструментальна оболонка Турбо Паскаль 7.0
- •Етапи створення програми
- •Тема 3. Мова програмування Турбо Паскаль 7.0
- •Алфавіт мови Турбо Паскаль 7.0
- •Структура Паскаль-програми
- •Система типів даних мови програмування Паскаль
- •Тема 4. Лінійні програми в мові Паскаль
- •Оператор присвоєння
- •Оператор введення
- •Оператор виведення
- •Операції та вирази в мові паскаль
- •Стандартні функції мови Паскаль
- •Тема 5. Умовний оператор в мові паскаль
- •Умовний оператор
- •Оператор варіанту
- •Тема 6. Оператори Циклу в мові паскаль
- •Оператор безумовного переходу
- •Оператор_циклу «з передумовою»
- •Оператори циклу « з післяумовою»
- •Оператор циклу «з параметром»
- •Тема 7. Обробка масивів у Турбо Паскалі
- •Одновимірні масиви
- •Багатовимірні масиви
- •Тема 8. Підпрограми в мові Турбо Паскаль
- •Процедури
- •Функції
- •Тема 8. Стандартні засоби обробки файлів
- •Обробка типізованих файлів
- •Послідовний та прямий доступ до файлу
- •Робота з текстовими файлами
- •Обробка безтипових файлів
- •Тема 9. Робота з рядковими типами даних в середовищі Турбо Паскаль
- •Тема 10. Множини в мові паскаль
- •Тема 11. Записи в мові Паскаль
- •Тема 12. Комп'ютерна графіка
- •ЛАБОРАТОРНИЙ ПРАКТИКУМ
- •Лабораторна робота №1
- •Лабораторна робота №9
- •ДОВІДНИК
- •Типові помилки компіляції та виконання програми
- •Процедури модуля Graph
- •функції модуля Graph
- •Кольори модуля Graph

«Turbo Pascal » |
Значенко О.П. |
ТЕМА 5. УМОВНИЙ ОПЕРАТОР В МОВІ ПАСКАЛЬ
Умовний оператор
Обчислювальні процеси, що виконуються за заданим алгоритмом, поділяють на три основні види: лінійні; розгалужені; циклічні.
Обчислювальний процес називається розгалуженим, якщо для здобуття кінцевого результату передбачається вибір одного з кількох можливих напрямів обчислень залежно від результату перевірки деякої умови.
Команді розгалуження в Паскалі відповідає умовний оператор. Умовному оператору відповідають дві структури:
1.Неповна форма умовного оператора, коли дія здійснюється тільки тоді, якщо виконується умова. У разі невиконання умови відбувається перехід до наступного оператора (вихід із структури).
2.Повна форма умовного оператора: при виконанні умови (вихід « + ») виконується оператор 1 , при невиконанні (вихід «—») — оператор 2.
Оператор 1 Оператор 2
рис. 1 |
|
рис. 2 |
У мові програмування Паскаль |
неповній формі умовного оператора |
|
відповідає конструкція |
if |
<умова> then <оператор>; |
Повній формі умовного оператора
if <умова> then <оператор _1> else <оператор _2>;
Якщо після службових слів then і else необхідно записати не один оператор, а їх групу, тоді ці оператори беруться в операторні дужки. Така група операторів сприймається транслятором як єдиний і називається складеним оператором:
22

«Turbo Pascal » |
Значенко О.П. |
begin
<оператор_1> ; <оператор_2> ;
…
<оператор_n> ;
end;
Перед else крапка з комою не ставиться.
Кожну пару begin...end записують в одному стовпці: так легше перевірити наявність для кожної відкриваючої операторної дужки відповідної закриваючої.
Приклади застосування умовного оператора (Визначення максимального з 2-х
чисел)
Початок
А, В
A>B
Max=A |
Max=B |
Кінець
Program Maksimum; Var a, b: real;
Begin
Writeln('введіть два числа '); Readln(a,b);
If a>b Then writeln (‘максимальне', a)
Else writeln (‘максимальне', b);
End.
В умовному операторі може бути вкладено інший умовний оператор. Транслятор працює таким чином. Зустрівши складну конструкцію з
вкладених умовних операторів, транслятор аналізує її з кінця, приписуючи останнє знайдене ELSE найближчому умовному оператору IF.
if <умова 1> then if <умова 2> then <оператор _А> else
<оператор _В>;
23

«Turbo Pascal » |
Значенко О.П. |
Приклад програми визначення коренів квадратного рівняння
Program rivnanny;
Var a, b, c, x, x1, x2, d: real;
Begin
Writeln('введіть дані ');
Readln(a,b,c); d :=sqr(b)-4*a*c;
If d = 0 Then
Begin
X:=-b/(2*a); Writeln (‘x=', x);
End
Else
IF d > 0 Then
Begin
x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); Writeln (‘x1=', x, ‘x2=’,x2);
End
Else Writeln ( ‘не існує'); Readln;
End.
Логічні вирази
Логічний вираз — це засіб запису умов для знаходження потрібних даних. Логічний вираз може приймати значення true (істинність) або false (хибність). Логічні вирази бувають прості та складені.
Простий – це два арифметичні вирази, з'єднані символом відношення (<,.>,<>,>=, <=, =), а складений – це прості логічні вирази, з'єднані назвами
логічних операцій.
Для побудови складних умов у Паскалі існують логічні операції and (і), оr (або) і not (ні).
Відношення, між якими стоїть логічна операція, беруться в круглі дужки.
24

«Turbo Pascal » Значенко О.П.
Приклад програми визначення існування трикутника із сторонами a, b і с.
(Умова існування трикутника відома з геометрії: сума двох будь-яких сторін повинна бути більша третьої. Отже, для всіх сторін умова «сума двох більше третьої» повинна виконуватись.)
Program Trikutnik;
Var a, b, c: real;
Begin
Writeln('введіть довжини трьох сторін трикутника ');
Readln(a,b,c);
If (а + b > с) and (b + с > а) and (с + а > b) then writeln (‘існує')
Else Writeln ( ‘не існує'); Readln;
End.
Оператор варіанту
Якщо в залежності від значення змінної необхідно виконати певні оператори використовується оператор варіанту.
Оператор варіанту (case) має вигляд
CASE <вираз> OF
<список значень 1>:<оператор 1>; …..
<список значень n>: <оператор 2> ELSE <оператор n+1>
END;
Тут <вираз> - це змінна цілого, символьного, перерахованого або логічного типу;
<списки значень> - сталі або діапазони, тип яких збігається з типом виразу. Якщо список значень складається з декількох елементів, то вони перераховуються через кому.
Якщо необхідно записати не один оператор, а їх групу, тоді ці оператори
25

«Turbo Pascal » |
Значенко О.П. |
беруться в операторні дужки.
Складова частина ELSE <оператор n+1> може бути відсутня – тоді матимемо
коротку форму оператора варіанту CASE.
Якщо значення виразу збігається зі значенням з списку, то виконується команда з номером і, а інші команди цієї конструкції не виконуються. Якщо значення виразу не збігається з жодним значенням з жодного списку, то виконується <оператор n+1> або, у випадку короткої форми, наступна команда після оператора варіанту CASE.
Приклад програми, яка за введеним номером дня тижня виводить повідомлення „робочий день” чи „вихідний”
Program DAY;
Var d: integer;
Begin
Write(' Введіть номер дня тижня > ');
Readln(d); CASE d OF
1..5: Writeln (' робочий день '); 6,7: Writeln (' вихідний день ') ELSE Writeln(' помилка введення ')
End; Readln; End.
26