3.2. Вещественные типы
Эта группа типов охватывает вещественные значения.
Вещественные типы не могут быть использованы:
· в качестве индексов массивов;
· в операторах For и Case;
· в качестве базисного типа при определении множеств;
· при определении подтипов.
При описании вместо Real48 можно указывать Real.
Ниже в табл. 2 приведен список типов и их характеристики.
Таблица 2
№ | Тип | Диапазон значений | Значащих цифр в мантиссе | Размер памяти |
1. 2. 3. 4. 5. 6. | Real48 Single Double Extended Comp Currency | 2.9 x 10^–39 ... 1.7 x 10^38 1.5 x 10^–45 ... 3.4 x 10^38 5.0 x 10^–324 ... 1.7 x 10^30 3.6 x 10^–4951 ... 1.1 x 10^4932 -2^63+1 ... 2^63 -1 -922337203685477.5808 ... 922337203685477.5807 | 11 – 12 7 – 8 15 – 16 19 – 20 19 – 20 19 – 20 | 6 байтов 4 байта 8 байтов 10 байтов 8 байтов 8 байтов |
Примеры:
Var
rA, rA_Par: Real;
T: Integer;
Вещественные значения можно изобразить:
· в форме с фиксированной десятичной точкой;
· в форме с плавающей десятичной точкой.
Первая форма представления вещественного значения представляет привычное число, в котором целая и дробная части разделены десятичной точкой, например
12.455
-988.45
-8.0
Вторая форма предназначена для записи очень больших или очень маленьких по абсолютной величине значений, когда их представление в форме с фиксированной точкой затруднительно или невозможно. Такое значение изображают в виде
<значение с фиксированной точкой > E <порядок>
Примеры:
-45.2E6 ( то же, что -45,2 106)
5.245E-12 ( то же, что 5,24 10-12)
Порядок таких чисел должен быть всегда целым числом.
3.3. Логический (булевский) тип
Логические переменные имеют тип boolean. Такая переменная занимает один байт памяти и может иметь одно из двух возможных значений – True (истина) или False (ложь).
Примеры:
Var
b : boolean;
b1, Ti : boolean;
3.4. Символьный тип
Типы AnsiChar и WideChar описывают множество отдельных символов языка, включая буквы русского алфавита. AnsiChar описывает множество из 256 ASCII-кодов и занимает один байт памяти, WideChar описывает мно-жество Unicode – универсальное множество кодов и занимает два байта памя-ти. Тип AnsiChar эквивалентен базовому типу Char прежних версий языка.
Примеры:
Var
Ch, k : AnsiChar;
Char_Massivr: array[1..100] of Char;
Символьное значение представляют в виде символа, заключенного с обеих сторон в апострофы. Для изображения самого апострофа его удваивают (последний пример), например:
'h' 'X' '#' '$' ''''
3.5. Строковые типы
Этот тип во многом схож с типом Array of Char, т. е. массивом символов. Отличие состоит в том, что переменная этого типа может иметь динамическое количество символов (от нуля до верхней границы), в то время как массив символов всегда статичен и имеет одинаковое количество символов.
Таблица 3
№ | Тип | Длина строки | Занимаемая память |
1. 2. 3. | ShortString AnsiString WideString | 0 – 256 символов 0 – 2 Гб символов 0 – 2 Гб символов | (Кол-во символов) х 1 байт (Кол-во символов) х 1 байт (Кол-во символов) х 2 байта |
Максимальная длина строковой переменной должна быть указана явно. Размер строки на единицу больше ее объявленной длины, т. к. в ее нулевом байте содержится фактическая длина строки. Длину в нулевом байте можно принудительно менять.
Особо следует выделить тип String. Если длина String-строки не объявлена, то при действии директивы компилятора {$H+} или без ее указания такое объявление равносильно AnsiStrig. Если установлена директива {$H-}, то тип String равносилен типу ShortString.
Строковое значение изображают в виде последовательности символов, заключенной в апострофы. Пустую строку изображают двойным апострофом.
Примеры значений строковых типов:
'Иванов И.И.' '' 'Газета"ИЗВЕСТИЯ"' 'Строка символов'
Примеры описания переменных строковых типов:
Var
s1, s2 : ShortString [12];
st1, st2 : AnsiString [580];
ChMassiv: array [1..15] of String;
... в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. Курс завершается разработкой игры. Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi. Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод. Контроль знаний и умений ...
... // ... if(condition1) { j = 4; goto label1; } // ... for(j = 0; j < 10; j++) { // ... label1: // ... if(condition2) { i = 6; goto label2; } } // ... label2: // ... } 2.2 Разработка программы В среде программирования Borland Delphi создадим новое приложение (пункт меню File New Application). ...
... так называемые указатели. Указатель - это переменная, которая в качестве своего значения содержит адрес байта памяти. С помощью указателей можно размещать в динамической памяти любой из известных в Object Pascal типов данных. Лишь некоторые из них (Byte, Char, ShortInt, Boolean) занимают во внутреннем представлении один байт, остальные - несколько смежных. Поэтому на самом деле указатель адресует ...
... групп нулей и единиц. Каждая группа отделяется друг от друга одним или несколькими пробелами. Найти и вывести на экран группы с четным количеством символов. Лабораторная работа №6 Программирование АЛГОРИТМОВ с использованием записей Цель лабораторной работы: создать приложение, в котором используются данные типа запись. 6.1.Пример создания приложения Задание: создать Windows-приложение для ...
0 комментариев