Octave fun: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎Octave fun scripts: Inline code example and overhaul code.)
m (→‎Octave fun scripts: Use File-Template.)
Line 7: Line 7:
Octave tree: [[File:OctaveTree.png|500px]]
Octave tree: [[File:OctaveTree.png|500px]]


<syntaxhighlight lang="octave">
{{File|OctaveTree.m|<syntaxhighlight lang="octave">
N = 25;  # Height
N = 25;  # Height
H = 7;  # Trunk height
H = 7;  # Trunk height
Line 48: Line 48:
   i++;
   i++;
endwhile
endwhile
</syntaxhighlight>
</syntaxhighlight>}}


[[Category:Examples]]
[[Category:Examples]]

Revision as of 18:38, 13 June 2019

Octave fun scripts

Writing programs (not only in Octave) is often seen as a boring activity. To see this is not true one can look at the samples below:

Octave tree: OctaveTree.png

File: OctaveTree.m
N = 25;  # Height
H = 7;   # Trunk height
g = 0.2; # Density of decoration (0 <= g <= 1).

for i = 1:N
  for j = 1:N-i
     printf (" ");
  endfor
  for j = 1:2*i-1
    z = rand ();
     if (z < g)
       printf ("@");
     else
       printf ("*");
     endif
  endfor
  printf ("\n");
endfor
for i = 1:H
  for j = 1:N-2
    printf (" ");
  endfor
  printf ("***\n");
endfor
i = 0;
printf ("2019");
while (true)
  i = mod (i, 2*N);
  for j = 1:i
    printf (" ");
  endfor
  if (i < 2*N-2)
    printf ("mmmDDD");
  else
    printf ("  2020");
  endif
  pause (0.1)
  printf ("\r2019");
  i++;
endwhile