begin Pi := ArcTan(1.0) * , Write1n(Output, 2.0 :11:(. 7 :3, Power(2.0,7) :11:6); PiSquared := Power(Pi,2); Write1n(Output, Pi :11:E, 2 :3, PiSquared Writeln(Output, PiSquared :11:6, 2 :3, : 11: 6) ; Power (PiSquared, 2) :11:6); Writeln(Output, Pi :11:6, 4 :3, Power(Pi,4) :11:6) end { Exponentiation2 } . 

## Produces as results: 

2.000000 7 128.000000 3.141593 2 9.869605 9.869605 2 97.409100 3.141593 4 97.409100 

## 11.B.1. Functional parameters 

Functions themselves may also be passed as parameters to procedures and functions. A formal functional parameter is specified by a function heading; its corresponding actual parameter is a function identifier. Program 11.9 computes the sum of terms in a series for different functions specified at activation. 

program SumSeries(Output); { Program 11.9 - Write a table of a series sum progress: ,m. } const MaxTerms = 10; var Term: 1 .. MaxTerms; function Sigma ( function r,:X:Real):Real; Lower,:pper :Integer ): Real; var Index: Integer; Sum: Real; begin Sum := 0.0; for Index : = Lower to UFT'er do Sum := Sum + F(Index); Sigma := Sum end { Sigma }; 

