yandex rtb 1
ГоловнаЗворотній зв'язок
yande share

Основы программирования

2. ТИПЫ ДАННЫХ

 

1. Стандартные типы данных. Одним из важнейших понятий в программировании является переменная. Переменная - это поименованная область оперативной памяти компьютера, где хранится значение некоторой величины. Переменная обладает такими свойствами: название (имя), значение, тип. Количество переменных и их свойства указывает пользователь. Тип переменной определяет её допустимые значения, а также операции, которые можно над нею выполнять. В программе triangle предыдущего пункта переменные p и s объявлены как переменные числового вещественного типа.

Рассмотрим стандартные типы данных: числовые целые (табл. 1), числовые вещественные (табл. 2), символьный и логический. Другие типы данных будем изучать позднее.

 

Табл.1. Целые типы

Имя типа

 

Диапазон значений

 

byte

 

0..255

 

shortint

 

-128.. 127

 

word

 

0..65535

 

integer (основной тип)

 

-32768.. 32767

 

longint

 

-2147483648. .2147483647

 

 

Объявим переменные: var х : byte; у : integer. Этим перемен­ным можно присвоить, например, такие значения х := 65; у :=-5. Заметим, что переменная х не может принимать отрицательные значения, поскольку Они не входят в диапазон допустимых зна­чений типа byte.

Табл.2. Вещественные типы

Имя типа

 

Диапазон

 

single

 

1.5-10-45- 3.4-1038

 

real (основной тип)

 

2.9-10-39- 1.7-1038

 

double

 

5.0-10-324- 1.7-10308

 

extended

 

3.4-10-4951- 1.1-104982

 

Вещественные числа можно записывать в формате с фиксированной точкой, например, 5.04, -12.109, или в формате с плавающей точкой. Запись -5.2Е+2 является представлением числа -520.0, а 16.1Е-3 - числа 0.0161. Символы Е+2 обозначают умножение на 10 в степени +2, а Е-3 — на ІО-3, то есть

пЕт = п • 10m

Символьный тип (char) - это множество символов кодовой таблицы компьютера ASCII. Символьная константа - это символ, заключенный в кавычки, например, ‘а’, ‘5’,’%’.

Логический тип (boolean) характеризуется двумя значениями: false (ложь) и true (истина).

Все стандартные типы (кроме вещественного) упорядочены, то есть для каждого данного определены последующее и предыдущее значения.

2. Нестандартные простые типы. Все рассмотренные выше типы данных - стандартные. Их не нужно описывать в разделе type. Пользователь может определить свои собственные типы данных в разделе описания типов type таким образом:

type                <имя типа 1> = <оцисание типа 1>;

                        …

                        …<имя типа п> = <описание типа п>;

К простым нестандартным типам принадлежат перечислимый, диапазонный и строковый.

Перечислимый тип пользователь создаёт путем указания (перечисления) всех значений, которые могут принимать переменные этого типа, в виде списка слов-идентификаторов, заключённого в скобки:

type

 

<имя типа> = <значение 1>, значение 2>, '.., <значение п>);

 

 

Значениями не могут быть данные числового и символьного типов.

Пример. Опишем два перечислимых типа (названия дней не­дели и цветов): • ' •.

type     week = (mon,  tue,  wed,  the,  fri,  sat,  sun);

color = (red,  green,  yellow,  white);

и объявим две переменные— day и avto этих типов:

var                   day : week;

avto : color;

Этим переменным можно присвоить, например, такие значения:

day := fri;  avto :== green;  avto := red.

Нумерация элементов списка начинается с 0. Над данными пе­речислимого типа определены функции ord, pred и succ (см. табл. 4). Например,

ord(avto) = 0, ord(day) = 4,

pred(day) = the, succ(day) = sat.

Данные этого типа нельзя вводить с клавиатуры или выводить на экран.

Диапазонный тип - это сужение некоторого базового упорядо­ченного типа. Его описывают так:

type <имя типа> = <значение 1> ..< значение 2>;

Пример. Создадим три типа (weekdays, workdays, months), ко­торые описывают все дни и рабочие дни недели, а также номера месяцев года. Объявим переменные dayl, day2, day3 и month этих типов:

Type   weekdays = (mon, tue, wed, the, fri, sat, sun);

workdays = mon..fri;

months = 1..12;

var      dayl, day2 : weekdays;

day3 : workdays;

month : months;

Строковый тип данных (string). Значениями переменной строкового типа может быть любая последовательность, состоящая не более чем из 255 символов. Данные строкового типа можно описать в разделе типов, задать в разделе констант или объявить в разделе переменных. Например:

type t = string[10];

const s = 'Bye!';

var top : t;  w : string;

В квадратных скобках указывают длину строки. Константы строкового типа были использованы в программе triangle в команде вывода writeln.

3. Типизированные константы. Кроме обычных существуют типизированные, константы. Они дают возможность объявлять переменные и сразу присваивать им значения: '

const    <имя константы 1> : <тип 1> =< значение 1>;

            …

<имя константы п> : <тип п> = < значение п>;

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

const   с : char = ‘а’;

n : integer = 5;

р : real = 1.73;

k : boolean = true;

 

4