Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 [ 78 ] 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95

нем случае идентификатор тина описывается в явном определении типа.

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

Структурные типы данных определяются в результате объявления типа компонентов и метода структурирования. В Паскале различают 4 базисных средства для структурирования: массив, запись, множество и файл. В работе [27] Вирт указывает дополнительно в качестве метода структуру класса и в качестве стандартного типа - текстовый.

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

Операции в Паскале делятся на группы: арифметические - сложения, вычитания, изменения знака, деления, определения остатка; булевы - отрицания, дизъюнкции (ИЛИ), конъюнкции (И); операции над множествами - объединения, пересечения и разности множеств; отношения - равенства, неравенства, порядка, принадлежности множеству. Результаты операций отношений являются булевыми. i

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

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

Таким образом, комментарий - это {< любая последовательность символов, не содержащая } >} или (>< (любая последовательность символов, не содержащая ) ).

В любом другом контексте символы {и} так же, как и символы : : = н I, являются метасимволами и используются для формального представления синтаксиса языка в соответствии с общепринятой формой Бэкуса-Наура [27].

Словарь Паскаля. Словарь языка состоит из основных символов, которые разделены па три группы: буквы, цифры и специальные символы.

(буква): : = AB;ODEFlGiHiHJ,K!LMNlO:PiQ;R,S;TiUV \ViXYZ!a:bicidlelfighjiljlk,limin;olp,qiri

s;tiu;vWix;y,z



(цифра): : = 0Г231?567819

(специальныйсимвол):: = +1 - 1 / = ()()1( = ) = ()

[111 {I} 1: = I И : 1 : П t divlmodniIliii or ] and I not I if I then 1 else case l of repeat until I while do 1-for to downto beginlend with 1 goto I coust I var type array record; set I file I function j procedure label ] packed ] program

Идентификаторы и ключевые слова. Идентификаторы в Паскале служат для обозначения констант, типов, переменных, процедур й функций. Каждый идентификатор должен быть связан с одним объектом в области известности, т. е. внутри процедуры или функции, где он объявлен, например, (идентификатор):: = (буква) {(буква),(цифра)).

Рис. 7.1.

Цирра

Ключевые слова в языке - резервные. Они не могут быть идентификаторами пользователя и служат для распознавания транслятором различных типов исполняемых утверждений языка и объявления:

if (если) - условный оператор for (для) - циклический оператор record (запись) - тип данных запись и т. д.

Данные Паскаля. Логические (булевы) значения указываются идентификаторами true и false.

Целые числа имеют десятичное представление: 100, 1-415 и т. д. Вещественные и целы числа можно изобразить синтаксическим графом (рис. 7.1). В соответствии с источником [14], для представления синтаксического графа приняты следующие обозначения: О - терминальный элемент, О - синтаксический класс;

- определяет выбор следующего элемента графа для построения вывода.

Строки состоят из п символов в кавычках типа packed array [1...П] of char (см. далее): PASCAL, PACKED ARRAY и т. д.

Константы в Паскале могут получать имена. Это делает программу более наглядной и облегчает ее понимание. Объявление константы описывается следующим образом:

(объявление константы) ;: = const (идентификатор) = (константа) {(идентификатор) = (константа);)

const р1 =3.14

const delta = 0,998

const stroka = string и т. д.



Простые типы данных. Тип данных определяет множество вначений, которые могут приобретать переменные данного типа. Объявление типа связывает идентификатор типа с некоторым типом данных:

(тип) !; = (простой тип)\(структурированный тип)

(указательный тип) (определение типа) :! = type (идентификатор) = (тип);

{(идентификатор) = (тип);}

Синтаксический граф для построения простого типа можно представить в виде, изображенном на рис. 7.2.

Основной тип данных Паскаля является скалярным типом. Он определяется простым указанием множества значений, например,

type music = (С, D, Е, F, G, А, И, #, bem, dim, 7, 6, 9); Boolean = (false, true)

mxa-

mop тс

1- Константа

Идентидзи-натор

Константа -i

Рис. 7.2,

Поддиапазонный тип определяется для любого другого определенного ранее ассоциативного скалярного типа:

type months = (January, februsry, march april, may, June, July, august, September, October, november, december); (scalar type}

autumn = September .. november; {subrange type}

Поддиапазонный тип позволяет экономно расходовать память микроэвм и обеспечивает контроль данных в период выполнения программы.

К простым типам данных относятся также стандартные типы:

integer, real, Boolean и char

Структурные типы данных и указательный тип. Правила построения утверждений для указания структурных типов и указательного типа можно представить в формализованном виде с помощью синтаксического графа (рис. 7.3).

Структурными типами являются; массив, запись, множество, файл.

Массив состоит из фиксированного числа компонентов одинакового типа, называемого базисным, или компонентным типом.

Определение массива специфицирует как компонентный, так и индексный тип. Последний необходим для именования элементов массива. Например, утверждение: type ZETA = array [l..n, l..m] of real определяет тип ZETA - массив с компонентами типа real (пит - синонимы некоторых констант).



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 [ 78 ] 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95