В TP имеется ряд специальных символов, имеющих свой определенный смысл.
К ним относятся: + - * / < = > [ ] ( ) { } . , : ; ^ @ # $.
Помимо них существуен несколько комбинаций символов: (*
*) (. .)
+ символ, обозначающий операцию сложения
- символ, обозначающий операцию вычитания
/ символ, обозначающий операцию деления
< символ, обозначающий сравнение
= символ, обозначающий равенство
> символ, обозначающий сравнение
[ ] квадратные скобки используются при работе с массивами, аналогично
используются (. .)
( ) используются в ряде функций и процедур
{ } фигурные скобки заключают в себе комментарии программиста, которые
будут игнорироваться при запуске программы. Аналогично используются (*
*) и /* */.
ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА
Зарезервированные слова упоминались в прошлом письме. Как там и было
сказано, это слова, которые имеют строго определенное значение для Паскаля,
поэтому использовать их в каких-либо других целях нельзя. Так например,
нельзя давать их в качестве имен переменных. Ниже приведен список зарезервированных
слов:
and asm array begin case const constructor destructor div do downto else end exports file for fuction goto if implementation in inherited inline interface label library mod nil not object of or packed procedure program record repeat set shl shr string then to type unit until uses var while with xor
Данный список - неполный. Дело в том, что зарезервированных слов гораздо
больше. Приведенные здесь - наиболее важные и часто используемые. При работе
в TP Вы увидите, что зарезервированные слова выделяются (в стандартной
палитре - желтым) цветом. Учтите, что ТР не отличает заглавных букв от
прописных, т.е. Program, program, PROGRAM, pRoGrAm - для него одно и тоже
слово.
ИДЕНТИФИКАТОРЫ
Идентификаторами называются имена, которые Вы даете переменным. Идентификатор
может включать в себя помимо латинских букв цифры и знак подчеркивания
_ . Идентификатор не должен начинаться с цифры или включать в себя пробелы.
Примеры правильных идентификаторов:
A
A1
Mavr1
Mavr_Program
A_111
_1_2_5_
Неправильные идентификаторы:
A 123 - ошибка в том, что идентификатор включает
пробел
12F - ошибка в том, что идентификатор
начинается с цифры
Begin - ошибка в том, что в качестве идентификатора используется зарезервированное
слово
Идентификаторы даются переменным, процедурам, функциям, модулям и т.д.
Главная задача идентификатора - позволить выделить, например, переменную
A среди переменных A,B,C,D.
ТИПЫ ДАННЫХ В ПАСКАЛЕ
В паскале данные делятся на несколько типов.
Название типа
описание типа
диапазон
размер в памяти
ShortInt
короткое целое со знаком
от -128 до 127
1 байт
Integer
целое со знаком
от -32768 до 32767
2 байта
LongInt
длинное целое со знаком
от -2147483628 до 2147483647
4 байта
Byte
короткое целое без знака
от 0 до 255
1 байт
Word
целое без знака
от 0 до 65535
2 байта
Real
вещественное число
от 2.9*10exp-39 до 1.7*10exp38
6 байт
Boolean
логический тип
от 0 (ложь) до 1(истина)
1 байт
Char
символьный тип
один символ
1 байт
String
тип-строка
строка от 1 до 255 символов
256 байт
Указанные типы - наиболее часто используются. При этом существуют правила
совместимости типов. Приводить их здесь нет смысла, поэтому я только объясню,
что это такое. Если у Вас имеется переменная типа Byte (число от 0 до 255),
то вы не можете заносить в нее значение переменной типа Integer. Дело в
том, что в переменной типа Integer может храниться число, например, 1000,
а тип Byte не рассчитан на подобные данные. Внимательно просмотрите приведенную
выше таблицу и Вы моймете, какие типи подобным же образом не совместимы.
С другой стороны, если у нас переменная типа Integer, то в нее можно занести
значение из переменной Byte. Помимо этого учтите - нельзя переменной String
приравнять переменную типа Integer. Нельзя строку приравнивать к числу.
Это ошибка. Нельзя приравнивать переменной типа Char переменную типа String-
она может состоять из 255 символов а переменная типа Char может хранить
только один символ.
ОПЕРАТОР ПРИСВАИВАНИЯ
Оператор присваивания в Паскале обозначается := . При этом слева ставиться
имя переменной, которая получает новое значене, а справа ставятся значение.
Рассмотрим программу, которая будет присваивать значения переменным.
Program Exampl1; {заголовок программы}
{Блок описания переменных}
Var X1,X2:Integer;
Y1,Y2:String;
Y3,Y4:LongInt;
{Конец блока описания переменных}
{Тело программы}
Begin X1:=4; {Присваиваем переменной X1 число 4}
X2:=X1*5; {Присваиваем переменной X2 число 4*5=20}
{!!!!}
Y1:=X2; {ОШИБКА сделана специально. Переменной типа строка Y1
присваивается значение число 20}
{!!!!}
Y2:='Уранила куклу Даша'; {Переменной (типа строка) Y2 присваивается
строчка "Уранила куклу Даша" - здесь все правильно}
Y3:=X1*X2; {Переменной (типа LongInt) Y3 присваевается значение
800}
End.
{Конец тела программы}
В приведеном примере выделено место, где умышлено допускается ошибка.
Если Вы решите проверить данную программу в TurboPascal'е, то сможете наглядно
убедиться, что ошибка будет расположена именно в этой строке. Набрав данную
программу, Вы увидите, что все фразы, заключенные в {} будут блекло-серого
цвета. Так выделяются коментарии. В них Вы можете писать все, что угодно.
В программе имеется описанная, но не использовавшаяся переменная Y4.
Ее я описал специально для того, чтобы показать, что не является ошибкой,
если какая-то переменная описана, но не используется. В программе присутствуют
заголовок, блок описания переменных и тело программы. Как и указывалось
в предыдущем письме, остальные блоки отстутствуют именно потому, что они
не нужны.
Для того, чтобы приведенная выше программа работала, необходимо убрать
строку с ошибкой.
Вы можете задавать интересующие Вас вопросы, я постараюсь на них
ответить. Вы можете заказать выполнение программы любой сложности (от
институстких лабораторных работ и курсовых до программ, необходимых Вам
в работе).