
- •Передмова
- •Тема 1: Правила техніки безпеки при роботі з комп’ютером
- •Тема 2: Алфавіт. Ідентифікатори. Константи. Вирази
- •Тема 3: Загальна структура і розділи Pascal-програми
- •Тема 4: Введення і виведення у Pascal-і. Форматоване виведення
- •Тема 5: Прості (скалярні) типи данних
- •Тема 6: Завантаження середовища Турбо Паскаль. Функціональні клавіші
- •Тема 7: Меню опції
- •Тема 8: Вираження і пріоритет операцій. Стандартні математичні функції та процедури
- •Тема 9: Умовний оператор. Вкладений умовний оператор
- •Тема 10: Оператор вибору
- •Тема 11: Оператори циклу. Оператор циклу з параметром
- •Тема 12: Оператор циклу з перед- і з постумовою
- •Тема 13: Складні типи. Масиви
- •Тема 14: Багатомірні масиви
- •Тема 15: Пошук і сортування елементів масиву. Класи алгоритмів сортування
- •Тема 16: Динамічна пам'ять. Адреси і покажчики
- •Тема 17: Оголошення покажчиків, виділення та звільнення динамічної пам’яті
- •Тема 18: Процедури та функції для роботи з динамічною пам’яттю
- •Тема 19: Символьний тип даних. Упаковані масиви
- •Тема 20: Процедури та функції для обробки рядків
- •Тема 21: Структурований тип даних - безліч
- •Тема 22: Структурований тип даних – записи
- •Тема 23: Опис файлових змінних. Обробка типізованих файлів
- •Тема 24: Послідовний та прямий доступ до файлів
- •Тема 25: Обробка не типізованих файлів
- •Тема 26: Робота з текстовими файлами
- •Тема 27: Типізовані константи
- •Тема 28: Поняття та робота з процедурами та функціями
- •Тема 29: Використання модуля crt. Програмування клавіатури
- •Тема 30: Використання модуля crt. Текстове виведення на екран. Програмування звукового генератора
- •Тема 31: Графічні можливості tp 7.0. Використання бібліотеки Graph
- •Тема 32: Бібліотечні модулі користувача
- •Тема 33: Основні принципи ооп. Створення об’єктів. Використання об’єктів
- •Список літератури
- •Додаток а (довідковий) Основні алгоритми обробки масивів
- •Додаток б (довідковий) Питання перевірки знань з теорії
- •Додаток в (довідковий) Поширені коди клавіш
- •Додаток д (довідковий) Коди сканування клавіатури
Тема 3: Загальна структура і розділи Pascal-програми
Синтаксично програма представляється з необов'язкового заголовка і глобального блоку, що складається з двох частин: описової і виконавчої. Глобальний блок може містити локальні блоки – це процедури і функції. Об'єкти програми (типи, змінні, константи і т.д.) відповідно називаються глобальними і локальними. Область дії об'єктів – блок, де вони описані, і усі вкладені в нього блоки.
Загальний вид структури Pascal-програми:
рrogram ім'я програми (input, output);
Розділ описів:
{&…}; {директиви компілятора}
uses…; {підключення бібліотечних модулів}
label…; {розділ оголошення міток}
const…; {розділ опису констант}
type…; {розділ опису типів}
var…; {розділ опису змінних}
Розділ процедур і функцій:
procedure (function) {Ім'я процедури чи функції}
label…; {розділ оголошення міток}
const…; {розділ опису констант}
type…; {розділ опису типів}
var…; {розділ опису змінних}
begin
Оператори тіла процедури чи функції;
end;
Розділ операторів:
begin
Оператори програми;
еnd.
Заголовок містить службове слово Program, ім'я програми й у круглих дужках параметри Input і Output для зв'язку ПК зі стандартними зовнішніми пристроями. Пристроєм введення – Input – є клавіатура, а пристроєм виведення – Output – монітор. Наприкінці заголовка ставиться “;”. Перед заголовком можна писати коментар. Приклад заголовка:
{Знаходження суми перших n-членів рядка}
program My_progrSum (input, output);
Ім'я програми задає користувач. У Turbo Pascal-і заголовок можна опускати.
Після заголовкі слідує розділ описів, призначений для оголошення всіх існуючих в програмі даних і їхніх характеристик. Він може включати оголошення директив компілятора, розділи оголошень міток, описів констант, типів і змінних. Кожен опис закінчується “;”.
Усі дані, використовувані в розділі операторів, повинні попередньо бути описані (оголошені), інакше, при трансляції, у місці неописаного об'єкта буде вироблена помилка й обробка програми припиниться.
Будь-який з зазначених розділів, крім операторів основної програми, може бути відсутній (у простій програмі розділ описів взагалі може бути відсутній).
Послідовність розділів Label, Const, Type і Var може бути довільною.
Директиви компілятора – це інструкції, що задають той чи інший режим компіляції програми з метою одержання найбільш ефективного коду. Ознакою директиви є символ $, записаний без пробілу після першої фігурної дужки, за яким йде буква, що визначає режим компіляції. Знак “+” за буквою задає даний режим, а “-” – його скасовує. Наприклад: {$R-}. Якщо задають кілька директив, їх розділяють комами. Наприклад:
{$N+,K-,R+}
Розділ Uses підключає до тексту програми стандартні і користувальницькі бібліотечні модулі. Для підключення потрібно після Uses перелічити через кому імена модулів. Наприкінці списку ставиться “;”.
Наприклад:
uses Crt, Graph, My_Lib;
Розділ оголошення міток починається зі службового слова Label (мітка), за яким через кому слідують імена міток. Наприкінці ставиться “;”.Наприклад:
label {ключове слово}
ім'я_мітки_1, ім'я_мітки_2,…;
Мітку можна поставити перед будь-яким оператором, що дозволяє виконати перехід на цей оператор за допомогою оператора Goto з будь-якого місця програмного блоку. У розділі операторів ознакою мітки для компілятора є наявність після її імені двокрапки.
Якщо оголошена мітка не використовується, помилки не буде.
Розділ опису констант починається зі службового слова Const (Constant – постійна величина), за яким слідує ім'я константи, якії за допомогою символу “=” привласнюється постійне числове чи строкове значення:
const {ключове слово}
ім'я_константи = числове вираження;
В одному розділі можна описувати кілька констант. Кожен опис закінчується “;”, а слово Const для наочності програми варто виділяти в окремий рядок, наприклад:
const
a = 50; n1 = 0;
Якщо константа задана явно, тобто своїм значенням, то її описувати не потрібно. Наприклад:
ord(‘Z’) – ord(‘A’) + 1 {тут 1 – константа задана явно}
У ТР можна використовувати константні вираження, тобто вираження, що можуть бути обчислені компілятором фактично без виконання програми. Наприклад:
256 - 1;
(2,5+1)/(2,5-1);
‘Turbo’ + ‘’+’ Pascal’
chr(32)
Розділ опису типів починається зі службового слова Type, за яким слідують одне чи кілька визначень типів, розділених ";".Опис типів має загальний вид:
type
ім'я типу 1, ім'я типу 2,... = стандартне чи раніше описане ім'я типу;
. . .
Наприклад:
type
massiv = array[1...20] of integer;
name= string[10];
Розділ опису змінних починається зі службового слова Var (Variables - змінна), за яким слідує ім'я змінної і через двокрапку вказується тип. Наприкінці типу ставиться ";".
var
ім'я змінної : тип змінної;
В одному розділі можна описувати декілька змінних. Якщо ряд змінних мають один тип, їх можна об'єднати в список. У списку змінні розділять комами. Слово Var варто виділяти в окремий рядок, наприклад:
var
a,b,c : integer;
result: real;
Це робить текст програми більш зрозумілим.
Розділ процедур і функцій. У Paskal процедури і функції виконують роль підпрограм і мають ту ж структуру, що і програма, але замість ключового слова program повинне бути слово procedure чи function. Процедури і функції поділяються на стандартні та ті, що визначаються користувачем.
Стандартні процедури і функції заздалегідь створені, є частиною мови і можуть викликатися без попереднього опису. Зберігаються вони в бібліотеках Pascal.
Користувач може створювати свої додаткові процедури і функції, що обов'язково описуються в розділі процедур і функцій.
Розділ операторів. Опис операторів уявляє собою складений оператор begin (початок) ...end.(кінець), що закінчується крапкою та у якому розташована вся послідовність операторів програми, розділених ";":
begin
Оператор 1;
Оператор 2;
. . .
end.
Оператори програми також можуть бути включені в операторні дужки begin ... end для внесення ясності, де потрібно ставити ";", розглянемо список елементів, записаних натуральною мовою:
A, B, C, D.
Запис не зміниться, якщо елементи списку об'єднати в групу, уклавши її в круглі дужки:
(A, B, C, D).
Тепер представимо кілька подібних груп:
(A, B, C, D).
Е.
(ДО, L, M).
Об'єднаємо їх в одну загальну групу, дотримуючи правил натуральної мови:
((A, B, C, D), Е, (K, L, M)).
Аналогічні правила й у мові Pascal, тільки роль круглих дужок виконують операторні дужки begin і end, замість коми ставиться ";", а замість елементів - оператори.
Замінивши в приведеному записі круглі дужки відповідно на begin і end, коми на “;”, елементи на оператори, ми її представимо записаною мовою Pascal (для кращої наочності тексту програми кожен елемент запишемо в окремому рядку):
begin
begin
оператор А;
оператор ;
оператор ;
оператор ;
end;
Е;
begin
оператор ;
оператор ;
оператор ;
end
end.
Крапка наприкінці програми обов'язкова - вона є для компілятора ознакою кінця програми.
Як у природній мові після і перед круглими дужками кома не ставиться, так і в мові Pascal після Begin і перед End ";" не ставиться.
Питання для контролю.
-
З яких розділів складається Pascal -програма? Які розділи можуть бути відсутніми у програмі?
-
Яке призначення розділу описів?
-
Що містить заголовок Pascal-програми?
-
Що таке директиви компілятора? Ознака директиви.
-
Яке призначення розділу Uses?
-
Що таке мітка і як вона з'являється?
-
Як описується константа? В якому випадку константу не описують?
-
Що таке константне вираження?
-
Чи можна в одному розділі описувати кілька констант? Оголошувати кілька міток?
-
Яка послідовність розділів Label, Const, Type і Var?
-
Яке призначення в заголовку параметрів Input і Output?
-
Як оголошується змінна?
-
Опишіть структуру розділу опису типів.
-
Чи можна в одному розділі оголосити декілька змінних?
-
Опишіть структуру розділу процедур і функцій.
-
Опишіть структуру розділу операторів.
-
Де потрібно ставити ";" а де ні?
-
Яке призначення крапки наприкінці програми?