Проміжок – незаповнена позиція в тексті. Можна сказати, що це невидимий, але такий, що сприймається ЕОМ символ, який займає в тексті одну позицію

2) Лексемимови. Під лексемами розуміють елементарні конструктивні елементи програми, які є неподільними:

а) службові слава (55):

Absolute end inline procedure

And external interface program

Array file interrupt record

Begin for label repeat

Case forward mod set

Const function nil shl

Div goto not shr

Do if of string

Downto implementation o then

Else in packed to

Object virtual type unit

Until uses var while

With xor constructor destructor

б) ідентифікатори – імена окремих компонентів програми (констант, змінних, типів, процедур, функцій, файлів і програм).

Правило запису ідентифікаторів:

ü ідентифікатори починаються тільки з букви або знаку підкреслення;

ü ідентифікатор може складатися з букв, цифр і знаку підкреслення;

ü між двома ідентифікаторами повинен бути хоча б один проміжок;

ü максимальна довжина ідентифікатора 127 символів, але ЕОМ розпізнає тільки перші 63 символи;

ü ідентифікатор не повинен співпадати за написанням ні з одним зі службових слів;

ü великі і малі букви в ідентифікаторі не розрізняються.

в) зображення – об’єкти програми, що є значенням певного типу. Це можуть бути числа, символи, рядки символів.

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

д) коментарі. { коментар }.

Е) директиви. Не виконувана інструкція процесору.

ТЕМА : Структура програми.

Програма реалізує алгоритм розв’язання задачі. Вона об’єднує послідовність виконання конкретних вказівок над конкретними даними для реалізації конкретно встановленої мети.

Програма складається з описової частини та тіла.

ОПИСОВАЧАСТИНА:

1. Program < ім’я програми> ( не обов’язкова частина).

2. Директиви ( не обов’язкові ) { $... }.

Uses – специфікація (uses CRT).

Label – оголошення міток. Мітки у програмі позначають оператори, на які повинне передаватися виконання згідно з алгоритмом, якщо потрібно здійснити обхід деякого фрагменту. Мітки використовуються з оператором goto. Використання міток не бажане.

Const – оголошення констант. Константи – величини, значення яких встановлені в описовій частині програми і в процесі виконання програми не змінюються.

CONST < ідентифікатор > = < значення константи>;

Наприклад.

Const max = 1000; min = 1;

Type – оголошення типів. Тип – повна сукупність елементів деякої природи, що володіють спільними для них властивостями.

Ці властивості визначають діапазон допустимих значень, операції, що застосовують до елементів типу.

Скалярні типи – множини елементів, які є анатомічними величинами, тобто неподільними на простіші елементи( дійсні, цілі числа, символьні, логічні, перелічувані та інтервальні типи ).

Перші чотири типи – стандартні, а два останні будуються згідно певних правил.

TYPE <ідентифікатор> = <опис типу>;

Наприклад

Type n=integer; n1=array[1..10] of real; n2=(red,yellow,green);

Var – оголошення змінних. Змінні – величини, значення яких в процесі виконання програми може змінюватися. Якщо є декілька змінних одного типу, то їх можна оголосити в одному розділі, перелічуючи їх через кому. Заданя типу змінних може бути явне, або через раніше оголошений тип.

VAR <ідентифікатори> : <ім’я типу>;

Наприклад

Var a,b,c: integer;

Оголошення підпрограм: функцій та процедур. Структурне програмування передбачає побудову програм, яка фактично буде послідовністю звертань до підпрограм.

Процедура – дія, функція – результат. За своєю структурною будовою підпрограми подібні до програм, тобто мають заголовок, розділ оголошень, тіло.

ПРОЦЕДУРА.

PROCEDURE <імя> ( <список формальних параметрів> );

<оголошення>

<тіло>

ФУНКЦІЯ.

FUNCTION <імя> (<спиток формальних пораметрів>);<тип результату>;

<оголошення>

<тіло>

На цьому завершується розділ оголошень.

ТІЛОПРОГРАМИАБОРОЗДІЛОПЕРАТОРІВ:

Ця частина є реалізацією алгоритму розв’язку задачі. Саме тут задається послідовність команд у вигляді викликів підпрограм або операторів мови.

Розділ операторів обмежується оператор ними дужками:

BEGIN

<оператор>;

END.

В тілі програми кожна окрема команда завершується ;.

Із всього названого обов’язково присутніми у програмі є операторні дужки, що обмежують тіло програми.

ТЕМА: Оператори мови Pascal.

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

<змінна> : = <вираз>;

Змінна – величина, значення якої змінюється в процесі виконання програми.

Вираз – зображення відповідного типу, або одна із допустимих для цього типу операція, опер антами якої є інші вирази.

Тип результату виразу повинен співпадати із типом змінної або вужчим за нього.

Виконання цього оператора здійснюється з права наліво: спочатку обчислюється результат виразу, здійснюється перевірка відповідності типів, здійснюється занесення в ділянку пам’яті, де розміщена змінна відповідного значення.

Наприклад

Var x:real; y:integer; c:char;

y:=2;

x:=y+3.5;

y:=ord(c);

2. Складенийоператор. Якщо потрібно деяку групу команд інтерпретувати, їх як одну команду, тобто об’єднати їх в певному контексті, то використовують складені оператори.

BEGIN<оператор1> ;<оператор2>... ; END;

Вони є послідовністю операторів, що обмежуються операторними дужками. Вкінці кожного оператора ставиться крапка з комою. Перед епd – не обов’язково.

Саме завдяки складеним операторам вдається скласти програму без використання goto.

3. Пустийоператор. Програма виду begin end є синтаксично правильною. Розділ операторів містить один оператор – пустий ( він нічого не виконує). Наявність пустого оператора в мові викликана деякими різними причинами, які пов’язані з використанням безумовного переходу goto.

Наявність крапки з комою перед end означає, що перед ним ще є один пустий оператор. Він потрібний в таких випадках: якщо має здійснюватися безумовний перехід по мітці на кінець вкладеного оператора, то ця мітка повинна відмічати пустий оператор, а не слово end.

<мітка> : <пустий оператор> END;

4. Операторивводу-виводу. В мові програмування Turbo Pascal ввід-вивід здійснюється насправді не операторами, а стандартними

Підпрограмами - процедурами вводу-виводу, якщо вважати виклик підпрограми як оператор виклику підпрограми, то в цьому розумінні можна вважати відповідні процедури операторами. Під пристроєм вводу-виводу розуміється сукупність наступних компонентів ЕОМ: клавіатура, монітор, порти для під єднання цих пристроїв.

а)Операторвводу. Pascal має дві процедури вводу: READ ,READLN. Оператор вводу read здійснює читання даних із буфера обміну пристрою вводу-виводу без переведення біжучого провідника на новий рядок. Процедура readln здійснює читання із переведенням біжучого вказівника на початок нового рядка.

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

При введені даних з клавіатури кількість, порядок та їх тип повинні відповідати кількості, порядку та типу змінних.

Дані відокремлюються хоча б одним пропуском.

Наприклад

Var

x: integer;

y: real;

s: string;

c: char;

read (x,y,s,c);

Дані вводяться так : 23 6.89 доля Ф , після кожного вводу нажимаємо enter.

б) Операторвиводу. Pascal має дві процедури виводу: WRITE, WRITELN. Процедура write здійснює запис в буфер обміну пристрою вводу-виводу без переведення біжучого провідника на новий рядок. Writeln здійснює запис із переведенням біжучого вказівника на початок нового рядка.

Для процедур запису в якості параметрів можуть використовуватися ідентифікатори змінних, ідентифікатори констант, вирази.

Наприклад

Var

x: integer;

y: real;

s: string;

c: char;

x: =2; y: =6.35; s: =’осіння’; c: =’A’;

writeln( x,’3’, x+y, s+’ пора’, ord(c)); { 238.35осіння пора65 }

Як видно з прикладу дані вводяться послідовно один за одним. Для їх відокремлення можна користуватися або форматним виводом, або використати додаткові параметри виводу, що є послідовністю декількох пропусків.