Введение в язык паскаль. Общая характеристика языка паскаль, страница 5

Вводимые в употребление функции и процедуры должны быть определены (описаны) в разделе функций и процедур Паскаль-программы. При 'таком описании каждой функции (процедуре) дается свое имя. Сама процедура формулируется, в основном в терминах формальных параметров — идентификаторов, которые в описании процедуры представляют те заранее не фиксируемые значения или программные объекты, к которым должна применяться эта процедура. Все эти формальные параметры в явном виде перечисляются в описании процедуры или функции.

Для использования в программе какой-либо функции или процедуры достаточно указать ее имя и задать ее фактические параметры, т.е. те конкретные значения и (или) объекты, к которым должна быть применена указанная процедура или функция. Для обращения к функциям и процедурам в паскале имеются соответствующие понятия — вызов функции и оператор процедуры.

Некоторые функции и процедуры, например элементарные функции математического анализа (sin(.<), \n(x) и т.д.) или процедуры ввода/вывода используются во многих программах. Для удобства их использования, в паскале зафиксирован некоторый набор так называемых стандартных функций и процедур, которые можно использовать в любой программе без их явного описания. Можно считать, что к началу трансляции любой Паскаль-программы в соответствующий ее раздел автоматически вставляются описания всех стандартных функций и процедур, используемых в этой программе. За каждой из них в языке закреплено некоторое стандартное имя. Однако эти имена не являются зарезервированными словами, так что программист может по своему усмотрению переопределить любое из этих стандартных имен.

Стандарт языка и его реализации

Алгоритмический язык, как правило, предназначается для его использования очень широким кругом лиц - целый ряд таких языков имеет международный характер. Чтобы иметь возможность широкого обмена алгоритмами, записанными на таком языке, и обеспечить их однозначное понимание, обычно принимается некоторый стандарт (государственный или международный) языка, т.е. дается его "эталонное" описание, позволяющее единым способом записывать и трактовать сформулированные на этом языке алгоритмы.

Однако практика показывает, что даже при наличии стандарта (в том числе и международного) на тот или иной язык, фактически используется несколько различных его версий, своего рода "диалектов языка". Это неожиданное на первый взгляд обстоятельство порождается целым рядом причин, порой весьма веских. Например, некоторые свойства и возможности языка могут быть полезными и удобными лишь для сравнительно узкого круга специальных задач, а реализация этих возможностей оказывается весьма затруднительной. Это может привести как к усложнению транслятора и замедлению его работы, так и к потере эффективности программ, получаемых в результате трансляции на машинный язык — например с точки зрения их быстродействия (т.е. затрат машинного времени на их выполнение) или расходования памяти машины. Если же такие специальные задачи в той или иной организации встречаются сравнительно редко, то для устранения указанных выше недостатков целесообразно исключить из языка такие возможности. В подобного рода случаях получается версия языка, являющаяся подмножеством эталонного языка.

Возможна и другая ситуация — в язык можно включить некоторые дополнительные возможности, что позволяет удобно использовать этот язык и для некоторого дополнительного круга задач, на решение которых эталонный язык не был явно ориентирован. Получаемая при этом версия языка будет расширением эталонного языка.