Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Нулевой указатель






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

 Пример (продолжение примера из параграфа 5.3)

PROCEDURE Test(f, G: Func); { G – первообразная f }

BEGIN

Writeln('Приближенное значение интеграла: ',
Integr(f, 1, 5, 1000));

IF @G< > NIL THEN

Writeln('Точное значение интеграла: ',
G(5)-G(1));

END;

 

FUNCTION G1(x: Real): Real;

BEGIN G1: =Sqr(x)/4-Cos(x) END;

{ Первообразная функции }

 

FUNCTION f2(x: Real): Real;

BEGIN f2: =Sin(x)/x END;

{ Интеграл – не берущийся }

∙ ∙ ∙

Test(f1, G1); { Напечатаются приближенное
и точное значения }

Test(f2, NIL); { Напечатается только
приближенное значение }

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.