Mutual recursion: Difference between revisions
Content added Content deleted
(Added FreeBASIC) |
m (→{{header|AWK}}) |
||
Line 236: | Line 236: | ||
In AWK it is enough that both functions are defined somewhere. It matters not whether the BEGIN block is before or after the function definitions. |
In AWK it is enough that both functions are defined somewhere. It matters not whether the BEGIN block is before or after the function definitions. |
||
<lang awk> |
<lang awk>cat mutual_recursion.awk: |
||
#!/usr/local/bin/gawk -f |
|||
{ |
|||
if ( n == 0 ) return 1; |
|||
# User defined functions |
|||
⚫ | |||
function F(n) |
|||
} |
|||
⚫ | |||
function M(n) |
function M(n) |
||
⚫ | |||
{ |
|||
if ( n == 0 ) return 0; |
|||
⚫ | |||
} |
|||
BEGIN { |
BEGIN { |
||
for(i=0; i < 20; i++) { |
for(i=0; i <= 20; i++) { |
||
printf "%3d ", F(i) |
printf "%3d ", F(i) |
||
} |
} |
||
print "" |
print "" |
||
for(i=0; i < 20; i++) { |
for(i=0; i <= 20; i++) { |
||
printf "%3d ", M(i) |
printf "%3d ", M(i) |
||
} |
} |
||
print "" |
print "" |
||
}</lang> |
}</lang> |
||
{{out}} |
|||
<pre> |
|||
$ awk -f mutual_recursion.awk |
|||
1 1 2 2 3 3 4 5 5 6 6 7 8 8 9 9 10 11 11 12 13 |
|||
0 0 1 2 2 3 4 4 5 6 6 7 7 8 9 9 10 11 11 12 12 |
|||
</pre> |
|||
=={{header|BASIC}}== |
=={{header|BASIC}}== |