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)
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 (пит - синонимы некоторых констант). |