пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

pogromirovanie:
» sooqa
Уася:
» History motherfuckers

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

Turbo Pascal позволяет вводить переменные специального вида, значениями которых могут служить подпрограммы. Т.е позволяет интерпретировать процедуры и функции как значения, которые можно присваивать переменным и передавать в качестве параметров.
Определение такого типа аналогично заголовку подпрограммы, но без указания имени.

Type {процедурный тип}

PROC= Procedure (« список форм. параметров »);
PP= Procedure;

{функциональный тип}

FUN= Function( <список форм. параметров > ) : <тип результ. >

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

  1. Элементами процедурного типа являются процедуры и функции, заголовки которых совпадают с заголовками в разделе Type.
  2. Допустимы операторы присваивания , в правых частях

которых находятся идентификаторы других процедурных переменных или идентификаторы подрограмм.

  1. Переменная процедурного типа в различные моменты выполнения программы может иметь в качестве значения различные подпрограммы.

Пример.
Type OP= Function (x,y: real): real;

VAR Proces: OP;

Function Sum (a, b:real):real; Far;

Begin Sum:=a+b; End;

Function Delen (a, b:real):real; Far;

Begin Delen:=a / b; End;

Begin ………………
If vslov Then Proces:= Sum

Else Proces:= Delen;

Write( Proces(25.2, 2.5+x));

………………………
End.
Конструкция Proces(25.2, 2.5+x) вызовет активизацию той функции, которая была присвоена переменной Proces.
Переменные процедурных типов можно использовать в качестве параметров процедур и функций.

 


27.01.2014; 07:24
хиты: 236
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь