Стандартные данные и вычисления
Целые, вещественные, булевский и литерный типы являются стандартными.
Целые типы и действия с ними
В языке Турбо Паскаль выделено пять целых типов, которые различаются по диапазону значений и занимаемому размеру памяти (см. таблицу 2).
Табл. 2 — Характеристика целых типов |
|||
---|---|---|---|
Название типа |
Идентификатор |
Память (в байтах) |
Диапазон значений |
Короткое целое без знака |
byte |
1 |
0-255 |
Короткое целое со знаком |
shortint |
1 |
-128*127 |
Целое без знака |
word |
2 |
0-65535 |
Целое со знаком |
integer |
2 |
-32768 - 32767 |
Длинное целое со знаком |
longint |
4 |
-2147483648 -2147483647 |
Над целочисленными значениями определены пять основных операций: +,-, *,div, mod,/, приведенных в таблице 3.
Табл. 3 — Арифметические операции над целочисленными значениями |
||
---|---|---|
Операция |
Содержание операции |
Тип результата |
а + в |
сложение |
целое число |
а - в |
вычитание |
- '' - |
а * в |
умножение |
- '' - |
a div b |
целочисленное деление |
- '' - |
a mod b(b>0) |
взятие остатка при делении |
- '' - |
а / b |
деление |
вещественное число |
Поясним операции div и mod на примерах:
10 div 3 = 3,
-10 div 3 = -3,
-10 div (-3) = 3,
10 mod 3 = 1,
-10 div 3 = -1.
С целыми значениями можно производить операции сравнения:
>, >=, <, <=, =, <>.
Тип |
Операции |
Основные стандартные функции |
Примеры |
|
---|---|---|---|---|
Ц Е Л Ы Й |
|
abs(x) = /x/; odd(x) = истина, если x нечетно; ложь, если x четно; ord(x) = x; pred(x) = x-1; |
var |
|
Рассмотрим функции Succ(X), Pred(X) и Low(X), High(X):
Succ(4) = 5; Pred(4) = 3;
Low(integer) = -32768; High(integer) = 32767; (см. таблицу 2)
или пусть var X : integer, тогда Low(X) = -32768; High(X) = 32767.
При работе с целыми значениями рекомендуется использовать математические процедуры, приведенные в таблице 4. Они эффективнее соответствующих операторов примерно на 30 %.
Табл. 4 — Математические процедуры |
||
---|---|---|
Вызов |
Тип параметров |
Выполняемое |
Inc(X) |
целый |
Х = Х + 1 |
Inc(X, K) |
целые |
Х = Х + К |
Dec(X) |
целый |
Х = Х - 1 |
Dec(X, К) |
целые |
Х = Х - К |
Вещественные типы
В языке Паскаль различают пять вещественных типов. Их характеристики приведены в таблице 5.
Табл. 5 — Характеристика вещественных типов |
||||
---|---|---|---|---|
Название типа |
Идентификатор |
Диапазон значений |
Значащие цифры |
Размер памяти |
Вещественное одинарной точности |
single |
1.5*10-45-3.4*1038 |
7..8 |
4 |
Вещественное |
real |
2.9*10-39-1.7*1038 |
11..12 |
6 |
Вещественное двойной точности |
double |
5.0*10-324-1.7*10308 |
15..16 |
8 |
Вещественное повышенной точности |
extended |
3.4*10-4932-1.1*104932 |
19..20 |
10 |
Целое в формате вещественного |
comp |
-263+1+-263-1 |
19..20 |
8 |
С вещественными данными используются четыре арифметических операции: +, -, *, /, дающие результат вещественного типа, а также математические функции.
В Паскале нет операции или стандартной функции для возведения числа в произвольную степень. Вычисление XY рекомендуется производить следующим образом:
- если у - целое значение, то через умножение, т.е. XY = X*X... *Х;
- если у - вещественное значение, то XY = e Y*ln(X), т.е. на языке Паскаль: Ехр(Y*Ln(X)).
Для работы со случайными числами используется процедура инициализации датчика случайных чисел Randomize, располагающаяся, как правило, в начале программы, и функции Random и Random(n).
Оператор m:= Random генерирует вещественное число 0 « m « 1, а результатом оператора m:=Random(n) является целое число 0 « m « (n-1)
Тип |
Операции |
Основные стандартные функции |
---|---|---|
В |
|
abs(x) |