23 lines
564 B
Plaintext
23 lines
564 B
Plaintext
BEGIN
|
|
|
|
! APPLIES A CALLBACK FUNCTION TO AN ARRAY ;
|
|
PROCEDURE APPLY(ARR, FUN);
|
|
REAL ARRAY ARR;
|
|
PROCEDURE FUN IS REAL PROCEDURE FUN(X); REAL X;;
|
|
BEGIN
|
|
INTEGER I;
|
|
FOR I := LOWERBOUND(ARR, 1) STEP 1 UNTIL UPPERBOUND(ARR, 1) DO
|
|
ARR(I) := FUN(ARR(I));
|
|
END APPLY;
|
|
|
|
! CALLBACK ;
|
|
REAL PROCEDURE SQUARE(X); REAL X; SQUARE := X * X;
|
|
|
|
REAL ARRAY A(1:5);
|
|
INTEGER I;
|
|
FOR I := 1 STEP 1 UNTIL 5 DO A(I) := I;
|
|
APPLY(A, SQUARE);
|
|
FOR I := 1 STEP 1 UNTIL 5 DO OUTFIX(A(I), 2, 8); OUTIMAGE;
|
|
|
|
END.
|