Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Операции присвоения и сравнения




Арифметические операции

Операции

Вопросы для самопроверки

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

Процедурные указатели

Процедурные типы

Покажем на примере использование процедурных типов (п.1.3.9).

Type TSum=Function(A,B: Integer):Integer; //объявление процедурного типа

Var PSum: TSum; //объявление переменной ‑ указателя процедуры

PSum:=Sum; //переменной PSum присваивается описание процедуры Sum

X:=PSum(1,3); //обращение к функции Sum с аргументами 1, 3

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

Type Tfun=Function(X,Y:Integer):Integer; //объявление процедурного типа

Function Add(X,Y:Integer):Integer; Begin Result:=X+Y; End; //функция Add

Function Sub(X,Y:Integer):Integer; Begin Result:=X‑Y; End; //функция Sub

Function Fun(X,Y:Integer;Proc:Tfun):Integer; Begin Result:=Proc(X,Y); End;

Writeln(Fun(1,2,Add)); //сложение чисел 1+2=3

Writeln(Fun(1,2,Sub)); //вычитание чисел 1‑2=‑1

Для проверки наличия описания в переменной процедурного типа используется функция Assigned (<процедурная переменная>), которая возвращает True, если описание есть.

Рассмотрим использование процедурных указателей на примерах.

Var X:Pointer; … X:=@Sum; //адрес начала процедуры Sum в X

Const U:Pointer=@Sum; //константа ‑ указатель на функцию Sum

1. Можно ли переносить на другую строку константы, разрывая их?

2. Верно ли написано имя переменной «План»?

3. В чем состоит отличие переменной от константы?

4. Каково назначение встроенных констант?

5. Что содержит указатель?

Контрольные вопросы

1. Какие типы данных хранятся в переменной типа Variant?

2. Должна ли переменная быть объявлена до ее использования?

3. Допускается ли массив записей?

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

5. Могут ли быть в программе одноименные глобальные и локальные переменные?

6. Что указывается в качестве уточнителя поля записи?

7. Что такое указатель‑переменная?

Сложение (+), вычитание (‑), умножение (*), деление (/), деление на ноль запрещено, целочисленное деление (Div), получение остатка от целочисленного деления (Mod, 11 Mod 5 = 1), замена знака значения переменной на противоположный (унарный минус).

Результат деления имеет всегда тип Extended. Для остальных опера­ций ‑ результат типа Extended, если один из операндов имеет тип Real, иначе ‑ Int64, если один из операндов имеет тип Int64 и Integer ‑ в остальных случаях.

К операциям относятся: присвоить значение (:=), равно (=), не равно (<>), меньше чем (<), больше чем (>), меньше или равно (<=), больше или равно (>=). Результатом сравнения является логическая константа True (истина) либо False (ложь). В операции сравнения могут участвовать однотипные опе­ранды, кроме Real и Integer, которые сравниваются друг с другом.




Поделиться с друзьями:


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


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



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




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