Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
34
Task/Sudan-function/Modula-2/sudan-function.mod2
Normal file
34
Task/Sudan-function/Modula-2/sudan-function.mod2
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
MODULE Sudan;
|
||||
FROM InOut IMPORT WriteCard, WriteString, WriteLn;
|
||||
|
||||
PROCEDURE sudan(n, x, y: CARDINAL): CARDINAL;
|
||||
VAR k: CARDINAL;
|
||||
BEGIN
|
||||
IF n = 0 THEN RETURN x+y
|
||||
ELSIF y = 0 THEN RETURN x
|
||||
ELSE
|
||||
k := sudan(n, x, y-1);
|
||||
RETURN sudan(n-1, k, k+y)
|
||||
END
|
||||
END sudan;
|
||||
|
||||
PROCEDURE Show(n, x, y: CARDINAL);
|
||||
BEGIN
|
||||
WriteString("sudan(");
|
||||
WriteCard(n, 0);
|
||||
WriteString(", ");
|
||||
WriteCard(x, 0);
|
||||
WriteString(", ");
|
||||
WriteCard(y, 0);
|
||||
WriteString(") = ");
|
||||
WriteCard(sudan(n,x,y), 0);
|
||||
WriteLn
|
||||
END Show;
|
||||
|
||||
BEGIN
|
||||
Show(0, 0, 0);
|
||||
Show(1, 1, 1);
|
||||
Show(2, 1, 1);
|
||||
Show(3, 1, 1);
|
||||
Show(2, 2, 1)
|
||||
END Sudan.
|
||||
Loading…
Add table
Add a link
Reference in a new issue