2.1 Історична довідка
Pascal - розроблений в 1968 - 1971 роках Ніклаус Віртом в Цюріхському Інституті Інформатики (Швейцарія).
Мета - інструмент для навчання програмуванню як систематичній дисципліні. Виявилася надзвичайна ефективність при застосуванні і надійність програмування.
Паскаль - мова, орієнтований на машину фон-неймановского типу; такі мови називаються імперативними (imperative - містить вказівку на виконання деякого дії) або процедурними.
Ми будемо описувати Турбо-Паскаль (розширення стандарту Паскаля).
2.2 Алфавіт мови Паскаль
Основні символи мови (лексеми) - або окремі літери на клавіатурі, або їх деякі комбінації.
<буква>:: = a | b |. | Z | A | B |. | Z | _
<спецсимвол>:: = <знак арифметической операции>|
<знак операции сравнение>|
<знак арифметической операции>:: = * | / | + | -
<знак операции сравнения>:: = = | <>| <|>| <=|>=
Службові слова - «зарезервовані» слова - служать для певних цілей.
<служебные слова>:: = begin | end | var | const | if | then | else | function | for |.
2.3 Змінні
Вміст пам'яті (і певних регістрів) характеризує стан фон-неймановской машини. Виконання програм цими машинами орієнтоване суто на зміну станів. Відповідно до цього в машині крок за кроком виконуються певні інструкції (команди), і з кожним кроком змінюється стан пам'яті, тобто вміст певних осередків пам'яті. З будь-яким елементом даних, що використовуються в алгоритмічній мові, пов'язане таке поняття мови як змінна. Будь-яка змінна має ім'я (позначення) і значення. Мінлива іменує своє значення - елемент даних. Значення змінної під час роботи програми змінюється. У мові Паскаль будь-яка змінна використовується тільки в рамках якоїсь певної обчислювальної структури, тобто значенням конкретної змінної може бути тільки елемент даних певного типу.
Ім'я змінної в Паскалі синтаксично описується за допомогою ідентифікаторів:
Довжина ідентифікатора довільна, але компілятор з мови Турбо-Паскаль сприймає тільки перші 63 символи.
2.4 Основні поняття мови Паскаль
Оператори.Каждий оператор представляє закінчену фразу мови і означає якийсь цілком закінчений етап обробки даних.
Основні оператори (не містять в своєму складі інших операторів):
Оператор присвоювання. Призначений для зміни значень змінних.
Оператор введення (читання). Призначений для введення в програму вхідних даних.
Оператор виводу (записи). Призначений для виведення з програми результатів роботи.
З заданих операторів за допомогою композицій різних форм можна отримувати оператори, які називаються похідними операторами. Різні форми композиції операторів дозволяють задавати послідовне виконання, розгалуження за умовою і повторення.
Описи даних. Програма на Паскалі починається з опису використовуваних змінних. Для кожної змінної вказується її ім'я і тип значення.
Опис послідовності дій, які необхідно виконати, слід після опису всіх змінних.
Приклад опису змінних:
У програмі на мові Паскаль будь-яка використовувана змінна, за винятком системних (предопісанних). повинна бути визначена, причому визначення змінної повинно текстуально передувати першому її використання. Область популярності ( «видимості») змінної обмежується блоком. в якому вона визначена. Кожна змінна, описана в блоці, повинна згадуватися в описах не більше одного разу. Це відноситься не тільки до змінних, а взагалі до всіх ідентифікаторів.
Паскаль допускає введення в програми об'єктів, зовні схожих на змінні, але які, на відміну від них, не можуть змінювати своє значення. Такі об'єкти називаються константами. Можна сказати, що ідентифікатор константи є синонімом деякого певного значення, яке зіставляється з цим ідентифікатором при описі.
Приклад опису констант:
Тип константи визначається за її значенням.
Константа може входити в усі конструкції, в яких може бути присутнім пов'язане з нею значення. Природно, не допускаються ситуації, коли ідентифікатором константи пропонується змінити значення.
Використання в програмі ідентифікаторів констант замість запису конкретних значень вважається хорошим стилем програмування, так як робить програму більш «читабельною» і сприяє кращому її розумінню, без якого б то не було зниження ефективності (в частині швидкодії та обсягу займаної пам'яті). Крім того, якщо деякі важливі для програми значення позначені ідентифікаторами (наприклад, межі масивів, показники точності обчислень), то при необхідності їх легко змінити, виправивши опис відповідних констант. В іншому випадку ці значення будуть «розчинені» в тексті програми і доведеться переглядати її цілком, щоб зробити потрібні зміни.
Груба схема програми: