2. Типы данных
Данные
• исходные (предназначены для обработки);
.
• результаты (получаются в процессе выполнения программы.
В языке Паскаль все данные, используемые
программой, должны принадлежать к какому-либо
заранее известному типу данных.
Тип данных определяет:
• формат представления данных в памяти ЭВМ;
• множество допустимых значений;
• множество допустимых операций.
2
3. Описание типов данных
Язык Turbo Pascal строго типизирован –
программист должен описать все объекты
программы, указывая их типы, и
использовать объекты только в
соответствии с этими типами. Это
предотвращает анархию, помогает
создавать надежные и качественные
программы. В случае внесения изменений в
описание переменных вся корректировка
будет выполняться в одном месте – разделе
описания типов данных.
3
7. Особая группа данных ПОРЯДКОВЫЕ типы данных
ЦЕЛЫЙ
ЛОГИЧЕСКИЙ
СИМВОЛЬНЫЙ
ОГРАНИЧЕННЫЙ (интервальный)
ПЕРЕЧИСЛЯЕМЫЙ
Они имеют ограниченное количество значений, идущих по порядку.
Общее для них – в компьютере они представляются целым числом.
7
8. Структурированные типы данных - множества
значений или переменных с одним общим именем.
В своей основе имеют скалярные типы данных.
Структурированные
Массивы
Строки
Записи
Файлы
Множества
8
9. Константы
Константа – это величина, которая не изменяет
своего значения в процессе выполнения
программы. Константа может быть обозначена
именем и описана в разделе описания констант.
Компилятор помещает значение константы прямо
в текст исполняемой программы.
Например,
Const N=25; K=38; D=(N+K) Div 2; Letter=‘f’; M=5E15;
Тип константы автоматически опознается по форме
их записи.
Присвоение имен константам делает программу
более удобной для понимания и внесения
9
исправлений в программу.
10. Именованные константы
Const
ИмяКонстанты = ЗначениеКонстанты;
Например:
Const
G=9.8;
{Вещественная константа}
Count=maxint/2+1; {maxint – зарезервированная константа}
Nmax=100;
{Целая константа}
Nmin=-nmax;
S=‘абвгд’;
{Строковая константа}
Kod=$123;
{Шестнадцатеричная константа}
Идентификатор, используемый для определения константы,
можно употреблять при задании следующих констант. Его
10
значение нельзя изменять по ходу выполнения программы.
11. Типизированные константы
Существуют наряду с переменными и константами.
Эквивалентны переменным с заранее заданным
значением. При описании указывается тип.
Const ИмяКонстанты: Тип = Значение;
Например,
Const N:Integer=15; ch:Char=#87;
ocenka:byte=5;
predmet:string=‘Информатика’;
Типизированные константы являются одновременно
переменными. В частности, они могут изменять
свое значение в процессе выполнения программы.
К преимуществам можно отнести и то, что они
инициализируются в начале программы.
11
12. ПОРЯДКОВЫЙ
тип данных
В математике значений которых является
- тип данных, областьюпорядковым числом
называется номер элемента при
упорядоченное счетное множество. Каждому
перечислении.
элементу такого множества соответствует некоторое
порядковое число, являющееся как раз его номером
при перечислении.
НАПРИМЕР: Множество цифр десятичной системы счисления.
0,1,2,3,4,5,6,7,8,9
Для каждого значения, кроме первого, существует
предшествующее значение, и для каждого значения кроме
последнего, существует последующее значение.
В языке Паскаль существуют стандартные
12
13. Функции:
Pred(x)– определяет предыдущее значение величины х;
Succ(x) – определяет последующее значение величины х;
Ord(x) – возвращает порядковый номер величины х;
Chr(x) – определяет символ по его порядковому номеру.
13
14. Численные данные
в языке Паскаль представлены целым и
вещественным типом.
Целый тип – это интервал целых чисел. Операции
над целыми числами определены лишь тогда,
когда данные (операнды) и результат лежат в этом
интервале. Иначе возникает ситуация, называемая
переполнением.
Вещественные числа представляются конечным
множеством значений. Например, внутреннее
представление типа real (6 байт) может дать
248
= 281 474 976 710 656 возможных комбинаций
значащих разрядов в отведенных для него
6 х 8 = 48 битах.
14
15. ЦЕЛОЧИСЛЕННЫЕ типы
- это интервалы целых чисел
Описание
типа
Диапазон возможных
значений
Shorting -128 .. 127
Формат
1 байт со знаком
Integer
-32 768 .. 32 767 2 байта со знаком
Longint
-2 147 483 648 .. 4 байта со знаком
2 147 483 647
Bite
0 .. 255
1 байт без знака
Word
0 .. 65 535
2 байта без знака
15
16. ВЕЩЕСТВЕННЫЕ типы
- это конечное множество значений
Описание
типа
Диапазон возможных
значений
Точность
Формат
Real
2.9E-39 .. 1.7E38
11-12 знаков 6 байт
Single
1.5E-45 .. 3.4E38
7-8 знаков
Double
5.0E-324 .. 1.7E308
15-16 знаков 8 байт
Extended 3.4E-4932 ..
4 байта
19-20 знаков 10 байт
1.1E4932
Comp
-9.2E18 ..9.2E18
19-20 знаков 8 байт
16
17. ЛОГИЧЕСКИЙ (булевский) тип данных
– символически обозначенная логическая величина,
которая может принимать всего два значения
TRUE (ИСТИНА, да, 1 ) или FALSE (ЛОЖЬ, нет, 0 )
(1 байт памяти)
FALSE < TRUE
На языке программирования Паскаль описывается:
Var B:boolean;
{B - переменная логического типа}
17
18. СИМВОЛЬНЫЙ (литерный) тип данных
Диапазон значений: символы кодовой
таблицы ASCII – это буквы, цифры, знаки
препинания и специальные символы.
В памяти компьютера каждому символу
соответствует индивидуальный числовой
код от 0 до 255(10) (1 байт памяти);
( 0 – FF(16); 0 – 1111 1111(2))
• Описание: Char;
18
19. ОГРАНИЧЕННЫЙ (интервальный)
тип или диапазон
Задается своим минимальным и максимальным
значениями. Может быть определен на основе любого
порядкового типа.
Например:
М = 1..12;
L = ‘a’..’z’;
Для каждой операции с переменной интервального типа
автоматически выполняется проверка: остается ли
значение переменной внутри установленного для нее
диапазона. Это позволяет программисту не отвлекаться на
организацию собственного контроля.
19
20. ПЕРЕЧИСЛЯЕМЫЙ тип данных
Задается перечислением своих значений.
Например, в виде строковых констант:
Type Week=(mondey, tuesday, wednesday, thursday,
friday, saturday, sanday);
Var day: week; season: (Winter, Spring, Summer,
Autumn);
Cоздается новый (нестандартный) тип данных Week.
Переменные этого типа могут принимать всего 7 значений:
mondey, tuesday, wednesday, thursday, friday, saturday,
sanday. Первая константа имеет порядковый номер 0,
вторая – 1, и т.д.
Day описывается через тип Week, season задается
20
перечисляемым типом данных из 4 значений.
21. Типы, определяемые пользователем
Объявление пользовательских типов данных происходит в
разделе объявления типов, который открывается словом
Type (англ. – тип):
Type ИмяТипа = ОписаниеТипа;
Задание типа означает, что теперь в разделе описания
переменных можно пользоваться вновь введенным
идентификатором.
Например,
Type
Matr = array [1..N,1..M] of real;
Week=(mondey, tuesday, wednesday, thursday, friday, saturday,
sanday);
Work_week= mondey .. friday;
Day=1..31;
Var
21
M: Week; R: Work_week; mas:matr;