- •1 Языки программирования. Язык Pascal. Описание синтаксиса языка программирования.
- •2 Лексическая структура языка Pascal. Структура Pascal-программы. Составной оператор. Константы. Переменные
- •3 Концепция переменной языка Pascal
- •4 Концепция типа данных языка Pascal
- •5 Простые типы языка Pascal
- •6 Стандартные типы языка Pascal
- •7 Операторы языка Pascal
- •8 Составные типы языка Pascal
- •9 Множества (определение, примеры, операции). Представление множеств, примеры использования
- •10 Файловый тип. Операции с файлами.
- •11 Процедуры и функции. Описание процедуры. Оператор процедуры
- •12 Параметры процедур и функций.
- •13 Процедурный тип. Передача процедур и функций в качестве параметра.
- •14 Директивы, используемые при описании процедур и функций.
- •15 Необходимость и преимущества модульного программирования. Структура модуля в языке Pascal.
- •16 Рекурсия. Рекурсия и итерация.
- •17 Линейный поиск. Поиск делением пополам (двоичный поиск).
- •18 Простые алгоритмы сортировки.
- •19 Усовершенствованные алгоритмы сортировки. Сортировка Шелла. Сортировка Шелла
- •20 Ссылочные типы. Динамические структуры данных
- •21 Связанные списки, операции над списками.
- •22 Двусвязные кольца.
- •23 Двоичные деревья поиска
6 Стандартные типы языка Pascal
Integer – представляет собой подмножество целых чисел.
-
Тип
Диапазон
Размер
ShortInt
-128..127
8 бит
Integer
-32768..32767
16 бит
LongInt
-2147483648..2147483647
32 бита
Byte
0..255
8 бит (беззнаковый)
Word
0..65535
16 бит (беззнаковый)
При бинарных операциях оба операнда преобразуются к общему для них типу. Общим является предопределенный тип с наименьшим диапазоном, в который помещаются все значения обоих типов. Если результат оказывается за границами допустимого подмножества (такое событие называется переполнением), то оно и фиксируется. Над целыми типами предусмотрены операции сложения (+), вычитания (-), умножения (*), целочисленного деления (div) и взятия остатка от деления (mod).
Тип Real – множество вещественных чисел. В то время как арифметические действия с целыми числами дат точный результат, для таких действий со значениями типа real допускается неточность в пределах ошибок округления, т.к. в вычислениях участвует конечное число цифр. Деление вещественных чисел, дающее вещественный результат обозначают /.
К вещественным типам относятся Single, Double, Comp, Real, Extended.
Логические типы
Boolean, ByteBool, WordBool, LongBool.
Тип Boolean имеет два значения: true, false.
Ord(false)=0, Ord (true)=1; False < True
Succ(false)=true, Pred(true)=false.
Логические операции:
-
P
Q
P and Q
P or Q
not P
P xor Q
True
True
true
true
false
false
True
False
false
true
false
true
False
True
false
ture
true
true
False
False
false
false
true
false
Операции сравнения дают результат типа boolean. Таким образом, результат некоторого сравнения можно присвоить какой-то переменной или использовать в качестве логического операнда в булевском выражении.
x:=5;y:=8;z:=10;
p:=x<y and y<z (true)
Логические операции and и or имеют свойства, отличающие их от других бинарных операций. В тот время, когда, например, сумма x+y не определена, если x и y – неизвестны, p and q определена даже при неизвестном q, если известно, что p имеет значение false. Это является важным и полезным свойством, поэтому можно дать более точное определение:
P and Q = если P, тогда Q; если не P, тогда false
P or Q = если P, тогда true; если не P, тогда Q
BP поддерживает две различные модели генерации кода для операций or и and: полное и краткое. Полная форма означает, что каждый операнд булевского выражения вычисляется, если результат вычисления уже известен. Эта модель удобна, когда один или более операндов выражения являются функциями с посторонним эффектом. Краткая форма ограничивает вычисления, т.е. они прекращаются, как только известен результат. Эта модель удобна в большинстве случаев, т.к. гарантирует минимум времени выполнения и, кроме того, делает возможными вычисления в конструкциях, которые в других случаях были бы неправильными. Модель выполнения задается {$B-}, {$B+}. По умолчанию – краткая форма.
Символьные типы (Char)
Их значениями являются символы ASCII. Над значениями символьного типа возможны операции сравнения, причем эти операции дают тот же результат, что и соответствующие целочисленные коды их символов.
Функция преобразования: Ord – выдает номер ASCII
