Realizacja algorytmu rozwiązywania równania liniowego w pascalu

 

Algorytm rozwiązywania równania liniowego

przykład algorytmu rozwiązywania równania liniowego

program Rownanie_liniowe;
var a, b, x: real;
begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  if a=0 then
    if b=0 then
      writeln('Rownanie tozsamosciowe')
    else
      writeln('Rownanie sprzeczne')
  else begin
    x:=-b/a;
    writeln('x = ',x);
  end;
  readln;
end.

 

 Pierwszą linię programu możemy traktować jako ozdobnik, jednak wymagany przez składnię języka pascal. Każdy program w pascalu musi się zaczynać słowem kluczowym program poprzedzającym nazwę programu, nie wnosi nic do realizacji algorytmu. Druga linia ma charakter pomocniczy. Wiemy, że nasz algorytm korzysta z trzech zmiennych przechowujących liczby rzeczywiste. W pascalu wszystkie zmienne muszą być zadeklarowane przed rozpoczęciem bloku kodu. Deklarując zmienną musimy podać jakiego typu dane będą w niej przechowywane.

 Trzecia linia zawierająca słowo kluczowe begin odpowiada blokowi startowemu (1) naszego algorytmu.

 Linie od 4 do 7 realizują operację wejścia/wyjścia (2), w której pobierane są dane wejściowe - współczynniki a i b równania.

 Instrukcja warunkowa z linii 8 to blok wyboru (3) z naszego algorytmu. Instrukcja sprawdza czy współczynnik a jest równy 0. Gdy warunek jest spełniony realizowana jest instrukcja po słowie kluczowym then, zapisana w liniach od 9 do 12 (w algorytmie blok wyboru (4) oraz bloki wejścia-wyjścia (5) i (6)). Gdy warunek nie jest spełniony wykonywana jest instrukcja znajdująca się po słowie kluczowym else, w naszym przypadku jest to instrukcja złożona, ujęta w nawiasy logiczne begin end pomiędzy liniami 13 i 16. Najpierw w linii 14 obliczamy rozwiązanie równania x = -b/a (blok operacyjny (7)), a następnie w linii 15 wypisujemy otrzymany wynik (blok wejścia-wyjścia (8)).

 Instrukcja readln w linii 17 nie ma żadnego związku z wykonaniem naszego algorytmu. Służy ona zatrzymaniu programu do czasu naciśnięcia klawisza enter, co zapobiega natychmiastowemu zamknięciu okienka z programem.

 Instrukcja end. z linii 18 kończy działanie programu (blok końca algorytmu (9)).