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.
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