1. Опис мови. Мову Паскаль створив на початку 70-х років професор Н.Вірт зі Швейцарії. Вона названа на честь французького математика і філософа Блеза Паскаля (1623-1662) — винахідника першої у світі механічної обчислювальної машини. Мова вважається найбільш досконалою порівняно з іншими мовами програмування. Її використовують для розв’язування різноманітних задач.
Програми складаються з синтаксичних конструкцій, які називать командами (операторами, вказівками, реченнями). Команди будуються з лексем — неподільних елементів мови: слів, чисел, символів операцій тощо. Слова поділяються на службові, стандартні імена та імена (ідентифікатори), які користувач дає різним об'єктам. Розглянемо основні службові слова мови. Їх можна записувати як великими, так і малими літерами
and — і array — масив begin — початок case — вибір const — сталі div — ділення без остачі do — виконати downto — униз до else — інакше
| end — кінець file — файл for — для function — функція goto — перейти до if — якщо in — в label — позначка
| mod — остача nil — нуль not — ні of — з or — або packed — стиснутий procedure — процедура program — програма record — запис
| repeat — повторювати set — множина then — то to — до type — тип until — доки var — змінні while — доки та інші.
|
Стандартні імена.Великий набір слів є проміжним між службовими словами та іменами користувача. Це стандартні імена. Їх є декілька груп:
1) назви стандартних типів даних: boolean (логічний), char (символьний), integer (цілий), real (дійсний), text (текстовий файл) тощо;
2) назви стандартних сталих: false (хибність), true (істинність), maxint (максимальне ціле), pi (число p) тощо;
3) назви стандартних функцій: abs, arctan, cos, exp, ln, sin тощо;
4) назви стандартних процедур: read, readln, write, writeln тощо.
Стандартні імена користувач може використати для позначення інших об’єктів, однак тоді вони втрачають основне призначення.
Імена, які користувач надає величинам (сталим, змінним), програмі, підпрограмам тощо, мають складатися з латинських літер, цифр, символу “_”. В імені цифра не може бути першим символом. Наприклад, програму можна назвати так: myprogram_1.
Зауваження. У цій книжці службові слова будемо записувати малими літерами і виокремлюватимемо товстим шрифтом.
2. Структура програми. Програма складається із заголовка
program <ім’я програми>;
розділів описової частини
| uses label const type var procedure function
|
| — приєднання бібліотек та модулів; — оголошення міток (позначок); — оголошення сталих; — опис типів; — оголошення змінних; — оголошення процедур користувача; — оголошення функцій користувача
|
та виконуваної частини
| begin <розділ команд> end.
|
Заголовок та усі розділи, окрім останнього, є необов’язковими. Розділювачем між конструкціями (командами) програми є символ “;”. У кінці програми завжди має стояти крапка.
Заголовок програмі надає програміст. В іменах, які користувач дає своїм програмам та змінним, великі і малі букви рівноправні: імена A та a (або MyName та myname) позначають один і той самий об’єкт.
У програму можуть входити коментарі. Коментар — фрагмент тексту програми, взятий в фігурні дужки або записаний так: (* коментар *). Коментар слугує для пояснення роботи програми і не впливає на виконання команд. Він може бути розташований у довільному місці програми.
Зауваження. Особливим видом коментаря є директива. Директиви призначені для задавання режимів функціонування компілятора. Як і коментар, директиву записують у фігурних дужках, де після відкриваючої дужки зазначають символ $, наприклад, директива {$F+} підтримує так звану far-модель пам’яті для роботи з процедурами та функціями, {$N+} забезпечує застосування математичного співпроцесора тощо (див. § 1).
3. Розділи оголошення сталих і змінних. Усі величини, які входять у програму, повинні бути описані у розділі сталих (констант), якщо вони не мінятимуть значення протягом виконання програми:
| const
| <стала 1> = <значення 1>; … <стала n> = <значення n>;
|
або у розділі оголошення змінних, якщо вони обчислюватимуться:
| var
| <список змінних 1> : <тип змінних 1>; … <список змінних n > : <тип змінних n>;
|
Елементи списків записують через кому. Кутові дужки <...> —це засіб формалізованого описування конструкцій мови. У конкретних програмах їх не використовують
4. Перша програма. Програма — це послідовність команд, за допомогою яких записують алгоритм розв’язування задачі. Програми (алгоритми) складають за таким принципом: вводять дані, визначають потрібне, виводять результати. Аналогічно розв’язують задачі з математики та фізики, але тут обчислення вручну виконувати не потрібно — їх виконає комп’ютер.
Розглянемо програму з назвою Trykutnyk для розв’язування задачі обчислення периметра p та площі s трикутника зі сторонами a=5, b=3.6, с=4.2 за формулою Герона. Усі команди, нaведені в програмі, будуть детально розглянуті нижче.
| programTrykutnyk; uses Crt; const a=5; b=3.6; с=4.2; var p, s: real; begin clrscr; p:=a+b+c; writeln('p=', p:5:2); p:=p/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); writeln('s=', s:5:2); writeln('Виконав Панчишин Ю.'); readln end.
| {Приєднуємо модуль Crt} {Вводимо довжини сторін} {Оголошуємо змінні для} {периметра та площі} {Очищуємо екран} {Обчислюємо периметр} {Виводимо значення периметра} {Обчислюємо півпериметр} {Визначаємо площу} {Виводимо значення площі}
|
Символ * позначає операцію множення, / — ділення, а sqrt(х) — це функція обчислення квадратного кореня з х. Два символи := позначають операцію присвоєння. Команда writeln призначена для виведення результатів. Після виконання програми на екрані отримаємо:
p= 12.80
s= 7.43
Виконав Панчишин Ю.
Завдання. Ознайомтеся з середовищем програмування Turbo Pascal (див. § 14). Розглянувши програму Trykutnyk як зразок, розв’яжіть задачу № 1 свого варіанта з розділу “Задачі”.