
- •Лекция №4 Темы «Синтаксис и семантика языка программирования Паскаль»
- •4.1. Общие определения
- •4.2. Словарь языка Pascal
- •4.3. Компиляция
- •4.4. Структура программы на языке Паскаль
- •Раздел меток (label)
- •Раздел констант (const)
- •Раздел типов (type)
- •Раздел переменных (var)
- •Раздел процедур и функций
- •Раздел действий (операторов)
- •4.5. Пунктуация в программах на Паскале
4.3. Компиляция
Программу на Паскале надо предварительно скомпилировать. Компиляция означает перевод исходной программы с языка Pascal вобъектную программу – на язык компьютера. При запуске программы, вычисления производятся по программе в объектном коде, а не по исходной программе.
После компиляции имеются две версии программы: одна на Паскале, другая на языке компьютера (или близком к нему). Если посмотреть на объектную программу, то на экране будут непонятные «слова» и закорючки.
Программы на языке Pascal и других компилируемых языках выполняются немного быстрее, чем программы с интерпретируемых языков (например, Бейсика). Это связано с тем, что объектная программа на языке близком к языку компьютера (или непосредственно в командах компьютера) выполняется весьма эффективно, в то время как инструкции программы на интерпретируемых языках выполняются путем непосредственного перевода исходного кода на язык компьютера. Платой за выигрыш в скорости выполнения скомпилированной программы служат неизбежные затраты времени на компиляцию и связанные с этим неудобства. Правда, в большинстве систем предусмотрена возможность сохранения объектных программ, а значит и повторного их выполнения без рекомпиляции.
Сначала исходная программа записывается программистом (редактируется), после чего сохраняется на диске под произвольным именем.
На следующем шаге в память загружаются компилятор и исходный текст программы. Компилятор «читает» ее, превращая в объектный код, который затем также сохраняется на диске.
Последний шаг – выполнение программы. В компьютерную память загружается именно объектный (исполняемый) код. Выполняющаяся программа может предполагать ввод данных (input) с клавиатуры и вывод результатов (output) на экран. Это довольно распространенная схема ввода-вывода данных, стандартная в Паскале, но, разумеется, не единственная. Язык был разработан еще тогда, когда файлы хранились на магнитной ленте, ввод осуществлялся с перфокарт, а вывод – на печатающее устройство.
4.4. Структура программы на языке Паскаль
Программа состоит из заголовка и блока.
Заголовок программы
В заголовке указывается имя программы и список параметров. Общий вид:
program n (input, output, x, y,…);
здесь n – имя программы; input – файл ввода; output – файл вывода; x, y – внешние файлы, используемые в программе.
Заголовка может и не быть или он может быть без параметров.
Блок
Блок программы состоит из шести разделов, следующих в строго определенном порядке:
раздел меток (label)
раздел констант (const)
раздел типов (type)
раздел переменных (var)
раздел процедур и функций
раздел действий (операторов).
Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать.
Каждый из первых четырех разделов начинается с соответствующего ключевого слова (label, const, type, var), которое записывается один раз в начале раздела и отделяется от последующей информации только пробелом, либо концом строки, либо комментарием.
Раздел меток (label)
Любой выполняемый оператор может быть снабжен меткой – целой положительной константой, содержащей не более 4-х цифр. Все метки, встречающиеся в программе, должны быть описаны в разделе label.
Общий вид:
label l1, l2, l3…;
здесь l1, l2, l3 – метки.
Пример. label 5, 10, 100;
Метка отделяется от оператора двоеточием.
Пример. Пусть оператор a := b имеет метку 20. Тогда этот оператор выглядит так:
20: a := b;