Типы данных. Операции и функции над данными разных типов
Операторы ввода-вывода
Оператор присваивания
Оператор присваивания вычисляет значение выражения, стоящего справа от знака “ :=“ и присваивает его переменной, указанной слева. Его общий вид
<имя переменной> := <выражение>;
Тип переменной и тип значения выражения должны совпадать за исключением того, что переменной типа Real может быть присвоено значение выражения типа Integer.
В программах на Паскале для ввода и вывода данных используют операторы обращения к процедурам ввода:
Read(список ввода); Readln(список ввода);
и процедурам вывода
Write(список вывода); Writeln(список вывода);
Процедура Writeln после вывода элементов списка переводит курсор на новую строку.
В список ввода могут входить переменные типа Integer, Real, Char. В списке вывода могут содержаться константы, переменные, выражения типаInteger, Real, Char и Boolean. При выводе данных можно задавать формат вывода сразу за объектом вывода:
<объект вывода> :<ширина поля>
где <ширина поля> - целое выражение, значение которого определяет количество знаков отводимое для объекта вывода.
Вещественные значения с <шириной поля> и без нее будут иметь экспоненциальную форму записи, поэтому для вывода значений с фиксированной точкой указанный формат вывода можно дополнить целым выражением через “ : ”, которое будет соответствовать количеству знаков после запятой:
<объект вывода> : <ширина поля> : <после точки>
Пример: Как будет выведено на экран:
a:=10; b:=2; c:=421.65;
Writeln(a,b,c); 1024.216500000E+02
Writeln(a,b:2,c:8:2) 10 2 421.65
Любые объекты, т.е. константы, переменные, значения функций или выражения, в Паскале характеризуются своими типами. Тип определяет множество допустимых значений того или иного объекта, а также множество операций, которые к нему применимы. Кроме того, тип определяет формат внутреннего представления данных в памяти ЭВМ.
Паскаль характеризуется разветвленной структурой типов данных:
К простым типам относятся порядковый и вещественный типы.
Порядковые типы отличаются тем, что каждый из них имеет конечное число возможных значений. Эти значения можно определенным образом упорядочить и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения. Основные порядковые типы Паскаля:
· · Integer - целый тип, представляет собой подмножество множества целых чисел, определяемое конкретной реализацией. Во внутреннем представлении он занимает 2 байта, диапазон возможных значений - от -32768 до +32767, данные представляются точно.
· · Char - символьный тип, представляет собой набор символов, определяемый конкретной реализацией. Во внутреннем представлении он занимает 1 байт, множество значений этого типа фиксировано и упорядочено. Все символы считаются перенумерованными, начиная с нуля. Такой набор символов определен в каждой вычислительной системе. Константой символьного типа является один из допустимых символов, взятый в апострофы. Если апостроф сам является символом, то апостроф, являющийся значением константы, записывается дважды, например ‘7’ , ‘+’ , ‘F’ , ‘’’’ , ‘j’ , ‘?’ .
· · Boolean - логический тип, определяет диапазон логических значений, который содержит два элемента False (ложь) и True (истина). Во внутреннем представлении он занимает 1 байт.
· · Тип-диапазон - подмножество своего базового типа, в качестве которого может быть любой порядковый тип, кроме типа-диапазон. Тип- диапазон задается границами своих значений внутри базового типа <минимальное значение> . .<максимальное значение> При определении типа-диапазон нужно руководствоваться следующими правилами:
- - ".." рассматриваются как один символ, поэтому между точками пробелы недопустимы;7
- - левая граница не должна превышать правую границу.
Примеры:Type month = 1 ..12; lat = ’a’ .. ’z’;
· · Вещественный тип, строго говоря, тоже имеет конечное число значений, которое определяется форматом внутреннего представления вещественного числа. Однако количество возможных значений вещественного числа настолько велико, что сопоставить с каждым из них целое число не представляется возможным.
Real- вещественный тип, представляет собой определяемое конкретной реализацией подмножество множества вещественных чисел. Во внутреннем представлении он занимает 6 байт, диапазон возможных значений - от 2.9Е-39 до 1.7Е+38, точность представления данных - 11...12 значащих цифр.
Примечание. В системе программирования Турбо-Паскаль определено несколько дополнительных простых типов данных для целых и вещественных величин. Они различаются своими диапазонами значений и размером занимаемой памяти. Информация о них представлена в следующих таблицах.