ТОП 10:

Тема 17. Организация и использование подпрограмм



 

Целые типы данных

Эта группа типов обозначает множество целых чисел в различных диапазонах. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два или четыре байта.

 

Целые типы
Название Длина, байт Диапазон значений
Byte 0…255
ShortInt -128…+127
Word 0…65535
Integer -32768…+32767
LongInt -2147483648…+2147483647

 

Значения целых типов могут изображаться в программе двумя способами: в десятичном виде (в виде последовательности цифр от 0 до 9) и в шестнадцатеричном виде (в виде последовательности цифр от 0 до 9 и букв от A до F, перед которыми ставится знак $).

Над целыми значениями допустимы следующие арифметические операции: + - сложение, - - вычитание, * - умножение, / - деление и две дополнительные операции "типа деление", а именно, Div - деление нацело, с отбрасыванием дробной части и Mod - взятие остатка от целочисленного деления.

При применении к целым значениям всех этих операций, кроме / - деления получается результат целого типа, а деление (/) всегда дает вещественный результат.

При действиях с целочисленными значениями тип результата будет соответствовать типу операндов, а если операнды относятся к различным целым типам, - типу того операнда, который имеет максимальный диапазон значений. Возможное переполнение результата никак не контролируется, что может привести к непредсказуемым результатам.

 

Стандартные функции, применимые к целым типам
Обращение Тип аргумента Тип результата Действие
Hi(X) Integer Word Byte Byte Возвращает старший байт аргумента
Lo(X) Integer Word Byte Word Возвращает младший байт аргумента
Odd(X) LongInt Boolean Возвращает значение True, если Х - если Х - нечетное
Swap(X) Integer Word Integer Word Меняет местами байты в слове

 

Стандартные процедуры, применимые к целым типам
Описание процедуры Тип параметров Назначение
Randomize Без параметров Гарантирует несовпадение последо- вательностей случайных чисел, выдаваемых функцией Random
Inc(X) X - целое Увеличивает значение Х на 1
Dec(X) X - целое Уменьшает значение Х на 1
Inc(X,N) Dec(X,N) Увеличивает значение Х на N
Dec(X,N) Dec(X,N) Уменьшает значение Х на N

 

Логический тип данных

Логический тип (Boolean) состоит из 2-х значений: False (Ложь) и True (Истина).

Над значениями этого типа допустимы операции сравнения, причем False < True.

Для них справедливы правила:

ORD(False) = True;

ORD(True) = False;

SUCC(False) = True;

PRED(True) = False.

Значения логического типа занимают 1 байт. С логическим типом связаны логические операции: AND (И), OR (ИЛИ), NOT (НЕ).

 

Символьный тип данных

Значениями символьного типа (Char) являются символы из множества ASCII (American Code for Information Interchange - Американский стандартный код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом. Оно содержит символы строчных и прописных букв, цифр и других символов, включая специальные управляющие символы. Каждому символу приписывается целое число в диапазоне от 0 до 255. Это число служит кодом внутреннего представления символа, его возвращает функция ORD.

Если символьное значение имеет графическое изображение, то оно изображается в программе соответствующим знаком, заключенным в апострофы (одинарные кавычки): 'A', 'B', …, 'a', 'b', …, '1', '2', …, '*', '+' и т. д.

Если символ не имеет графического изображения, то используют другую форму записи: #K, где К - целочисленный код символа.

Например: #13 - Enter; #27 - Esc; #8 - Backspace.

Так как символы упорядочены, то к типу Char применимы операции сравнения, например: 'A' < 'M'; 'A' < 'a' и т. п., а также стандартные функции:

CHR(b) - преобразует выражение b типа byte в символ и возвращает его своим значением.

Например: Chr(90) возвращает в качестве результата символ 'Z'.

ORD(S) - возвращает в качестве результата код символа S в таблице символов ASCII.

Например: Ord('Z') возвращает код, равный 90.

UPCASE(CH) - возвращает прописную латинскую букву, если CH - строчная латинская буква, в противном случае возвращает сам символ CH.

Например: Upcase('z') возвращает символ 'Z'.

PRED(S) - возвращает символ, предшествующий символу S.

SUCC(S) - возвращает символ, следующий за символом S.

 

Перечислимый тип данных

Перечислимый (или перечисляемый) тип данных задается списком значений (объектов), которые могут принимать переменные этого типа. При этом каждый объект имеет имя. Соответствие между значениями перечисляемого типа и порядковыми номерами этих значений устанавливается порядком перечисления: первое значение в списке получает порядковый номер 0, второе - 1 и т.д. Максимальное число объектов в перечисляемом типе равно 65366 значений. К значениям перечислимого типа применимы стандартные функции Ord, Pred, Succ, а также операции отношений.

Переменные этого типа повышают наглядность программы и позволяют автоматически контролировать допустимость значений переменных.

Рассмотрим примеры порядковых типов.

1 Описание дней недели:

TypeDays=(Monday,Tuesday,Wednsday,Thday,Friday,Sutterday,Sunday).

2 Описание месяцев года:

TypeYear=(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec).

 

Ограниченный тип данных

На основе четырех рассмотренных порядковых типов можно определить новые, порядковые типы: например, можно сузить диапазон значений любого из 4-х порядковых типов. Такие типы называют ограниченными (или интервальными) типами. Другое их название - диапазоны. Такие типы задаются границами своих значений внутри базового типа:

<минимальное значение> .. <максимальное значение>

Примеры определения типов - диапазонов:

Typedate=1..31; TypeMonth=1..12; TypeSim='A'..'Z'

Можно сразу определить переменную типа - диапазон:

Day:1..31; Month:1..12; Sim:'A'..'Z' и т.п.

Необходимо помнить, что левая граница диапазона не должна превышать правой.

К значениям этого типа могут быть применены стандартные функции:

HIGH(X) - возвращает максимальное значение типа - диапазона, к которому принадлежит переменная Х;

LOW(X) - возвращает минимальное значение типа - диапазона, к которому принадлежит переменная Х.

 

Вещественные типы данных

Эта группа типов представляет множества значений в различных диапазонах. ТР поддерживает пять различных вещественных типа.

 

Название Длина, байт Число цифр мантиссы Диапазон значений
Real 11-12 2.9 E-39…1.7 E +38
Single 7-8 1.5 E-45…3.4 E+38
Double 15-16 5.0 E-324…1.7 E+308
Extended 19-20 3.4E-4951…1.1E+4932
Comp -2 E+63… +2 E+63 -1

 

Все вещественные типы, кроме Real, используются если в ПК есть арифметический сопроцессор.

Данные вещественного типа могут быть представлены в двух видах: с фиксированной точкой и с плавающей точкой.

Значения с фиксированной точкой изображаются десятичным числом с дробной частью, которой может быть нулевой, например:

0.5, 5.25, 5.0, -16. 055 и т.п.

Значения с плавающей точкой изображаются следующим образом: m E p,

где m - мантисса вещественного числа, Е - признак порядка (число 10), р - порядок числа; m - целое или вещественное число с фиксированной точкой, положительное или отрицательное; р - только целое, положительное или отрицательное, например:

4 Е -5 ( ), 0.62 Е 4 ( ), -1.6 Е 22 .

Над значениями вещественных типов допустимы четыре арифметических операции: *, /, +, -.

Целые и вещественные числа именуются как "число без знака".

В таблице 5 приведены некоторые стандартные математические функции и функции преобразования типов, которые используются при работе с целыми и вещественными значениями.

 

Вызов Функции   Тип аргумента Тип результата Назначение функции
Abs(X) Целый Вещественный Целый Вещественный Вычисление абсолютного значения Х
Sin(X) Вещественный Вещественный Синус Х радиан
Cos(X) Вещественный Вещественный Косинус Х радиан
ArcTan(X) Вещественный Вещественный Арктангенс Х радиан
Sqrt(X) Целый Вещественный Вещественный Вещественный Квадратный корень из Х, (Х>0)
Sqr(X) Целый Вещественный Целый Вещественный Значение Х, возведенное в квадрат
Exp(X) Вещественный Вещественный Значение е в степени Х
Ln(X) Вещественный Вещественный Натуральный логарифм Х, (Х>0)
Pi Нет аргумента Вещественный Значение числа p
Trunc(X) Вещественный Longint Целая часть числа Х
Frac(X) Вещественный Вещественный Дробная часть числа Х
Int(X) Вещественный Вещественный Целая часть числа Х
Round(X) Вещественный Longint Округление Х до ближайшего целого
Random Нет аргумента Вещественный Случайное число из диапазона (0...1)
Random(X) Word Word Случайное число из диапазона (0...Х)
Odd(X) Целый Логический Возвращает значение True, если Х - если Х - нечетное

 







Последнее изменение этой страницы: 2016-12-10; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.234.244.18 (0.008 с.)