blob: 0900b5c4416c77a6d41b8a74a1c1d6851e536162 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
PROCEDURE Change(BYREF A : INTEGER, B : INTEGER, BYVAL C : INTEGER)
A <- A + 1
B <- B + 2
C <- C + 100
ENDPROCEDURE
FUNCTION Factorial(N : INTEGER) RETURNS INTEGER
IF N <= 1 THEN
RETURN 1
ENDIF
RETURN N * Factorial(N - 1)
ENDFUNCTION
PROCEDURE LocalCopy(Values : ARRAY OF INTEGER)
Values[1] <- 99
ENDPROCEDURE
PROCEDURE Shared(BYREF Values : ARRAY[1:2] OF INTEGER)
Values[2] <- Values[1] + 3
ENDPROCEDURE
DECLARE A : INTEGER
DECLARE B : INTEGER
DECLARE C : INTEGER
DECLARE Values : ARRAY[1:2] OF INTEGER
A <- 1
B <- 2
C <- 3
CALL Change(A, B, C)
Values[1] <- 4
Values[2] <- 5
CALL LocalCopy(Values)
CALL Shared(Values)
OUTPUT A, ":", B, ":", C, ":", Factorial(5)
OUTPUT Values[1], ":", Values[2]
|