
- •2.1. Теоретичні відомості 20
- •Передмова
- •Лабораторна робота № 1
- •1.1. Теоретичні відомості
- •1.1.1. Система вiкон середовища
- •1.1.1.1. Вікна редагування
- •1.1.1.2. Вікна діалогу
- •1.1.1.3. Інформаційні вікна
- •1.1.1.4. Вікна меню
- •1.1.1.5. Робота з меню
- •1.1.1.5.1. Меню роботи з файлами (File)
- •1.1.1.5.2. Меню редагування (Edit)
- •1.1.1.5.3. Меню пошуку інформації (Search)
- •1.1.1.5.4. Меню виконання програми (Run)
- •1.1.1.5.5. Меню компіляції (Compile)
- •1.1.1.5.6. Меню відлагодження (Debug)
- •1.1.1.5.7. Меню вiкон (Window).
- •1.1.1.5.8. Меню інформаційної допомоги (Help)
- •1.1.1.5.9. Локальне меню.
- •1.1.2. Основні прийоми роботи в середовищі
- •1.2. Завдання
- •1.3. Контрольні запитання з теми
- •Лабораторна робота № 2
- •2.1. Теоретичні відомості
- •2.1.1. Загальна структура Pascal-програми
- •2.1.1.1. Заголовок програми
- •2.1.1.2. Описова частина Pascal-програми
- •2.1.1.2.1. Розділ позначок (міток)
- •2.1.1.2.2. Розділ констант
- •2.1.1.2.3. Розділ типів
- •2.1.1.2.3.1. Цілочисельний тип
- •2.1.1.2.3.2. Дійсний тип
- •2.1.1.2.4. Розділ опису змінних
- •2.1.2. Арифметичнi вирази та операцiї
- •2.1.2.1. Арифметичні функції
- •2.1.2.2. Скалярні функції
- •2.1.2.3. Арифметичні операції мови Pascal
- •2.1.2.4. Правила запису арифметичного виразу
- •2.1.3. Простi оператори
- •2.1.3.1. Оператор присвоєння
- •2.1.3.2. Пустий оператор
- •2.1.4. Введення та виведення в Pascal
- •2.1.4.1. Процедури введення
- •2.1.4.2. Процедури виведення
- •2.4.3. Формати оператора виведення
- •2.2. Завдання
- •2.3. Контрольні запитання з теми
- •3.1.3. Перелічувальний тип
- •3.1.4. Вирази та операцiї вiдношення
- •3.1.5. Логiчнi вирази та операції
- •3.1.6. Структуровані оператори
- •3.1.6.1. Складений оператор
- •3.1.6.2. Умовні оператори
- •3.2. Завдання
- •3.3. Контрольні запитання з теми
- •Лабораторна робота № 4
- •4.1. Теоретичні відомості
- •4.1.1. Iнтервальний тип
- •4.1.2. Масив (регулярний тип)
- •4.1.3. Оператори повтору
- •4.1.4. Використання стандартний процедур Break і Continue в операторах циклів repeat, while та for
- •4.2. Завдання
- •4.3. Контрольні запитання з теми
- •Лабораторна робота № 5
- •5.1. Теоретичні відомості
- •5.1.1. Стрінговий тип (тип літерний рядок)
- •5.1.2. Стрінгові вирази
- •5.2. Завдання
- •5.3. Контрольні запитання з теми
- •Лабораторна робота № 6
- •6.1. Теоретичні відомості
- •6.1.1. Операції з даними перелічувального типу
- •6.1.2. Завдання
- •6.2.1. Множини
- •6.2.1.1. Операції з множинами
- •6.2.2. Завдання
- •6.2. Контрольні запитання з теми
- •Лабораторна робота № 7
- •7.1. Теоретичні відомості
- •7.1.1. Записи з варiантами
- •7.2. Завдання
- •7.3. Контрольні запитання з теми
- •Лабораторна робота № 8
- •8.1. Теоретичні відомості
- •8.1.1. Ініціалізація графічного режиму
- •8.1.2. Системи координат
- •8.1.3. Вибір кольорів в графічному режимі
- •8.1.4. Завдання стилів ліній та заливки контурів
- •8.1.5. Виведення тексту в графічному режимі
- •8.1. 6. Процедури для рисування фігур
- •8.2. Завдання
- •8.3. Контрольні запитання з теми
- •Лабораторна робота № 9
- •9.1. Теоретичні відомості
- •9.1.1. Процедури користувача
- •9.1.2. Функцii користувача
- •9.1.3. Параметри
- •9.1.4. Рекурсивні підпрограми
- •9.1.5. Область дії ідентифікаторів
- •9.2. Завдання
- •9.3. Контрольні запитання з теми
- •Лабораторна робота № 10
- •10.1. Теоретичні відомості
- •10.1.1. Стандартні процедури для текстових файлів
- •10.1.2. Функції для роботи з текстовими файлами
- •10.1.3. Приклад обробки інформації в текстових файлах
- •10.2. Завдання
- •10.3. Контрольні запитання з теми
- •Лабораторна робота № 11
- •11.1. Теоретичні відомості
- •11.1.1. Стандартні процедури обробки файлів з типом
- •11.1.2. Стандартні функції обробки файлів з типом
- •11.1.3. Приклад обробки інформації в файлах з типом
- •11.2. Завдання
- •11.3. Контрольні запитання з теми
- •Додаток 1 Повідомлення про помилки Повідомлення про помилки періоду компіляції
- •Повідомлення про помилки, що виникають під час виконання програми
- •Помилки, що виявляються dos
- •Помилки введення - виведення
- •Критичні помилки
- •Фатальні помилки
- •Додаток 2 Методичні вказівки до виконання лабораторних робіт та написання звітів
- •Додаток 3 Зразок виконання звіту до лабораторної роботи Лабораторна робота № 7.
- •Література
3.1.6. Структуровані оператори
Структуровані оператори являють собою об'єднання, побудовані з інших операторів за певними правилами. Структуровані оператори поділяються на три групи: складені, умовні та повтору.
3.1.6.1. Складений оператор
Являє собою групу з довільного числа операторів, відділених один від одного знаком <;> та обмежкних операторними дужками, в ролі яких виступають службаві слова BEGIN та END. Формат складеного оператора:
Begin
<оператор 1>;
. . . . . .
<оператор N>;
End;
Приклад:
Begin
a:=a*b+sin(x);
rez:=a+b+Pi;
Writeln('z=',rez);
End;
Складений оператор сприймається як єдине ціле (серія команд). Такий оператор може розміщуватися скрiзь, де допустимий простий оператор. Як правило, складений оператор використовується в умовних операторах та операторах повтору.
3.1.6.2. Умовні оператори
Умовнi оператори забезпечують використання, або невикористання деякого оператора, або блоку в залежностi вiд заданих умов. В Turbo-Pascal є два умовних оператора: IF та CASE.
Оператор IF може приймати одну з двох форм:
1. IF <умова> THEN <оператор 1> ELSE <оператор 2>
2. IF <умова> THEN <оператор>
Тут <умова> - вираз булiвського типу. В першому випадку, якщо значення виразу iстине, виконується <оператор 1>, якщо хибне - <оператор 2>. В другому випадку, якщо вираз має значення True, виконується <оператор>, якщо False - оператор, що слiдує за IF.
В ролi операторiв, що входять в склад IF, можуть виступати простi, або складнi оператори.
Приклад:
if ((X*X+Y*Y)<=R*R)and(Y>=0)
then Writeln('Точка належить заданій фігурі')
else Writeln('Точка не належить заданій фігурі');
Оператори IF можуть бути вкладеними всередині складеного оператора.
Приклад: Read (CH);
if CH="N" then Parol:=True else Parol:=False;
Read(Cod);
if Parol=True then if Cod=100 then Write("Пароль і код не правильні")
При вкладених операторах кожне ELSE відповідає тому THEN, яке безпосередньо знаходиться перед ELSE. Для зміни цього порядку використовуються операторні дужки BEGIN-END.
Приклад: if (a=b) and (c=d) then
begin
Writeln("Норма"); F:=0;
if c=0 then F:=1;
end;
else Writeln ("Перевищення норми");
Оператор вибору CASE є узагальненням оператора IF i дозволяє зробити вибiр з довiльного числа варiантiв. Вiн складається з виразу, що зветься селектором, та списку параметрiв (операторiв), кожному з яких вiдповiдає список констант вибору (список може складатися i з однiєї константи). Як і в операторі IF, тут може міститися слово ключове слово ELSE, що має той самий смисл.
Форма оператора:
CASE <вираз-селектор> OF
<список 1> :<оператор 1;>
<список 2> :<оператор 2;>
. . . . . . . . . . . . .
<cписок N> :<оператор N;>
[ELSE <оператор>]
End;
Ключове слово ELSE та <оператор> не є обов'язковим елементом. Якщо список констант вибору містить більше однієї константи, то вони відділяються комами. Тип константи обов'язково повинен співпадати з типом селектора. Список констант вибору складається з довільного числа значень або діапазонів. Межі діапазону описуються двома константами через роздільник <..>.
Приклади:
1) Cелектор iнтервального типу:
Case i of
1..10 : Writeln ('число',i,'в межах 1-10');
11..20 : Writeln ('число',i,'в межах 11-20');
else Writeln ('число',i,'поза межами контролю')
end
Селектор перелiчувального типу. Перелiчувальний тип не може безпосередньо вводитися з клавiатури в програму та виводитися на дисплей. Для цього використовуються спецiальнi прийоми з використанням оператора CASE:
Var Season : (winter,spring,summer,autumn);
Begin
. . . . . . . . . . . . . . .
Case season of
winter : Writeln( "Winter");
spring : Writeln("Spring");
summer : Writeln("Summer");
autumn : Writeln("Autumn")
end;
Приклад:
Обчислити
значення функції
використовуючи умовний оператор IF
(повну і скорочену форму)
Текст програми
Program Rozgal;
Var x,y,a:real;
Begin Writeln ('Введіть змінну х:');
Write ('x=');
Readln(x);
A:=x*x*x+1;
If x<=0 then y:=A-(abs(sin(x))+2*x) else If x>3 then
y:=A-(3*sqr(x)-2) else y:=A-(sin((sqr(x)+1)/2*x)/cos((sqr(x)+1)/2*x));
Writeln('y=',y:8:3)
End.
Результат виконання програми
Введіть змінну х:
х=-1
У= 1,159
Введіть змінну х:
х=2
У= 12,381
Введіть змінну х:
х=4.5
у= 33,375
Приклад:
Обчислити значення функції використовуючи оператор вибору CASE.
Текст програми
Program Rozgal;
Var x,y1,y2,y3,a:real;i:integer;
Begin Writeln ('Введіть змінну х:');
Write ('x=');
Readln(x);
A:=x*x*x+1;
If x<=0 then
Begin y1:=A-(abs(sin(x))+2*x); i:=1;
end;
If x>3 then
Begin y2:=A-(3*sqr(x)-2); i:=2;
end;
If (x<=3) and (x>0) then y3:=A-(sin((sqr(x)+1)/2*x)/cos((sqr(x)+1)/2*x));
Case i of
1:Writeln('y=',y1:8:3);
2:Writeln('y=',y2:8:3)
else Writeln('y=',y3:8:3);
end;
End.
Результат виконання програми
Введіть змінну х:
х=-1
У= 1,159
Введіть змінну х:
х=2
У= 12,381
Введіть змінну х:
х=4.5
у= 33,375