Realizacja algorytmu rozwiązywania równania kwadratowego w JavaScript

 Algorytm rozwiązywania równania kwadratowego

Przykład realizacji algorytmu rozwiązywania równania kwadratowego

<!DOCTYPE html>
<html>
<body>
<script>

function liniowe(a,b) {
  if (a==0)
    if (b==0)
      alert("Równanie tożsamościowe");
    else
      alert("Równanie sprzeczne");
  else {
    var x = -b / a;
    alert("x = " + x);
  }
}

var a=prompt("a:", "");
var b=prompt("b:", "");
var c=prompt("c:", "");
if (a == 0) 
  liniowe(b,c);
else {
  var delta = b*b-4*a*c;
  if (delta < 0)
    alert("Brak rozwiązań");
  else 
    if (delta == 0) {
      var x = -b / (2 * a);
      alert("Jedno rozwiązanie x = " + x);
    }
    else {
      var x1 = (-b + Math.sqrt(delta)) / (2 * a);
      var x2 = (-b - Math.sqrt(delta)) / (2 * a);
      alert("x1 = " + x1 + "    x2 = " + x2);
    }
}
</script> 
</body>
</html>

Linia programu Opis Blok algorytmu
 1 W 1 linii programu informujemy przeglądarkę, że nasz dokument został napisany w języku HTML (dokładniej jest to nagłówek charakterystyczny dla HTML 5). Linia 2 zawiera znacznik <html> rozpoczynający kod HTML. 3 linia rozpoczyna sekcję <body> naszego dokumentu, zawierającą elementy, które mają się ukazać na stronie. W naszym przykładzie w sekcji <body> zawarty jest wyłącznie skrypt zapisany w języku JavaScript realizujący algorytm rozwiązywania równania kwadratowego. O rozpoczęciu skryptu informuje znacznik <script> z linii 4. -
6 - 16 Definiujemy funkcję liniowe, realizującą algorytm rozwiązywania równania liniowego. 4
18-20 Deklarujemy przy pomocy słowa kluczowego var zmienne a,b,c. Jednocześnie operator przypisania ("=") inicjuje te zmienne wartościami wprowadzonymi przez użytkownika za pomocą instrukcji prompt(). prompt - funkcja standardowa języka JavaScript - wyświetla na ekranie wyskakujące okienko wprowadzania tekstu. Pierwszy argument funkcji określa tekst wyświetlany jako znak zachęty, drugi jest wartością domyślną wpisaną do pola edycji. Funkcja prompt() w wyniku zwraca tekst wpisany przez użytkownika do pola edycji i następnie zatwierdzony przyciskiem OK.  2
21 Sprawdzamy, czy współczynnik a jest równy 0. Jeśli tak mamy do czynienia z równaniem liniowym. 3
22 W tej linii znajdziemy się tylko wtedy, gdy a = 0, czyli gdy równanie jest równaniem liniowym. Wywołujemy funkcję liniowe(b, c), realizującą algorytm rozwiązywania równania liniowego. Warto zwrócić uwagę, że współczynnik przy pierwszej potędze zmiennej x oznaczony jest symbolem b, a wyraz wolny - c (tradycyjnie w równaniu liniowym używa się odpowiednio a i b). 4
23 else, czyli w przeciwnym przypadku. W tym miejscu rozpoczyna się rozwiązanie równania, gdy a ≠ 0, czyli gdy faktycznie mamy do czynienia z równaniem kwadratowym. -
24 Deklarujemy zmienną delta i obliczmy jej wartość. 5
25 Sprawdzamy czy delta < 0. 6
26 Gdy delta < 0 wypisujemy przy pomocy funkcji alert() odpowiedni komunikat informujący o braku rozwiązań. 7
27 Tutaj rozpoczyna się blok programu realizowany gdy delta nie jest mniejsza od zera, czyli gdy równanie posiada rozwiązania (jedno lub dwa). -
28 Sprawdzamy czy delta = 0. 8
29 Obliczamy i zapisujemy w zmiennej x rozwiązanie równania (jedno, podwójne - delta = 0). 9
30 Wyświetlamy obliczony wynik. 10
32 Rozpoczynamy blok programu realizowany w sytuacji gdy nie był spełniony warunek delta = 0 (oraz wcześniejsze delta < 0 i a  ≠ 0). -
33 - 34 Obliczamy rozwiązania i ich wartości przypisujemy do zmiennych x1 i x2, które jednocześnie deklarujemy przy pomocy instrukcji var. 11
35 Wyświetlamy obliczony wynik - dwa rozwiązania równania kwadratowego. 12
46-37 Zamykamy bloki instrukcji złożonych. -
39-41 Zamykamy znaczniki </script>,  </body> i </html>. -