Table of Contents

Anhang: Palindromtest

Prueft, ob eine Zahl ein Palindrom ist.

Programm

var n, t, r, d;
begin
  ? n;
  t := n;
  r := 0;
  while t > 0 do
  begin
    d := t - (t / 10) * 10;
    r := r * 10 + d;
    t := t / 10
  end;
  if r = n then
    ! 1
  else
    ! 0
end.

📥 Programm herunterladen

Erklaerung

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

Details

  • Dreht Zahl um und vergleicht.
  • Ergebnis: 1 = Palindrom, 0 = nein.

Beispiel

Eingabe:

1221

Ausgabe:

1

Testfaelle

  • 123 -> 0
  • 11 -> 1

Ausfuehrung

Beispiel:

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

P-Code mit Op-Codes anzeigen:

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