Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи з програмування Модуль 1.DOC
Скачиваний:
23
Добавлен:
23.02.2016
Размер:
1.33 Mб
Скачать

Label { Розділ опису міток } Const { Розділ опису констант }

Type { Розділ опису типів }

Var { Розділ опису змінних }

{ Розділ опису процедур і функцій }

{ Розділ операторів }

Консольний режим роботи встановлюється директивою {$APPTYPE CONSOLE}. Текст програми розміщається у головному файлі проекту.

Типи даних. Будь-які дані – константи, змінні, властивості, значення функцій або виразів в Object Pascal характеризуються своїми типами. Тип визначає множину допустимих значень, які може приймати об’єкт, а також множину операцій, які застосовні до нього. Крім того, тип визначає формат внутрішнього представлення даних у пам’яті комп’ютера.

Object Pascal характеризуються розгалуженою структурою типів даних, до яких належать:

  • прості – порядкові (цілі, логічні, символьні, перераховувані, діапазон), дійсні, дата-час;

  • структуровані (масиви, записи, множини, файли);

  • символьні рядки;

  • процедурні;

  • вказівники;

  • варіанти;

  • класи;

  • об’єкти.

У мові Object Pascal передбачений механізм створення, на основі перерахованих базових типів, нових типів даних. Завдяки цьому механізму загальна кількість типів, які використовуються у програмі, може бути досить великою.

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

Цілі дані представляються цілими числами зі знаком і без знаку. В залежності від діапазону значень цілі дані без знаку можуть бути таких типів: Byte (1 байт), Word (2 байти), LongWord (4 байти), Cardinal (4 байти); зі знаком: ShortInt (1 байт), SmallInt (2 байти), Integer (4 байти), LongInt (4 байти), Int64 (8 байтів),.

Логічні дані приймають два значення: true (істинно), false (хибно) і можуть бути таких типів: Boolean (1 байт); ByteBool (1 байт); Bool (2 байти); WordBool (2 байти); LongBool (4 байти).

Символьні дані можуть бути типу Char (однобайтові символи коду ANSI) і типу WideChar (двохбайтові символи коду Unicode).

Перераховуваний тип. Задається перерахуванням у круглих дужках всіх значень, які він може приймати.

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

<мінімальне значення > .. <максимальне значення >.

Тип-діапазон успадковує всі властивості свого базового типу.

Дійсні дані представляються в експоненціальній формі

S

E

M

тут S – знак числа, E – порядок, M – мантиса числа. В залежності від формату представлення дійсні дані можуть бути таких типів: Real (8 байтів), Single (4 байти), Double (8 байтів), Extended (10 байтів), Comp (8 байтів), Currency (8 байтів).

Тип дата-час визначається ідентифікатором типу TDateTime і призначений для зберігання дати і часу. У внутрішньому представленні займає 8 байтів.

Вирази та операції. Вираз – це форма запису, що вказує, які потрібно взяти операнди і які виконати над ними операції, щоб отримати результат. В ролі операндів у виразі можуть використовуватися константи, змінні і функції (наведені у додатку) різних типів, для яких дозволені певні операції. Вирази обчислюються зліва направо за пріоритетом операцій і врахуванням дужок. Серед операцій встановлено такий пріоритет:

  • унарні +, -, not, @;

  • мультиплікативні *, /, div, mod, and, shl, shr;

  • адитивні +, -, or, xor;

  • відношення =, <>, <, >, <=, >=, in.

Oператори. Оператор присвоєння

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

при виконанні цього оператора обчислюється значення виразу і

присвоюється змінній. Вираз і змінна повинні бути сумісними за присвоєнням.

Складений оператор – це послідовність довільних операторів, узятих в операторні дужки begin … end. Ця послідовність операторів розглядається як одне ціле.

Умовний оператор використовується для розгалуження обчислювального процесу і має вигляд

if <умова> then <оператор1> [else <оператор2>];

де if, then, else – зарезервовані слова; <умова> – вираз логічного типу; <оператор1>, <оператор2> – будь-які оператори мови. При виконанні цього оператора обчислюється й аналізується значення виразу. Якщо результат дорівнює true, то виконується <оператор1>, а <оператор2> пропускається; якщо результат дорівнює false, навпаки <оператор1> пропускається, а <оператор2> виконується. Група else <оператор2> може бути відсутньою, тоді при значенні виразу true виконується <оператор1>, а при значенні false <оператор1> пропускається.

Оператор безумовного переходу

goto <мітка>;

означає перейти на оператор з <міткою>.

Оператор вибору дозволяє вибрати одне із можливих продовжень програми і має вигляд

case <ключ_вибору> of

<список_вибору>

[else <оператор>]

end;

де case, of, else, end – зарезервовані слова; <ключ_вибору> – вираз порядкового типу; <список_вибору> – одна або декілька конструкцій виду <список_констант_вибору: оператор>; <константа_вибору> – константа того ж типу, що і вираз <ключ_вибору>; <оператор> – довільний оператор мови. При виконанні оператора вибору обчислюється значення виразу <ключ_вибору> і порівнюється з константами списків вибору. Якщо таке значення знайдено, то вибраний оператор виконується і оператор вибору завершує свою роботу. Якщо в списках вибору не буде знайдена константа, яка відповідає значенню ключа вибору, то виконується оператор групи else, а якщо і його немає, то оператор вибору просто завершує роботу.