
- •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.
- •Література
2.1.2.4. Правила запису арифметичного виразу
1) Заборонено записувати два знаки арифметичних операцiй пiдряд.
2) Всi операцiї з однаковим прiоритетом виконуються злiва направо.
3) Для змiни порядку виконання операцiй використовують дужки.
Значення пріоритетiв всiх операцiй Pascal подано в таблиці 3.
Таблиця 3
Операцiя |
Прiоритет |
Вид операцiї |
@, not, +, - *, /, div, mod, and, shl, shr +, -, or, xor =, < >, <, >, <=, >=, in |
Перший Другий Третiй Четвертий |
Унарна операцiя Операцiї типу множення Операцiї типу додавання Операцiї відношення |
2.1.3. Простi оператори
Оператори, що не мiстять в собi нiяких iнших операторiв, називаються простими. До них вiдносяться оператори присвоювання, безумовного переходу, виклику процедури i пустий оператор.
2.1.3.1. Оператор присвоєння
Оператор присвоєння вимагає вичислення виразу, що стоїть в його правiй частинi, з подальшим присвоєнням результату змiннiй, iдентифiкатор якої розмiщено в лiвiй частинi.
Формат оператора: <iдентифiкатор>:=<вираз>;
Приклади: Funckey=:False; Ch:='G'; Sum:=x+y;
Змiнна та вираз повиннi бути сумiсними по типу. Допускається, щоб тип лiвої частини був дiйсним, а правої - цiлим (а не навпаки).
2.1.3.2. Пустий оператор
Пустий оператор не містить ніяких символів і не виконує ніяких дій. Звичайно пустий оператор використовується для організації переходу до кінця локального, або глобального блоку:
BEGIN
. . . .
GOTO Mit; { перехід до кінця блоку }
. . . .
Mit: { пустий оператор, помічений міткою }
. . . .
END;
2.1.4. Введення та виведення в Pascal
В мові Pascal відсутні оператори введення-виведення. Їх функцію виконують процедури READ, READLN, WRITE, WRITELN, робота яких базується на пристроях MS DOS або CP-M.
Ввід даних, це передача інформації від зовнішнього носія в оперативну пам'ять для обробки. Вивід – зворотній процес. Зовнішнім носієм є термінал, АЦП, дисковвід та ін.
В мові Pascal стандартними засобами спілкування людини з комп'ютером є задані файли Input та Output, які за замовчуванням є параметрами програми. Програма одержує вхідні дані з файла Input і вміщує результат обробки в файл Output. За замовчуванням стандартний файл Input – клавіатура (з виведенням на дисплей – файл CON:), Output – екран дисплею.
2.1.4.1. Процедури введення
Для виконання операцій введення використовуються процедури READ та READLN.
Процедура читання (Read) забезпечує введення стандартних скалярних типів, літерних рядків (стрінгів), елементів масивів та записів. Ця процедура викликається таким чином:
Read(x1,x2,...,xN); або Read(FV,x1,...,xN);
де x1,...,xN - параметри процедури, в ролі яких можуть використовуватися лише змінні величини допустимих типів. Кількість параметрів в процедурі заздалегідь не фіксується. FV – змінна, пов’язана із файлом, з якого проводиться читання. Якщо FV відсутня, це значить, що вона відповідає стандартному файлу Input (за замовчуванням – клавіатура).
Процедура Read призупиняє виконання програми, після чого комп'ютер переходить в режим діалогу, де програміст повинен задати N констант, які бу-дуть присвоєні змінним x1, ... , xN. Значення цих констант висвітлюється на екрані. Роздільником списку констант введення є символ пробілу.
Пiсля набору даних для однієї процедури Read, необхідно натиснути клавiшу Enter. Введенi данi повиннi вiдповiдати списку введення за типами змiнних та за кiлькостю даних. Порушення цих правил викликає помилку введення-виведення. При цьому виконання програми переривається i на екран видається повiдомлення: I/0 error XX, де XX - код помилки.
Приклад:
Var i : Real; j : Integer; k : Char;
BEGIN
Read (i,j,k);
. . . . . . . .
Перший варiант введення 235.98 100 'G' <Enter> - правильний ввiд. Другий варiант введення 'G' 235.98 100 <Enter> є помилковим, що викличе зупинку виконання програми з повiдомленням: I/0 error 10, що означає - для змiнної типу Real задається значення Char.
Якщо в програмi зустрiчаються декiлька процедур Read, данi для них вводяться потоком, тобто без обов'язкового переходу до наступного рядка.
Процедура зчитування Readln аналогiчна Read з тiєю лише рiзницею, що для кожної нової процедури данi зчитуються з нового рядка дисплею.
При введенні величини типу String (літерного рядка) з буфура клавіатури зчитується необхідна кількість символів, але в межах одного логічного рядка (до символа кінець рядка - код13). При цьому, якщо читання здійснюється процедурою Read, ознака кінця рядка не читається і при наступному зчитуванні рядкової інформації у відповідні змінні нічого заноситися не буде до тих пір, поки не буде прочитана ознака кінця рядка (наприклад процедурою Readln).