Основные объекты языка
Как и любой другой язык, Паскаль имеет свой алфавит. Программа, написанная на Паскале, состоит из лексем и разделителей. В лексемы Паскаля входят специальные символы, символы-слова, имена, числа, строки символов и директивы. Ниже приведены стандартные или зарезервированные лексемы языка Паскаль. Буквы: латинские от A до Z, от a до z и русские от А до Я, от а до я Цифры: 0 1 2 3 4 5 6 7 8 9 Специальные символы: + - * / = ^ < > () [ ] { }.,:; ' # $ Зарезервированные слова:
Стандартные идентификаторы (имена): Arctan ConInPtr FilePos Length Port Sqr Assign ConOutPt FileSize Ln Pos Sqrt Aux Concat FileChar Lo Pred Str AuxInPrt ConstPtr Flush LowVideo Ptr Succ AuxOutPrt Copy Frac Lst Random Swap BlockRead Cos GetMem LstOutPtr Randomize Text BlockWrite CrtExit GotoXY Mark Read Trm Boolean CrtInit HeapPtr MaxInt Readln True BufLen DelLine Hi Mem Real Trunc Byte Delay IOresult MemAvail Release UpCase Chain Delete Input Move Rename Usr Char EOF InsLine New Reset UsrInPtr Chr EOLN Insert NormVideo Rewrite UsrOutPtr Close Erase Int Odd Round Val ClrEol Execute Integer Ord Seek Write ClrScr Exp Kbd Output Sin Writeln ÐÀÇÄÅËÈÒÅËÈ Символами-разделителями считаются пробелы, концы строк (разделители строк) и комментарии. Внутри лексем ни разделители, ни их части встречаться не могут. Между двумя следующими друг за другом лексемами должен обязательно следовать один или несколько разделителей. Комментарии в Паскаль-программе начинаются с символа { или (*и заканчиваются } или *). Сам комментарий может содержать любые символы, кроме } и *). Любой комментарий можно заменить в программе на пробел. Символы-разделители применяются часто для улучшения читаемости программы. Íàïðèìåð: program PRIMER; {Программа сложения натуральных чисел} var I,J,K: integer; begin readln(I,J); { Ввод двух слагаемых } K:=I+J; writeln(I,'+',J,'=',K); {Печать результата в форме 12+3=15} end. Структура Паскаль - программы
Язык Паскаль, как учебный алгоритмический язык, лег в основу разработки школьного алгоритмического языка, поэтому оба они имеют много общего и прежде всего это касается структуры программ (алгоритмов).
Сравнительный анализ представленной схемы показывает, что по своему внешнему оформлению запись алгоритма на школьном алгоритмическом языке и программы на языке Паскаль во многом схожи. Действительно, оба этих описания начинаются с заголовка, в котором обязательно указывается имя алгоритма (программы). Наличие имени связано с тем обстоятельством, что описанный алгоритм в РАЯ и программа в Паскале могут служит вспомогательным алгоритмом (процедурой) для других, более сложных алгоритмов (программ). В обоих языках принято описывать (объявлять) все переменные, фигурирующие в алгоритме (программе) с указанием их типов. Правда, в РАЯ эти переменные подразделяются еще на аргументы, результаты и промежуточные переменные, а в Паскале они просто перечисляются в разделе объявлений. Идентификатор - это последовательность букв или цифр, начинающаяся с буквы. Отметим, что в системе TURBO в идентификаторах могут встречаться не любые буквы, а только латинские. Под оператором понимается указание ЭВМ по выполнению каких-либо действий. Как видно из диаграммы, любая Паскаль-программа имеет имя, за которым может следовать список идентификаторов, заключенных в скобки. Заголовок программы заканчивается точкой с запятой. Затем идут объявления, служащие для описания типов данных, процедур и функций. Далее BEGIN, один или несколько операторов, разделенных точками с запятой, и в конце ставится END с точкой. При написании программ используются лексемы и разделители, определенные алфавитом языка. По написанию инструкций (операторов) Паскаль, как и язык РАЯ, довольно свободен. Инструкция может занимать не одну, а несколько строк. На одной строке можно разместить несколько инструкций. Здесь можно вставлять пробелы и пустые строки (но пробелы в служебных словах недопустимы). Для лучшей читабельности программы строки можно располагать лесенкой.
Типизация данных
Данные - это общее понятие всего того, с чем оперирует ЭВМ. Любой тип данных определяет множество значений, которые может принимать та или иная переменная, и те операции, которые можно к ним применять. Каждая встречающейся в программе переменная может иметь один и только один тип. В Паскале имеется три типа данных: простые, составные и ссылочные. Рассмотрим вначале простой тип данных, представленный на следующей схеме: Начнем рассмотрение с ординальных типов. Под данными ординального типа понимают те, для каждого из которых можно найти их порядковый номер в данном типе. Ординальные типы, таким образом, представляют собой упорядоченные множества. К любому ординальному значению X применимы три следующие встроенные функции: ORD(X) - дает порядковый номер, соответствующий X. Результат относится к типу INTEGER; SUCC(X)- дает следующее за X значение, если X не максимальный элемент соответствующего типа. В последнем случае SUCC(X) суть ошибка; PRED(X)- дает предыдущее X значение, если только X не минимальный элемент соответствующего типа. В последнем случае PRED(X) суть ошибка. Наиболее простыми из ординальных типов являются предописанные или встроенные типы: INTEGER, BOOLEAN и CHAR, которые определяют соответственно числовые, логические (булевские) и литерные (символьные) величины. К встроенному (но не ординальному) типу данных относится также тип REAL. Кроме предописанных, в Паскале существует возможность задавать свои типы данных. К ним относятся перечислимый и диапазонный типы. Каждый из них состоит из элементов предописанных типов, однако, в совокупности они дают совершенно новый тип. Перечислимый тип задается перечислением всех своих элементов, что видно на следующей синтаксической диаграмме: DEN_NED = (MO, TU, WE, TH, FR, SA, SU); MONETA = (1, 2, 3, 5, 10, 20, 50). Диапазонный тип представляет собой подмножество одного из ординальных типов. Его часто называют еще интервальным. ÍÀÏÐÈÌÅÐ: DEN_MES = 1..31; RAB_DEN = MO..SA; LATBUKW = 'A'..'Z'. ЗАМЕЧАНИЕ. Все типы, рассмотренные ранее, включая перечислимый и символьный, называются скалярными. Величины, принадлежащие скалярному типу, - упорядочены (не путать с ординальностью): 3 < 5; 1.2 > -6.8; 'A' < 'C'; true > false; MO > TH.
Объявление данных
С помощью объявлений программист сообщает компилятору, какие данные, процедуры и функции пользователя будут задействованы в программе. Описательная часть программы (объявления) состоит из 5 разделов, которые должны располагаться в следующем порядке: - раздел модулей; - раздел меток; - раздел констант; - раздел типов; - раздел переменных; - раздел процедур и функций. Любой из перечисленных разделов может в объявлении отсутствовать. Раздел описания модулей начинается со служебного слова USES, за которым идет перечень используемых в программе модулей типа CRT, DOS, GRAPH и др. Все эти модули находятся в библиотеке модулей и каждый из них поддерживает соответствующий набор встроенных процедур и функций. Раздел описания меток начинается со служебного слова LABEL, за которым следует список меток, разделяемых запятыми. Меткой может служить любое целое число, содержащее не более четырех цифр. В конце раздела ставится точка с запятой, например: LABEL 342,11,1445; Раздел определения констант начинается со служебного слова CONST. Определение каждой константы содержит идентификатор (имя) константы, знак равенства и значение. Определения отделяются друг от друга точкой с запятой, как показано на диаграмме: НАПРИМЕР: const PI = 3.1415927; E = 2.7182818; Z = 'информатика'. Таким образом, определенные константы принято называть именованными, в отличие от обычных констант программы. Раздел определения типов начинается со служебного слова TYPE. Каждому определенному типу соответствует имя. Данный раздел применяется для описания нестандартных типов (перечислимых, диапазонных и др.). НАПРИМЕР: type COLOR = (black, white, blue, green, red); DEN = 1..31; За разделом типов следует раздел описания переменных. Этот раздел начинается со служебного слова VAR. При объявлении переменных компилятору указывается, сколько переменных используется в программе, какие имена у них и данные, какого типа будут храниться в этих переменных. НАПРИМЕР: var X,Y,Z Ж integer; AD1,AD2: real; TEXT: char; Q: DEN; D: 17..76. Как видно из примера, интервальный тип не обязательно описывать в разделе TYPE, а достаточно это сделать в настоящем разделе. Это замечание касается и других типов данных, о которых речь пойдет позднее.
Популярное: Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (369)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |