Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные элементы языка Pascal




Характеристика процедур и функций

Алфавит и словарь языка Pascal

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

Символы в Pascal

В качестве букв в Pascal используются прописные и строчные буквы латинского алфавита:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

и знак подчеркивания (_);

в качестве десятичных цифр: 0 1 2 3 4 5 6 7 8 9.

Шестнадцатеричные цифры включают десятичные цифры и буквы от A до F (или от a до f).

При написании программ применяются следующие специальные символы:

+ Плюс, Запятая

- Минус. Точка

* Звездочка: Двоеточие

/ Дробная черта [ ] Квадратные скобки

> Больше { } Фигурные скобки

< Меньше $ Знак денежной единицы

= Равно () Круглые скобки

; Точка с запятой ^ Тильда

# Номер @ Коммерческое а

' Апостроф нет обозначения Пробел

Комбинации специальных символов могут образовывать составные символы:

:= Присваивание <= Меньше или равно

<> Не равно >= Больше или равно

.. Диапазон значений (..) Альтернатива [ ]

(* *) Альтернатива { }

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

ПРИМЕЧАНИЕ. Русские буквы в программе должны заключаться в апострофы, например 'Пример текста на русском языке'.

Примеры:

W - прописная латинская буква;
R - прописная латинская буква;
w - строчная латинская буква;
9 - цифра;
$ - специальный символ;
<> - составной символ.

Слова в Pascal

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями и несущие определенный смысл в программе. Разделителями могут служить пробелы, символы конца строки или комментарии. Набор слов, используемый в Pascal, можно разделить на три группы: зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова являются составной частью языка, имеют фиксированное начертание и раз и навсегда определенный смысл. Они не могут изменяться программистом. Зарезервированные слова версии языка Pascal для персональных ЭВМ приведены ниже.

Зарезервированные слова версии языка Pascal

absolute Абсолютный label метка
and Логическое «И» library библиотека
array Массив mod остаток от деления
asm Ассемблер nil Отсутствие
begin Начало блока not логическое «НЕ»
case Вариант or Логическое «ИЛИ»
const Константа of Из
constructor Конструктор object Объект
div Деление нацело packed Упакованный
go to Переход на procedure Процедура
do Выполнять program Программа
downto Уменьшить до record Запись
destructor Деструктор (разрушитель) repeat Повторять
else Иначе set Множество
end Конец блока shl Сдвиг разрядов влево
exports Экспорт shr Сдвиг разрядов вправо
external Внешний string Строка
file Файл then То
for Для to Увеличивая
forward Опережающий type Тип
function Функция unit Модуль
if Если until До
implementation Реализация uses Использовать
in В (входит в...) var Переменная
inline Основной while Пока
interrupt Прерывание with С
interface Интерфейс xor Исключающее «ИЛИ»
inherited Наследование    

Необходимо иметь в виду, что зарезервированные слова нельзя использовать в качестве имен, вводимых программистом для обозначения величин, и т. д.

Группа слов, имеющая определенный смысл, называется словосочетанием. В языке программирования словосочетание, состоящее из слов и символов и задающее правило вычисления некоторого значения, называется выражением. Минимальная конструкция языка, представляющая собой законченную мысль, есть предложение. Если предложение языка программирования задает полное описание некоторого действия, которое необходимо выполнить, оно называется оператором. Предложение, описывающее структуру и организацию данных - объектов языка, над которыми производятся различные действия, называется описанием.

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

Формальные методы описания синтаксических конструкций языка программирования

Для описания синтаксических конструкций языка программирования в настоящее время наиболее распространены два формальных метода. Первый использует форму записи, предложенную Джоном Бэкусом и Питером Науром, когда они описывали синтаксис языка Алгол-60. С тех пор эта форма называется Backus Naur Form, или сокращенно BNF.

Другой формальный метод, наглядно представляющий синтаксические конструкции языка в графическом виде, использует синтаксические диаграммы. Популяризировал синтаксические диаграммы создатель языка Pascal Н. Вирт, и поэтому их часто называют синтаксическими диаграммами Вирта.

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

Например: <Ch02_01>

Чтобы получить правильные грамматические конструкции языка, используя синтаксические диаграммы, нужно идти по путям, указанным стрелками, от одного четырехугольника к другому до тех пор, пока не встретится выход. Там, где предусмотрено более одного направления движения, можно выбирать любое. Если по пути встречается ссылка к другой синтаксической диаграмме, то следует войти в эту новую диаграмму, пройти по ней, выйти из нее и возвратиться на старое место в первоначальной диаграмме. Если по пути движения встречается точка, то это означает, что данный путь характерен только для Turbo Pascal и является расширением стандарта языка.

Варианты представления синтаксических конструкций языка программирования методом BNF или методом синтаксических диаграмм являются тождественными.

Идентификаторы

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

Стандартные идентификаторы

Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы, например: integer, Sin, Cos, Ln, Sqr, Sqrt, Read, Readln, Write, Writeln. В этом примере стандартный идентификатор Sin вызывает функцию, вычисляющую синус заданного угла, Read, Readln вызывают процедуру, организующую ввод данных, Write, Writeln вызывают процедуру, организующую вывод данных. Любой из стандартных идентификаторов, в отличие от зарезервированных слов, можно переопределить, но это чаще всего приводит к ошибкам. Поэтому на практике стандартные идентификаторы лучше использовать без каких-либо изменений.

Пользовательские идентификаторы

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

Компилятор Turbo Pascal строго следит за этим, и если это требование не соблюдается, то компиляция прерывается, а на экран выводится сообщение об ошибке "Error 4: Duplicate identifier" и указывается дублирующийся идентификатор.

Синтаксическая диаграмма понятия "идентификатор" выглядит следующим образом:

<Ch02_02>

В идентификатор не могут входить пробелы и специальные символы. Обратите внимание, что буквы русского алфавита не могут входить в идентификатор Turbo Pascal.

При написании программ следует соблюдать общие правила написания идентификаторов.

1. Идентификатор может начинаться только с буквы или знака подчеркивания (исключение составляют метки, которые могут начинаться также и с цифры).

2. Идентификатор может состоять из букв, цифр и знаков подчеркивания (пробелы, точки и другие специальные символы недопустимы).

3. Между двумя идентификаторами должен быть по крайней мере один пробел.

4. Максимальная длина идентификатора составляет 127 символов, но значимыми являются только первые 63 символа.

5. При записи идентификаторов можно использовать как прописные, так и строчные буквы. Компилятор не делает различий между ними, хотя они и имеют различные ASCII-коды. На практике рекомендуется применять эту особенность для более простого чтения и понимания значений идентификаторов. Так, вместо идентификатора nomerotdela eo?oa iaienaou NomerOtdela, auaaeea i?iieniuie aoeaaie ea?ao? ec aaoo смысловых частей.

Правильно выбранные идентификаторы значительно облегчают чтение и понимание программы, а также уменьшают вероятность появления ошибок при модификации программ. Например, значение даты удобнее обозначить идентификатором Data, чем просто буквой D или любым другим символом.

Примеры:

Metka12

2graph - ошибка, идентификатор начинается с цифры

Block_56

Nomer.Doma - ошибка, идентификатор содержит точку

Сумма - ошибка, идентификатор содержит буквы русского алфавита.

Константы и переменные

Как и в других языках программирования, в Pascal данные делятся на константы и переменные. В программе константы и переменные определяются идентификаторами (именами), по которым к ним можно обращаться для получения текущих значений.

Константами называются элементы данных, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются. Константы задаются пользовательскими идентификаторами. Например, если вы используете в программе ваше имя, то его лучше всего задать константой, так как имя не меняет своего значения.

Синтаксическая диаграмма определения константы выглядит следующим образом:

<Ch02_01>

Все константы должны быть описаны в специальном разделе, который начинается зарезервированным словом const (constant - константа).

Формат:

const

<идентификатор> = <значение константы>;

Например:

const

MyName = 'Петя Иванов';

MyBirthDay = '27 августа 1950 г';

Max = 1000;

Min = 0;

Center = (Max - Min) / 2;

Num_School = 86;

В Pascal имеется ряд констант, к значениям которых можно обращаться без предварительного определения. Их называют зарезервированными константами. Наиболее употребительные из них приведены в табл. 2.1.

Зарезервированные константы

Идентификатор Тип Значение Описание
True boolean True "Истина"
False boolean False "Ложь"
Maxint integer   Максимальное целое

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

Тип переменных должен быть описан перед тем, как с переменными будут выполняться какие-либо действия. Тем самым мы как бы сообщаем компьютеру, какие ячейки памяти следует использовать для хранения данных в программе.

Само название "переменная" подразумевает, что содержимое объявленной области памяти будет изменяться в ходе выполнения программы. Переменные описываются в специальном разделе, который начинается зарезервированным словом var (variable - переменная). Формат:

var

<идентификатор>: <тип>;

Пример.

var

A, B: integer;

Summa: real;

Имя переменной подобно ящичку, который можно заполнить различными значениями, чего нельзя сделать с константой.

Синтаксическая диаграмма определения переменных выглядит следующим образом:

<Ch02_03>

Кроме констант и переменных существуют так называемые типизированные константы, которые являются своеобразным промежуточным звеном между переменными и константами. Слово "константа" означает, что данные этого типа описываются в разделе const, а слово "типизированная" указывает, что для них должен указываться и тип, как у переменных. Формат:

const

<идентификатор>:<тип>=<значение>;

Пример:

const

VideoSeg: word = $B800;

Ocenka: byte=4;

Predmet: string='Информатика';

Синтаксическая диаграмма определения типизированных констант записывается следующим образом:

<Ch02_04>

В прикладном аспекте типизированная константа равнозначна переменной с заранее инициализированным значением, и в программе действия с ней могут производиться так же, как с переменной.

<Ch02_05>

Имена констант и переменных должны соответствовать их назначению, в этом случае программа будет проще для понимания.

 

 




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 2210; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.