Find limit of recursion: Difference between revisions
Content added Content deleted
(Added Gambas) |
No edit summary |
||
Line 2,661: | Line 2,661: | ||
Obviously, if the procedure '''recursive''' would have contained local variables, the depth of recursion would be reached much earlier... |
Obviously, if the procedure '''recursive''' would have contained local variables, the depth of recursion would be reached much earlier... |
||
=={{header|PL/M}}== |
|||
<syntaxhighlight lang="PL/M"> |
|||
100H: |
|||
BDOS: PROCEDURE (FN, ARG); DECLARE FN BYTE, ARG ADDRESS; GO TO 5; END BDOS; |
|||
EXIT: PROCEDURE; CALL BDOS(0,0); END EXIT; |
|||
PRINT: PROCEDURE (S); DECLARE S ADDRESS; CALL BDOS(9,S); END PRINT; |
|||
PRINT$NUM: PROCEDURE (N); |
|||
DECLARE S (8) BYTE INITIAL ('.....',13,10,'$'); |
|||
DECLARE (N, P) ADDRESS, C BASED P BYTE; |
|||
P = .S(5); |
|||
DIGIT: |
|||
P = P-1; |
|||
C = N MOD 10 + '0'; |
|||
IF (N := N/10) > 0 THEN GO TO DIGIT; |
|||
CALL PRINT(P); |
|||
END PRINT$NUM; |
|||
RECURSE: PROCEDURE; |
|||
DECLARE CNT ADDRESS INITIAL (1); |
|||
CALL PRINT$NUM(CNT); |
|||
CNT = CNT + 1; |
|||
CALL RECURSE; |
|||
END RECURSE; |
|||
CALL RECURSE; |
|||
CALL EXIT; |
|||
EOF |
|||
</syntaxhighlight> |
|||
=={{header|PowerShell}}== |
=={{header|PowerShell}}== |