Table of Contents

Anhang: Fakultaet

Berechnet n! iterativ.

Programm

var n, i, f;
begin
  ? n;
  f := 1;
  i := 2;
  while i <= n do
  begin
    f := f * i;
    i := i + 1
  end;
  ! f
end.

📥 Programm herunterladen

Erklaerung

  • Eingaben werden mit ? gelesen.
  • Ausgaben erfolgen ueber !.
  • Alle Berechnungen sind ganzzahlig.

Details

  • Laufvariable i startet bei 2, Ergebnis in f.
  • Fuer n=0 bleibt f=1.

Beispiel

Eingabe:

5

Ausgabe:

120

Testfaelle

  • 0 -> 1
  • 6 -> 720

Ausfuehrung

Beispiel:

dotnet run --project src/Pl0.Cli -- examples/appendix/fakultaet/program.pl0

Tipp: Fuege --list-code hinzu, um den P-Code zu sehen. Fuege noch --wopcod hinzu, um zusaetzlich den Op-Code anzuzeigen.

P-Code anzeigen:

dotnet run --project src/Pl0.Cli -- examples/appendix/fakultaet/program.pl0 --list-code

P-Code mit Op-Codes anzeigen:

dotnet run --project src/Pl0.Cli -- examples/appendix/fakultaet/program.pl0 --list-code --wopcod