- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Розділ оголошень і угод
- •Розділ текстів процедур і функцій
- •Розділ основного блоку програми
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •1. Оператор if.
- •2. Оператор вибору (case)
- •Оператори циклів у Паскалі
- •1. Цикл із післяумовою (Repeat)
- •2. Цикл із предумовою (While)
- •3. Цикл із лічильником або параметром (For)
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •If підходить тнеn
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •1. Оголошення файлової змінної і прив'язка до файлу на диску
- •2. Читання даних з файлу
- •3. Запис даних у файл
- •Двійкові файли
- •1. Типізовані файли
- •2. Нетипізовані файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •1. Масив
- •2. Список
- •3. Дерево
- •2. Алгоритми
- •1. Лінійний пошук у масиві
- •2. Двійковий пошук
- •3. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Алфавіт мови
Текст програми мовою Turbo Pascal повинний міститися в дисковому файлі стандартної для MS-DOS структури. Цей файл може бути сформований будь-яким доступним текстовим редактором (зокрема, убудованим редактором системи Turbo Pascal).
Текст Pascal-програми являє собою послідовність рядків, що складаються із символів, що утворюють алфавіт мови. Рядки програми завершуються спеціальними керуючими символами, що не входять в алфавіт. Максимальна довжина рядка складає 126 символів.
Алфавіт мови складається з наступних символів:
Заголовні і рядкові латинські букви і символ ’підчеркування’:
A,B,C...,X,Y,Z,a,b,c,...,x,y,z,
Зверніть увагу, що в мові Turbo Pascal символ 'підчеркування' вважається буквою.
Букви використовуються для формування ідентифікаторів і службових слів.
Десять арабських цифр від 0 до 9:
0,1,2,3,4,5,6,7,8,9
Цифри використовуються для запису чисел і ідентифікаторів.
Двадцять два спеціальних символи:
+ - * / = > < . , ; :
@ ' ( ) [ ] { } # $ ^
Спеціальні символи використовуються для конструювання знаків операцій, виразів, коментарів, а також як синтаксичні роздільники.
Службові (зарезервовані) слова.
Це обмежена група слів, побудованих з букв. Кожне службове слово являє собою неподільне утворення, зміст якого фіксований у мові. Службові слова НЕ МОЖНА використовувати як імена, що вводяться програмістом (тобто як ідентифікатори змінних, констант і т.д.).
Усі 55 службових слів мови представлені нижче.
absolute |
array |
and |
asm |
assembler |
not |
begin |
object |
case |
of |
const |
or |
constructor |
packed |
destructor |
private |
div |
procedure |
do |
program |
downto |
record |
else |
repeat |
end |
set |
external |
shl |
file |
shr |
for |
string |
forward |
then |
function |
to |
goto |
type |
if |
unit |
implementation |
until |
in |
uses |
inline |
var |
interface |
virtual |
interrupt |
while |
label |
with |
mod |
xor |
nil |
|
Помітимо, що синтаксис мови Turbo Pascal насправді допускає використання деяких службових слів як ідентифікатори (до числа таких слів відносяться assembler, external, forward, interrupt, private, virtual). Строго говорячи, ці слова називаються в мові директивами. Однак з метою більшої ясності програм використання директив як ідентифікатори не рекомендується.
Структура програми мови Turbo Pascal
Приведемо найпростіший приклад програми, єдина мета якої – вивести на екран яке-небудь вітання:
program Hello;
begin
writeln('Hello, world!');
readln;
end.
Перший рядок нічого не робить, він просто містить назву програми. Потім, після слова begin починаються власне дії. У нашій програмі їх дві: перша – це виведення рядка «Hello, world» на екран, а друга – чекання натискання клавіші «Enter», воно потрібно для того, щоб можна було побачити результат програми, а потім уже натиснути «Enter» і повернутися в Турбо-Паскаль. І, нарешті, слово end із крапкою в останньому рядку говорить про те, що програма закінчилася. Дії, з яких складається програма, називаються операторами, вони відокремлюються один від одного крапкою з комою.
А тепер приведемо приклад, у якому програма вже не «глуха», тобто може запитувати які-небудь дані в користувача. Нехай потрібно запитати в користувача два числа, після цього вивести на екран їхній добуток:
program AxB;
var a,b: integer;
begin
writeln('Уведіть a і b');
readln(a,b);
writeln('Добуток дорівнює ',a*b);
readln;
end;
У цій програмі перед словом begin з'являється новий рядок, що починається словом var. У ній ми вказуємо, що програмі знадобиться дві перемінні (a і b), у яких можна зберігати цілі числа (слово integer).
Про те, що робить перший оператор, нам відомо: він виводить на екран рядок 'Уведіть a і b'. При виконанні другого оператора програма буде чекати, поки користувач не введе число з клавіатури і не натисне «Enter»; це число програма запише в змінну a, потім те ж саме робиться для змінної b. Третім оператором виводимо на екран спочатку напис «Добуток дорівнює », а потім значення виразу a*b («*» ( знак множення). Четвертий оператор пояснень не вимагає.
А тепер розглянемо структуру програми в загальному виді. Будь-яка програма на Турбо-Паскалі складається з трьох блоків: блоку оголошень, блоку опису процедур і функцій і блоку основної програми. Нижче ці блоки розписані більш докладно.