Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Паскал.doc
Скачиваний:
2
Добавлен:
21.09.2019
Размер:
1.21 Mб
Скачать

Розділ оголошень і угод

PROGRAM Заголовок програми;

($ ... ) Глобальні директиви компілятора;

USES бібліотеки (модулі), що підключаються;

LABEL Підрозділ оголошення глобальних міток;

CONST Підрозділ оголошення глобальних констант;

type Підрозділ оголошення глобальних типів;

VAR Підрозділ оголошення глобальних змінних;

Розділ текстів процедур і функцій

PROCEDURE

(function) Заголовок процедури (функції);

LABEL Підрозділ оголошення локальних міток;

CONST Підрозділ оголошення локальних констант;

type Підрозділ оголошення локальних типів;

VAR Підрозділ оголошення локальних змінних;

begin Основний блок або процедури функції;

END;

Розділ основного блоку програми

BEGIN Основний блок програми;

END.

Розглянемо найбільш важливі частини вищеописаних блоків. Під заголовком програми розуміється ім'я, що допомагає визначити її призначення. Ім'я, чи ідентифікатор, будується за наступними правилами: воно може починатися з великої чи малої букви латинського чи алфавіту знака «_», далі можуть стояти букви, чи цифри знак «_»; усередині ідентифікатора не може стояти пробіл. Після імені програми варто поставити «;», цей знак служить у Паскалі для поділу послідовних інструкцій. Помітимо, що ім'я програми може не збігатися з ім'ям відповідного файлу на диску.

Глобальні директиви компілятора

У цьому розділі програми компілятору можна дати вказівки, що визначають режими його роботи при трансляції програми. Ці вказівки оформляються в тексті програми як коментарі, що починаються парою символів ({$) і закінчуються символом (}). Такі вказівки можуть містити "замовлення" на включення в текст програми фрагментів інших програм (з відповідних файлів), інформацію чи відомості про необхідності використання арифметичного сопроцесора.

Оператор USES

Оператор USES відіграє важливу роль у підключенні до тексту програми системних модулів з бібліотек. У цьому операторі Ви вказуєте компілятору, з якої бібліотеки використовує модулі програма. Поняття "бібліотека", "модуль", "блок" складають основу термінології програмування на Паскалі. Бібліотека включає набір модулів, кожен з яких, має власне ім'я, компілюється окремо і до нашої програми підключається вже як "чорний ящик" з відомим інтерфейсом. Кожен модуль (блок (UNIT), як його називають на Паскалі) являє собою програму, що включає декларації типів і змінних, процедури і функції.

Опис міток

Опис міток уводить сукупність ідентифікаторів і/або цілих чисел, призначених для організації послідовності обчислень. За допомогою міток можна відзначити (указати) ті оператори, на які буде передане керування з інших точок програми. Передача керування на позначений оператор реалізується за допомогою спеціального оператора переходу.

Після слова const містяться описи сталих, котрі будуть використані в програмі, наприклад:

const Zero = 0;

pi = 3.1415926;

my_const = -1.5;

Hello = 'Привіт !';

Визначення типів

Визначення типів призначене для завдання конкретних множин значень. Зазначені множини позначаються іменами (ідентифікаторами) і надалі можуть служити для опису змінних.

Оголошення глобальних змінних

За словом var розташовують оголошення змінних, котрі знадобляться нам при написанні програми. Змінні Паскаля можуть зберігати дані різної природи: числа, рядки тексту, окремі символи і т.п. Нижче приводиться частина типів перемінних, котрі можна застосовувати.

Назва типу

Можливі значення

Приклади значень

integer

цілі: -32768 ... 32767

12, -10000

real

дійсні (по модулі): 2,9x10-39... 1,7x1038

-9.81, 6.02e-23

string[n]

рядок до n символів довжиною, якщо [n] не зазначено, то до 255

‘abcde’, ‘привіт’

char

одиночний символ

‘F’, ‘!’, ’_’,’ю'

Оголошення змінних записуються в наступній формі:

var <змінна> : <тип>;

Якщо описуються декілька змінних одного типу, то досить записати їхні імена через кому, а після двокрапки поставити загальний тип.

Приклади оголошення:

var Number: integer;

d,l: real;

Name: string[20];

Line: string;

Key1,Key2: char;

Опис процедури або функції

Нарешті, опис процедури або функції визначає частину програми як окрему синтаксичну одиницю і зіставляє з нею ім'я. Згодом дії, зосереджені в процедурі (функції), можуть бути виконані ("викликані") за допомогою вказівки її імені. Крім дій, опис процедури (функції) може містити сукупність описів локальних об'єктів, що утворять власний контекст імен. Процедури і функції є основним засобом структурування програми.

Блок основної програми.

Тут, між словами begin і end. розташовуються команди (точніше, оператори), що будуть виконуватися один за іншим при запуску програми. Розглянемо найпростіші типи операторів на наступному прикладі:

program First;

const a2 = 3;

a1 = -2;

a0 = 5;

var x,f: real;

begin

write('Уведіть значення х ');

readln(x);

f := a2*x*x+a1*x+a0;

writeln(‘Значення квадратного тричлена: ’,f);

end.

Перший рядок програми виводить на екран напис «Уведіть значення х », для цього використовується процедура write написана розроблювачами Турбо Паскаля, тобто набір команд, невидимий для нас, але існуючий реально в надрах системи Турбо Паскаль. Як параметр цієї процедури використовується наш рядок. Параметри завжди записуються в круглих дужках, апострофи означають, що параметр має рядковий тип. Отже, у першому рядку ми бачимо так називаний оператор виклику процедури. Кожен оператор відокремлюється від наступного символом «;». В другому рядку викликається процедура введення readln(x), яка чекає, поки користувач набере значення x із клавіатури і натисне клавішу «Enter», а потім переводить курсор на наступну рядок (ln ( Line ( рядок). У третьому рядку обчислюється значення тричлена і записується в змінну f; цей оператор називається оператором присвоювання, і позначається символом ":=". В останньому рядку на екран виводиться рядок «Значення квадратного тричлена: » і значення змінної f. Нескладно помітити, що тут процедурі writeln передається вже не один, а два параметри, причому вони можуть мати різні типи. Узагалі, процедури введення і виведення (тобто write, writeln, read, readln) можуть мати будь-яке число параметрів різних типів, параметрами можуть бути змінні, числа, рядки, а також вирази. Використовуючи вираз при виведенні, можна замінити два останні рядки нашої програми одним:

writeln('Значення квадратного тричлена: ', a2*x*x+a1*x+a0);

В арифметичних виразах на Паскале використовуються наступні знаки для позначення операцій: +, -, *, /. Для визначення порядку дій використовуються круглі дужки відповідно до загальновизнаних математичних правил.

Зауваження про імена. Для позначення змінних забороняється використання ряду слів, називаних зарезервованими, вони грають у мові особливу роль. Нам уже зустрічався ряд зарезервованих слів: program, begin, end, string, const, var, і т.п.