aboutsummaryrefslogtreecommitdiff
path: root/challenge-207/deadmarshal/oberon/Ch2.Mod
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-207/deadmarshal/oberon/Ch2.Mod')
-rw-r--r--challenge-207/deadmarshal/oberon/Ch2.Mod28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-207/deadmarshal/oberon/Ch2.Mod b/challenge-207/deadmarshal/oberon/Ch2.Mod
new file mode 100644
index 0000000000..91ac5e1200
--- /dev/null
+++ b/challenge-207/deadmarshal/oberon/Ch2.Mod
@@ -0,0 +1,28 @@
+MODULE Ch2;
+
+ IMPORT Out;
+
+ VAR
+ A1,A2:ARRAY 5 OF INTEGER;
+
+ PROCEDURE Init;
+ BEGIN
+ A1[0] := 10; A1[1] := 8; A1[2] := 5; A1[3] := 4; A1[4] := 3;
+ A2[0] := 25; A2[1] := 8; A2[2] := 5; A2[3] := 3; A2[4] := 3;
+ END Init;
+
+ PROCEDURE HIndex(VAR A:ARRAY OF INTEGER):INTEGER;
+ VAR
+ i:LONGINT;
+ BEGIN
+ FOR i := 0 TO LEN(A)-1 DO
+ IF i >= A[i] THEN RETURN SHORT(i) END
+ END;
+ END HIndex;
+
+BEGIN
+ Init;
+ Out.Int(HIndex(A1),0); Out.Ln;
+ Out.Int(HIndex(A2),0); Out.Ln;
+END Ch2.
+