1.1 Алфавит. Основные понятия
Основу любого языка составляет алфавит, то есть конечный, фиксированный набор символов, используемых для составления текстов на данном языке.
Основные элементы, составляющие алфавит языка Паскаль, можно разбить на несколько групп в соответствии с их смысловыми значениями:
- основные символы (буквы латинского и русского алфавитов, арабские цифры, знаки арифметических операций, знаки отношений, кавычки, точка, запятая, точка с запятой, двоеточие, апостроф, скобки и т.п.);
- служебные слова (and, array, begin, case и т.п.);
- стандартные идентификаторы (true, false, integer, sin, abs и т.п.).
Использование символов первой группы чаще всего вопросов не вызывает, но свои тонкости здесь имеются. Во-первых, это употребление заглавных и строчных букв. Большинство существующих трансляторов не различают буквы разных регистров. Таким образом, записи «program» и «PROGRAM» будем считать идентичными. Во-вторых, некоторые символы латиницы и кириллицы совпадают по начертанию. На вид они может 11 быть и похожи, но уж коды у них совершенно разные, а компьютер, как известно, оперирует внутри себя не буквами, а их числовыми кодами. По поводу привычных арабских цифр сказать можно только то, что с их помощью записываются не только числа. Цифры в качестве обыкновенных символов могут использоваться в различных других конструкциях языка.
Наиболее часто употребляемым специальным символом является пробел. Не следует путать наличие пробела с отсутствием символа. Распишем подробно основные символы:
1. прописных и строчных букв латинского алфавита;
2. арабских цифр от 0 до 9;
3. , разделение элементов списков;
4. . указание диапазона;
5. : используется в составе оператора присваивания, а также для указания формата вывода в операторе Writeln;
6. ; отделяет один раздел программы от другого, разделяет операторы;
7. ' используется для ограничения строковых констант;
8. - + * / ( ) арифметические знаки (используются по своему назначению);
9. <,>,>=,<= знаки отношений;
10. = используется в составе оператора присваивания, в разделах описаний констант и типов, используется как знак отношения (равно);
11. @ имя специального оператора определения адреса переменной;
12. ^ используется для именования динамических переменных;
13. {} ограничение комментариев в программе;
14. [ ] заключают в себе индексы элементов массивов;
15. _ символ подчеркивания используется также как любая буква, например, в идентификаторах - вместо пробела;
16. # обозначение символа по его коду;
17. $ обозначение директивы компилятора, обозначение шестнадцатеричного числа.
Возникает вопрос, а как же быть с русскими буквами и другими знаками, имеющимися на клавиатуре? Некоторые версии Паскаля допускают их использование в программе, но стандарт языка этого не подразумевает. Поэтому включать эти символы в программу можно только в качестве строковых констант или внутри комментария, то есть там, где транслятор при компиляции их игнорирует. При использовании этих знаков в качестве данных, они равноправны со всеми символами, которые может хранить в памяти и обрабатывать компьютер.
Примечание.Русские буквы в программе должны заключаться в апострофы, например, 'Пример текста на русском языке'.
Слова- это неделимые последовательности знаков алфавита, отделенные друг от друга разделителями и несущие определенный смысл в программе.
Набор слов, используемых в Паскале, можно разделить на 3 группы: зарезервированные (служебные) слова, стандартные идентификаторы и идентификаторы пользователя.
Зарезервированные словаявляются составной частью языка, имеют фиксированное начертание и раз, и навсегда определенный смысл. Они не могут изменяться программистом.
Заголовки, то есть первые операторы программ и библиотечных модулей - это program и unit. Для описания переменных, констант и составных частей программы - подпрограмм-процедур и подпрограмм-функций - используются зарезервированные слова var, const, procedure, function. Операторы описания типов переменных, задаваемых пользователем, - это type, array, string, record...end, file of Слова, используемые для программирования составных операторов, а также начинающие и оканчивающие последовательность исполняемых операторов программы, - begin и end. Операторами, управляющими ходом выполнения программы (они так и называются - управляющие операторы), являются if-then.else, for.to.do, repeat.until, case.of.end, for.downto.do, while.do. В библиотечных модулях используются зарезервированные слова implementation, interface. Зарезервированные слова для обозначения арифметических и логических операций - div, mod, shl, shr, and, or, not и некоторые другие. В программах, написанных с использованием методов объектно-ориентированного программирования применяются зарезервированные слова object, constructor, destructor, public и virtual.
Идентификаторы- это имена, используемые для обозначения программ, переменных, констант, различных процедур и функции.
Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы.
Для обозначения переменных и постоянных величин, различных процедур, функций, объектов используются имена - идентификаторы, устанавливающие соответствие между объектом и некоторым набором символов. Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы, например:
integer, Sin, Cos, Ln, Sqr, Sqrt, Read, Readln, Write, Writeln.
Для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом, применяются идентификаторы пользователя. Для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом, применяются пользовательские идентификаторы. При этом идентификаторы в программе должны быть уникальными, т. е. в каждом блоке программы один идентификатор не может использоваться для обозначения более чем одной переменной или постоянной величины, и т. д. Компилятор Turbo Pascal строго следит за этим, и если это требование не соблюдается, то компиляция прерывается, а на экран выводится сообщение об ошибке и указывается дублирующийся идентификатор. Синтаксическая диаграмма понятия «идентификатор» выглядит следующим образом: В идентификатор не могут входить пробелы и специальные символы. Обратите внимание, что буквы русского алфавита не могут входить в идентификатор Turbo Pascal.
Имена операторов, переменных, констант, типов величин, имя самой программы назначаются программистом и называются в Паскале идентификаторами.
Общие правила написания идентификаторов:
- идентификатор должен быть уникальным, то есть одним и тем же именем разные объекты не могут быть названы;
- идентификатор имеет ограничение по длине (зависит от конкретной реализации языка на компьютере);
- между двумя идентификаторами должен быть по крайней мере один пробел;
- максимальная длина идентификатора составляет 127 символов, но значимыми являются только первые 63 символа.;
- идентификатор может состоять только из символов латинского алфавита, цифр и знака подчеркивания («_»);
- идентификатор не может начинаться с цифры.
Правильно выбранные идентификаторы значительно облегчают чтение и понимание программы, а также уменьшают вероятность появления ошибок при модификации программ. Например, значение даты удобнее обозначить идентификатором Data, чем просто буквой D или любым другим символом.
Примеры:
metka12
2graf - ошибка, идентификатор начинается с цифры
Blok_2
сумма – ошибка, русские буквы.
Общие правила записи программы:
При записи программы на языке программирования Паскаль необходимо придерживаться некоторых общепринятых соглашений:
- Служебные слова, значение которых зарезервировано раз и навсегда, нельзя использовать ни для каких других целей (для обозначения имен переменных, для заголовка программы, для имени процедуры или функции, определенной пользователем и т.п.);
- Заглавные и прописные буквы не различаются;
- Буквы русского алфавита могут быть использованы только в комментариях или в строковых выражениях.
1.2 Константы и переменные
Решение задачи на компьютере - это процесс сбора, обработки и передачи информации. Поэтому любая программа имеет смысл, если она обрабатывает какие-либо данные (величины).
Величина- это основное средство представления и хранения информации в программе.
Как и в других языках программирования, в Паскале данные разделяются на константы и переменные. В программе они определяются идентификаторами, по которым к ним можно обращаться для получения текущих значений.
Константаминазываются величины, значения которых установлены в описательной части программы и в процессе выполнения программы не изменяются.
Значения констант устанавливаются в специальном разделе программы, который начинается служебным словом CONST.
Раздел описания const позволяет ввести в программу идентификаторы, являющиеся синонимами (представителями) определенных значений. Описание константы представляет собой пару «идентификатор - значение», разделителем пары служит символ «=». Значение const устанавливается в специальном разделе программы, которое начинается служебным словом const
Синтаксис описания констант:
CONST
Имя константы 1 = Значение 1;
Имя константы 2 = Значение 2;
Или
Имя константы = Значение выражения.
Имя константы содержит максимум 40 символов и должно начинаться с буквы. Допустимые символы: «A...Z», «0...9»
Формат: const =;
Примеры:
const Norm_temp=36.7;
chislo=33;
Kol_ych=23;
Переменныминазываются величины, которые могут в процессе выполнения программы изменить свое значение. Все переменные должны быть описаны в специальном разделе программы, который начинается служебным словом VAR.
Так же, как и константы, переменные определяют в самом начале программы. В отличие от констант, значения переменных могут меняться в процессе выполнения программы.
Переменные в отличии от констант, могут менять свое значение. Например, если в программе фигурирует возраст и класс, то их следует описать как переменные, ибо и возраст и класс со временем меняются. Для описания переменных применяется зарезервированное слово VAR.
Переменные вводятся в программу для хранения и передачи данных внутри нее. Все переменные, которые предполагается использовать в программе должны, прежде всего, быть определены в разделе описания переменных. Описание переменных начинается со служебного слова VAR, вслед за которым располагается последовательность самих определений переменных. Определение переменной заключается в указании ее имени (идентификатора) и типа. Имя и тип разделяются двоеточием. После объявления и описания переменной должен стоять символ «;». Концом блока описания будет начало какого-либо другого блока программы или описание процедур и функций.
Синтаксис описания переменных:
VAR
ИмяПеременной1: ИмяТипа1;
ИмяПеременной2: ИмяТипа2;
Имя Переменной N: Конструкция Типа;
Или
VAR
ИмяПеременной1,
ИмяПеременной2,
ИмяПеременной3: Имя типа;
Формат:
VAR <идентификатор>:<тип переменной>;
Примеры:
var ozenka:integer; (цел ozenka)
f,t,k1:real; (вещ f,t,k1)