tmacpas3.pp 573 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. {$mode macpas}
  2. {Test of anonymous procedure parameters}
  3. function AA1 (i: Integer; function BB (a: Integer): Integer ): Integer;
  4. begin
  5. AA1:= BB(i);
  6. end;
  7. function CC1 (a: Integer): Integer;
  8. begin
  9. Writeln('Inside CC1, param is ', a);
  10. CC1:= a+a;
  11. end;
  12. var
  13. res: Integer;
  14. procedure AA2 (i: Integer; procedure BB (a: Integer));
  15. begin
  16. BB(i);
  17. end;
  18. procedure CC2 (a: Integer);
  19. begin
  20. Writeln('Inside CC2, param is ', a);
  21. res:= a+a;
  22. end;
  23. begin
  24. res:= 0;
  25. res:= AA1(42, CC1);
  26. if res <> 84 then
  27. Halt(1);
  28. AA2(27, CC2);
  29. if res <> 54 then
  30. Halt(1);
  31. end.