Слайды и текст этой онлайн презентации
Слайд 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