Table of Contents

Anhang: Quadratische Gleichung

Diskriminante und ganzzahlige Loesung (vereinfachtes Beispiel).

Programm

var a, b, c, d, x;
begin
  ? a;
  ? b;
  ? c;
  d := b * b - 4 * a * c;
  if d < 0 then
    ! 0
  else
  begin
    x := (-b + d) / (2 * a);
    ! x
  end
end.

📥 Programm herunterladen

Erklaerung

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

Details

  • Diskriminante d entscheidet ueber Existenz der Loesung.
  • Wurzel wird hier vereinfacht als d behandelt (didaktisch).

Beispiel

Eingabe:

1 -3 2

Ausgabe:

4

Testfaelle

  • 1 0 -4 -> 4
  • 1 0 4 -> 0

Ausfuehrung

Beispiel:

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

P-Code mit Op-Codes anzeigen:

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