Table of Contents

Anhang: Ziffernsumme

Berechnet die Ziffernsumme einer Zahl.

Programm

var n, sum, digit;
begin
  ? n;
  sum := 0;
  while n > 0 do
  begin
    digit := n - (n / 10) * 10;
    sum := sum + digit;
    n := n / 10
  end;
  ! sum
end.

📥 Programm herunterladen

Erklaerung

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

Details

  • Mod 10 per n - (n/10)*10.
  • Schleife endet bei n=0.

Beispiel

Eingabe:

472

Ausgabe:

13

Testfaelle

  • 0 -> 0
  • 999 -> 27

Ausfuehrung

Beispiel:

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

P-Code mit Op-Codes anzeigen:

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