Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Понятие типизированной константы

Совместимость типов данных

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

Наиболее высоким уровнем соответствия типов является эквивалентность. Два типа T1 и T2 являются эквивалентными, если выполняется хотя бы один из следующих пунктов:

· T1 и T2 совпадают;

· T1 и T2 определены в одном объявлении типа;

· T1 эквивалентен некоторому T3, который эквивалентен типу T2.

Далее следует понятие совместимости. Совместимость означает, что для переменных этих типов возможна операция присваивания, но во время этой операции присваиваемое значение может измениться (неявное преобразование типов данных). Два типа T1 и T2 будут совместимыми, если выполняется хотя бы один из следующих пунктов:

· T1 и T2 эквивалентны;

· T1 и T2 оба целочисленные или оба вещественные;

· T1 и T2 являются подмножествами одного типа;

· T1 является некоторым подмножеством T2;

· T1 – строка, а T2 – символ;

· T1 – это тип pointer, а T2 – типизированный указатель;

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

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

· тип переменной и тип выражения эквивалентны, но не файлы;

· тип переменной и тип выражения совместимы, причем тип выражения – некоторое подмножество типа переменной;

· тип переменной – вещественный, а тип выражения – целый.

Пример:

var

a, b: integer;

x, y: real;

t1, t2: boolean;

a:=b; a:=7; a:=3*sqr(b); a:=round(x); { можно}

a:=x; a:=sqrt(9); a:=4/2; a:=t1; a:=3+4.0 { нельзя}

x:=y; x:=sqrt(9); x:=3.4*a; x:=a/b; { можно}

x:=a; x:=3; x:=4*a; x:=trunc(4.53); { можно}

t1:=t2; t1:=a>b; t1:=odd(a); { можно}

t1:=x; t1:=a; { нельзя}

Пример:

присвоить переменной a целую часть суммы x и y:

a:=trunc(x+y).

Пример:

присвоить переменной a количество десятков числа b:

a:=b mod 100 div 10;

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

1) имеет стартовое значение, как и любые другие константы;

2) может в процессе выполнения программы поменять свое значение с помощью оператора присваивания, как и любые другие переменные.

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

Описываются типизированные константы в разделе описания констант. Пишут имя константы, далее символ двоеточие «:» и тип данных и лишь затем знак «=» и ее значение. Запись заканчивается символом «;».

Пример:

const

x: real = 0.001;

n: integer = 10;

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

Пример:

x:= 10 * n;

n:= trunc (x);

<== предыдущая лекция | следующая лекция ==>
Оператор присваивания | Форматированный вывод
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 237; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.