Table of Contents

Anhang: Division durch Subtraktion

Teilt a/b durch wiederholtes Subtrahieren.

Programm

var a, b, q;
begin
  ? a;
  ? b;
  q := 0;
  while a >= b do
  begin
    a := a - b;
    q := q + 1
  end;
  ! q
end.

📥 Programm herunterladen

Erklaerung

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

Details

  • Wiederholtes Subtrahieren bis a < b.
  • Ergebnis ist Quotient ohne Rest.

Beispiel

Eingabe:

17 5

Ausgabe:

3

Testfaelle

  • 9 3 -> 3
  • 8 3 -> 2

Ausfuehrung

Beispiel:

dotnet run --project src/Pl0.Cli -- examples/appendix/division-durch-subtraktion/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/division-durch-subtraktion/program.pl0 --list-code

P-Code mit Op-Codes anzeigen:

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