Download ppt - Типы данных

Transcript
Page 1: Типы данных

1

Типы данных.

Page 2: Типы данных

2

Типы данных

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

Тип данных определяет:

• формат представления данных в памяти ЭВМ;

• множество допустимых значений;

• множество допустимых операций.

Данные

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

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

.

Page 3: Типы данных

3

Описание типов данных

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

Page 4: Типы данных

4

Типы данных

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

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

Стандартные Пользовательские

Page 5: Типы данных

5

Стандартныетипы данных

Числа Символы Логические

Целые Вещественные

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

Page 6: Типы данных

6

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

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

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

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

Page 7: Типы данных

7

ПОРЯДКОВЫЕ типы данных

ЦЕЛЫЙ

ЛОГИЧЕСКИЙ

СИМВОЛЬНЫЙ

ПЕРЕЧИСЛЯЕМЫЙ

ОГРАНИЧЕННЫЙ (интервальный)

Особая группа данных -

Они имеют ограниченное количество значений, идущих по порядку.

Общее для них – в компьютере они представляются целым числом.

Page 8: Типы данных

8

Структурированные типы данных - множества значений или переменных с одним общим именем. В своей основе имеют скалярные типы данных.

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

Массивы Строки Записи Файлы Множества

Page 9: Типы данных

9

КонстантыКонстанта – это величина, которая не изменяет

своего значения в процессе выполнения программы. Константа может быть обозначена именем и описана в разделе описания констант. Компилятор помещает значение константы прямо в текст исполняемой программы.

Например,

Const N=25; K=38; D=(N+K) Div 2; Letter=‘f’; M=5E15;

Тип константы автоматически опознается по форме их записи.

Присвоение имен константам делает программу более удобной для понимания и внесения исправлений в программу.

Page 10: Типы данных

10

Именованные константы

ConstИмяКонстанты = ЗначениеКонстанты;

Например:ConstG=9.8; {Вещественная константа}

Count=maxint/2+1; {maxint – зарезервированная константа}

Nmax=100; {Целая константа}

Nmin=-nmax;S=‘абвгд’; {Строковая константа}

Kod=$123; {Шестнадцатеричная константа}

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

Page 11: Типы данных

11

Типизированные константыСуществуют наряду с переменными и константами.

Эквивалентны переменным с заранее заданным значением. При описании указывается тип.

Const ИмяКонстанты: Тип = Значение;Например, Const N:Integer=15; ch:Char=#87; ocenka:byte=5; predmet:string=‘Информатика’;Типизированные константы являются одновременно

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

Page 12: Типы данных

12

ПОРЯДКОВЫЙтип данных

В математике порядковым числом называется номер элемента при

перечислении.

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

НАПРИМЕР: Множество цифр десятичной системы счисления.

0,1,2,3,4,5,6,7,8,9

Для каждого значения, кроме первого, существует предшествующее значение, и для каждого значения кроме

последнего, существует последующее значение.

В языке Паскаль существуют стандартные функции:

Page 13: Типы данных

13

Pred(x)– определяет предыдущее значение величины х;

Succ(x) – определяет последующее значение величины х;

Ord(x) – возвращает порядковый номер величины х;

Chr(x) – определяет символ по его порядковому номеру.

Функции:

Page 14: Типы данных

14

Численные данныев языке Паскаль представлены целым и

вещественным типом.Целый тип – это интервал целых чисел. Операции

над целыми числами определены лишь тогда, когда данные (операнды) и результат лежат в этом интервале. Иначе возникает ситуация, называемая переполнением.

Вещественные числа представляются конечным множеством значений. Например, внутреннее представление типа real (6 байт) может дать 248 = 281 474 976 710 656 возможных комбинаций значащих разрядов в отведенных для него 6 х 8 = 48 битах.

Page 15: Типы данных

15

ЦЕЛОЧИСЛЕННЫЕ типы

Описание типа

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

Формат

Shorting -128 .. 127 1 байт со знаком

Integer -32 768 .. 32 767 2 байта со знаком

Longint -2 147 483 648 ..

2 147 483 647

4 байта со знаком

Bite 0 .. 255 1 байт без знака

Word 0 .. 65 535 2 байта без знака

- это интервалы целых чисел

Page 16: Типы данных

16

ВЕЩЕСТВЕННЫЕ типы

Описание типа

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

Точность Формат

Real 2.9E-39 .. 1.7E38 11-12 знаков 6 байт

Single 1.5E-45 .. 3.4E38 7-8 знаков 4 байта

Double 5.0E-324 .. 1.7E308 15-16 знаков 8 байт

Extended 3.4E-4932 .. 1.1E4932

19-20 знаков 10 байт

Comp -9.2E18 ..9.2E18 19-20 знаков 8 байт

- это конечное множество значений

Page 17: Типы данных

17

ЛОГИЧЕСКИЙ (булевский) тип данных

– символически обозначенная логическая величина, которая может принимать всего два значенияTRUE (ИСТИНА, да, 1 ) или FALSE (ЛОЖЬ, нет, 0 )

(1 байт памяти)

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

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

FALSE < TRUE

Page 18: Типы данных

18

СИМВОЛЬНЫЙ (литерный) тип данных

Диапазон значений: символы кодовой таблицы ASCII – это буквы, цифры, знаки препинания и специальные символы.

В памяти компьютера каждому символу соответствует индивидуальный числовой код от 0 до 255(10) (1 байт памяти);

( 0 – FF(16); 0 – 1111 1111(2))

• Описание: Char;

Page 19: Типы данных

19

ОГРАНИЧЕННЫЙ (интервальный) тип или диапазон

Задается своим минимальным и максимальным значениями. Может быть определен на основе любого порядкового типа.

Например:

М = 1..12;

L = ‘a’..’z’;

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

Page 20: Типы данных

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 задается перечисляемым типом данных из 4 значений.

Page 21: Типы данных

21

Объявление пользовательских типов данных происходит в разделе объявления типов, который открывается словом Type (англ. – тип):

Type ИмяТипа = ОписаниеТипа;Задание типа означает, что теперь в разделе описания

переменных можно пользоваться вновь введенным идентификатором.

Например, TypeMatr = array [1..N,1..M] of real;Week=(mondey, tuesday, wednesday, thursday, friday, saturday,

sanday);Work_week= mondey .. friday;Day=1..31;VarM: Week; R: Work_week; mas:matr;

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


Recommended