Типы данных
.

1
Типы данных
Данные
• исходные (предназначены для обработки);

.

• результаты (получаются в процессе выполнения программы.

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

2
Описание типов данных
Язык Turbo Pascal строго типизирован –
программист должен описать все объекты
программы, указывая их типы, и
использовать объекты только в
соответствии с этими типами. Это
предотвращает анархию, помогает
создавать надежные и качественные
программы. В случае внесения изменений в
описание переменных вся корректировка
будет выполняться в одном месте – разделе
описания типов данных.
3
Типы данных

Простые
(скалярные)

Стандартные

Структурированные
(составные)

Пользовательские

4
Стандартные типы данных предлагаются
программисту разработчиками Турбо Паскаль
Стандартные
типы данных

Числа

Целые

Символы

Логические

Вещественные
5
Пользовательские
типы данных

Перечисляемый

Ограниченный
(интервальный)

Типы,
определяемые
пользователем

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

6
Особая группа данных ПОРЯДКОВЫЕ типы данных
ЦЕЛЫЙ
ЛОГИЧЕСКИЙ
СИМВОЛЬНЫЙ
ОГРАНИЧЕННЫЙ (интервальный)
ПЕРЕЧИСЛЯЕМЫЙ
Они имеют ограниченное количество значений, идущих по порядку.
Общее для них – в компьютере они представляются целым числом.
7
Структурированные типы данных - множества
значений или переменных с одним общим именем.
В своей основе имеют скалярные типы данных.

Структурированные

Массивы

Строки

Записи

Файлы

Множества

8
Константы
Константа – это величина, которая не изменяет
своего значения в процессе выполнения
программы. Константа может быть обозначена
именем и описана в разделе описания констант.
Компилятор помещает значение константы прямо
в текст исполняемой программы.
Например,
Const N=25; K=38; D=(N+K) Div 2; Letter=‘f’; M=5E15;
Тип константы автоматически опознается по форме
их записи.
Присвоение имен константам делает программу
более удобной для понимания и внесения
9
исправлений в программу.
Именованные константы
Const
ИмяКонстанты = ЗначениеКонстанты;
Например:
Const
G=9.8;
{Вещественная константа}
Count=maxint/2+1; {maxint – зарезервированная константа}
Nmax=100;
{Целая константа}
Nmin=-nmax;
S=‘абвгд’;
{Строковая константа}
Kod=$123;
{Шестнадцатеричная константа}
Идентификатор, используемый для определения константы,
можно употреблять при задании следующих констант. Его
10
значение нельзя изменять по ходу выполнения программы.
Типизированные константы
Существуют наряду с переменными и константами.
Эквивалентны переменным с заранее заданным
значением. При описании указывается тип.
Const ИмяКонстанты: Тип = Значение;
Например,
Const N:Integer=15; ch:Char=#87;
ocenka:byte=5;
predmet:string=‘Информатика’;
Типизированные константы являются одновременно
переменными. В частности, они могут изменять
свое значение в процессе выполнения программы.
К преимуществам можно отнести и то, что они
инициализируются в начале программы.
11
ПОРЯДКОВЫЙ
тип данных

В математике значений которых является
- тип данных, областьюпорядковым числом
называется номер элемента при
упорядоченное счетное множество. Каждому
перечислении.
элементу такого множества соответствует некоторое
порядковое число, являющееся как раз его номером
при перечислении.
НАПРИМЕР: Множество цифр десятичной системы счисления.

0,1,2,3,4,5,6,7,8,9
Для каждого значения, кроме первого, существует
предшествующее значение, и для каждого значения кроме
последнего, существует последующее значение.
В языке Паскаль существуют стандартные

12
Функции:

Pred(x)– определяет предыдущее значение величины х;
Succ(x) – определяет последующее значение величины х;
Ord(x) – возвращает порядковый номер величины х;
Chr(x) – определяет символ по его порядковому номеру.

13
Численные данные
в языке Паскаль представлены целым и
вещественным типом.
Целый тип – это интервал целых чисел. Операции
над целыми числами определены лишь тогда,
когда данные (операнды) и результат лежат в этом
интервале. Иначе возникает ситуация, называемая
переполнением.
Вещественные числа представляются конечным
множеством значений. Например, внутреннее
представление типа real (6 байт) может дать
248
= 281 474 976 710 656 возможных комбинаций
значащих разрядов в отведенных для него
6 х 8 = 48 битах.
14
ЦЕЛОЧИСЛЕННЫЕ типы
- это интервалы целых чисел
Описание
типа

Диапазон возможных
значений

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
ВЕЩЕСТВЕННЫЕ типы
- это конечное множество значений
Описание
типа

Диапазон возможных
значений

Точность

Формат

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
ЛОГИЧЕСКИЙ (булевский) тип данных
– символически обозначенная логическая величина,
которая может принимать всего два значения
TRUE (ИСТИНА, да, 1 ) или FALSE (ЛОЖЬ, нет, 0 )
(1 байт памяти)

FALSE < TRUE
На языке программирования Паскаль описывается:

Var B:boolean;

{B - переменная логического типа}

17
СИМВОЛЬНЫЙ (литерный) тип данных
Диапазон значений: символы кодовой
таблицы ASCII – это буквы, цифры, знаки
препинания и специальные символы.
В памяти компьютера каждому символу
соответствует индивидуальный числовой
код от 0 до 255(10) (1 байт памяти);
( 0 – FF(16); 0 – 1111 1111(2))
• Описание: Char;

18
ОГРАНИЧЕННЫЙ (интервальный)
тип или диапазон
Задается своим минимальным и максимальным
значениями. Может быть определен на основе любого
порядкового типа.
Например:
М = 1..12;
L = ‘a’..’z’;
Для каждой операции с переменной интервального типа
автоматически выполняется проверка: остается ли
значение переменной внутри установленного для нее
диапазона. Это позволяет программисту не отвлекаться на
организацию собственного контроля.
19
ПЕРЕЧИСЛЯЕМЫЙ тип данных
Задается перечислением своих значений.
Например, в виде строковых констант:

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 значений.
Типы, определяемые пользователем
Объявление пользовательских типов данных происходит в
разделе объявления типов, который открывается словом
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;

Типы данных

  • 1.
  • 2.
    Типы данных Данные • исходные(предназначены для обработки); . • результаты (получаются в процессе выполнения программы. В языке Паскаль все данные, используемые программой, должны принадлежать к какому-либо заранее известному типу данных. Тип данных определяет: • формат представления данных в памяти ЭВМ; • множество допустимых значений; • множество допустимых операций. 2
  • 3.
    Описание типов данных ЯзыкTurbo Pascal строго типизирован – программист должен описать все объекты программы, указывая их типы, и использовать объекты только в соответствии с этими типами. Это предотвращает анархию, помогает создавать надежные и качественные программы. В случае внесения изменений в описание переменных вся корректировка будет выполняться в одном месте – разделе описания типов данных. 3
  • 4.
  • 5.
    Стандартные типы данныхпредлагаются программисту разработчиками Турбо Паскаль Стандартные типы данных Числа Целые Символы Логические Вещественные 5
  • 6.
    Пользовательские типы данных Перечисляемый Ограниченный (интервальный) Типы, определяемые пользователем Используются длябольшего ограничения количества значений, принимаемых переменными порядкового типа. 6
  • 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;