Презентация - Типы данных


Нажмите для просмотра
Типы данных
На весь экран

Слайды и текст этой презентации

Слайд 1

Типы данных

Слайд 2

Типы данных в языке Паскаль

Слайд 3

Базовые и конструируемые типы Базовые типы – типы, определяемые в языке программирования. Конструируемые типы – типы, которые задаются программистом.

Слайд 4

Базовые и конструируемые типы

Слайд 5

Базовые и конструируемые типы Например переменные базовых типов могут быть определены в разделе описания переменных Var a, b : real; d: integer; Конструируемые типы так же могут быть описаны в разделе описания переменных Var s : string;

Слайд 6

Раздел описания типов Типы данных, конструируемые программистом, описываются в разделе Type по следующему шаблону: Type ; Например: Type lat bukvy 'a'..'z','A'..'Z';

Слайд 7

Раздел описания типов Базовые типы данных являются стандартными, поэтому нет нужды описывать их в разделе Type . Однако при желании это тоже можно сделать, например, дав длинным определениям короткие имена. Скажем, введя новый тип данных Type int integer; Тогда можно описать переменные Var x, y : int;

Слайд 8

Порядковые типы данных Целые: shortint byte integer word longint Логические: boolean Символьные: char; Перечисляемые: задаются перечислением значений и/или диапазонами значений.

Слайд 9

Функции применяемые к порядковым типам ord(x) возвращает порядковый номер значения переменной x (относительно того типа, к которому принадлежит переменная х). pred(x) возвращает значение, предшествующее х (к первому элементу типа неприменима). succ(x) возвращает значение, следующее за х (к последнему элементу типа неприменима).

Слайд 10

Процедуры применяемые к порядковым типам inc(x) возвращает значение, следующее за х (для арифметических типов данных это эквивалентно оператору x: x 1). inc(x,k) возвращает k-е значение, следующее за х (для арифметических типов данных это эквивалентно оператору x: x k). dec(x) возвращает значение, предшествующее х (для арифметических типов данных это эквивалентно оператору x: x-1). dec(x,k) возвращает k-e значение, предшествующее х (для арифметических типов данных это эквивалентно оператору x: x-k).

Слайд 11

Целочисленные типы данных Над целыми типами определены такие операции: - / mod div

Слайд 12

Логический тип данных Логический тип boolean имеет два значения: false и true Над операндами логического типа определены такие операции: or, and, not, xor Для логического типа выполняются следующие равенства: ord(false) 0, ord(true) 1, false pred(true) false, succ(false) true, inc(true) false, inc(false) true, dec(true) false, dec(false) true.

Слайд 13

Символьный тип данных В символьный тип char входит 256 символов расширенной таблицы ASCII Например, 'a', 'b', 'я', '7', &' Номер символа, возвращаемый функцией ord() , совпадает с номером этого символа в таблице ASCII.

Слайд 14

Символьный тип данных Пример описания символьной переменной: Var simb1, simb2 : char; Begin simb1: R ; simb2: #65; С помощью # производится перевод целого числа в соответствующий символ данного ASCII-кода write (simb1,simb2); End. Результат работы программы RA

Слайд 15

Перечисляемые типы данных Перечисляемые типы данных задаются в разделе Type явным перечислением их элементов. Например: Type week (sun,mon,tue,wed,thu,fri,sat) Напомним, что для этого типа данных: inc(sat) sun, dec(sun) sat.

Слайд 16

Интервальные типы данных (диапазоны) Интервальные типы данных задаются только границами своего диапазона. Например: Type month 1..12; Программист может создавать и собственные типы данных, являющиеся комбинацией нескольких стандартных типов. Например: Type valid for identifiers 'a'..'z','A'..'Z',' ','0..9 ;

Слайд 17

Вещественные типы данных Вещественные типы данных являются арифметическими, но не порядковыми. Следовательно для этих типов данных выполняются арифметические операции (за исключением операций с целыми числами) и стандартные математические функции.

Слайд 18

Запись вещественных чисел Математическая запись Запись на Паскале 4 10 -4 4E -4 0,62 10 5 0.62E 5 либо .62E 5 -10,88 10 12 -10.88E12

Слайд 19

Конструируемые типы данных Конструируемые типы данных будут изучены на последующих лекциях.

Слайд 20

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

Слайд 21

Неявное преобразование типов Тип результата арифметических операций (а следовательно, и выражений) может отличаться от типов исходных операндов. Пример: Var a,b : integer; d : real; Begin read (a,b); r: a/b; write (r); End.

Слайд 22

Неявное преобразование типов Если в некоторой операции присваивания участвуют два типа данных совместимых, но не совместимых по присваиванию, то тип присваиваемого выражения автоматически заменяется на подходящий. Пример: Var a : byte; Begin a: 10; a: -a; write (a); End. На экране мы увидим не -10, а 246 (246 256 - 10).

Слайд 23

Явное преобразование типов Тип значения можно изменить и явным способом: просто указав новый тип выражения. Пример: a: byte(b); В этом случае переменной а будет присвоено значение, полученное новой интерпретацией значения переменной b. Скажем, если b имеет тип shortint и значение -23, то в a запишется 233 ( 256 - 23).

Слайд 24

Функции изменяющие тип данных Функции округления: trunc real - integer round real - integer Функция преобразования строки в число val string - byte/integer/real Получение символа по заданному ASCII-коду сhr byte - char Преобразование порядковых типов ord - longint