Алгоритмический язык ПАСКАЛЬ, названный в честь французского математика Блейза Паскаля, был разработан в начале 70-х годов Н. Виртом специально для обучения студентов структурному программированию.
Он выгодно отличается от других распространенных алгоритмических языков возможностью ясно и логично записывать программы. По своей идеологии ПАСКАЛЬ хорошо приспособлен к естественной для человека технологии нисходящего проектирования (пошаговой детализации) и позволяет обходиться без помощи блок-схем или специальных языков проектирования программ.
Язык оказался столь удачен, что многие разработчики программного обеспечения снабжают свои прикладные системы встроенными языками управления по своей структуре и синтаксису похожими на ПАСКАЛЬ. Паскалеобразные языки часто используют в литературе по компьютерным системам, в том числе инженерным, для описания алгоритмов работы.
Структура программ на языке ПАСКАЛЬ
Язык построен на принципе:
Алгоритмы + Структуры данных = Программы.
Поэтому программа, написанная на языке ПАСКАЛЬ, состоит из двух частей:
- описания данных, над которыми должны быть выполнены действия.
- описания действий, которые должны быть выполнены,
В тексте программы описание данных стоит перед описанием действий. В этом выражается общее правило языка – каждый нестандартный элемент данных необходимо описывать до его использования.
!!! Вначале, что есть что, а, затем, что же с этим делать.
Мы тоже будем придерживаться этого принципа.
Программа может быть, как угодно разбита на строки - смысл ее от этого не меняется (нельзя только переносить слова с одной строки на другую). Поэтому следует располагать программу на экране как можно нагляднее.
В среде программистов выработался определенный стиль оформления ПАСКАЛЬ‑ программ, которого мы будем придерживаться в примерах. И Вам, советуем оформлять свои программы подобным образом. Такой стиль позволяет легко проверять программу и допускать меньше ошибок при ее написании.
!!! Наглядность и простота - главный враг ошибок.
program <Имя программы> (input, output); { Заголовок программы }
(* <Краткое описание назначения программы > *)
label { Раздел описания меток }
< Номер метки>, (* < Назначение метки> *)
…
<Номер метки>; (* < Назначение метки> *)
const {Раздел описания констант}
<Имя константы> = <Значение константы>; (* < Назначение константы> *)
…
<Имя константы> = <Значение константы>; (* < Назначение константы> *)
type {Раздел описания типов}
<Имя типа> = <Описание типа>; (* < Назначение типа> *)
… –
<Имя типа> = <Описание типа>; (* < Назначение типа> *)
var {Раздел описания переменных}
<Список имен переменных>: <Имя типа переменной>; (* < Назначение переменной> *)
…
<Список имен переменных>: <Имя типа переменной>; (* <Назначение переменной> *)
{ Раздел описания процедур и функций }
begin {Тело программы} (* <Имя программы> *)
<Оператор>;
…
<Оператор>;
end. (* <Имя программы > *)
Наличие всех пяти секций объявлений - label, const, type, var, procedure и function в программе необязательно. В стандартном Паскале, секции должны включаться в программу строго в указанном порядке. TurboPascal обеспечивает гибкую структуру программы. Главное - это оператор program должен быть первым, а тело программы последним. Порядок описания остальных секций жестко не регламентирован, но идентификаторы (имена) должны быть описаны до первого их использования во избежание ошибок компиляции. Мы не рекомендуем привыкать к этим возможностям TurboPascal, также как и другими отклонениями от стандарта.
Алфавит языка ПАСКАЛЬ.
Алфавит любого языка - это фиксированный набор литер, т. е. различимых графических изображений, каждое из которых рассматривается как единое целое, даже если оно и состоит из отдельных частей (например, буква Ы русского языка).
Для записи программ на языке ПАСКАЛЬ используется следующий набор литер (т.к. литеры “”, двойные кавычки, не используются, то мы будем выделять им разрешенные литеры):
- большие и маленькие буквы латинского алфавита (“A”.. “Z” и “a”.. “z”);
- арабские цифры (“0”.. “9”);
- знаки арифметических операций “+”, “-”, “*”, “/”;
- знаки операций отношения “>”, “<”, “=”;
- разделители “.”, “,”, “;”, “:”, “(”, “)”,“{”, “}”, “[”, “]”, “'”, “^”, “ ”.