Silnia w JavaScript - iteracyjnie

Algorytm rozwiązywania równania liniowego

Algorytm iteracyjny obliczania funkcji silnia

<!DOCTYPE html>
<html>
<body>
<script>
var n = prompt("n:", "");
var i = 1;
var s = 1;
while (i <= n) s *= i++;
alert(n + '! = ' + s);
</script>
</body>
</html>

 

 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 iteracyjny algorytm obliczania silni. O rozpoczęciu skryptu informuje znacznik <script> z linii 4 - możemy go potraktować jako blok startowy (1) naszego algorytmu. Treść skryptu zawarta jest w liniach od 5 do 9.

 W linii 5 deklarujemy przy pomocy słowa kluczowego var zmienną n, jednocześnie operator przypisania ("=") inicjuje tę zmienną wartością wprowadzoną przez użytkownika za pomocą instrukcji prompt(), blok (2) algorytmu. 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. W naszym przypadku jako znak zachęty wyświetlamy tekst "n:" i nie podpowiadamy użytkownikowi żadnego tekstu domyślnego (drugi argument jest tekstem pustym ""). Funkcja prompt() w wyniku zwraca tekst wpisany przez użytkownika do pola edycji i następnie zatwierdzony przyciskiem OK.

 W liniach 6 i 7 deklarujemy zmienne i oraz s inicjując je jednocześnie wartością początkową (w obu przypadkach równą 1), blok (3) omawianego algorytmu.

 Instrukcja while z linii 8 jest odpowiednikiem bloku wyboru (4) z naszego algorytmu. Instrukcja znajdująca się w tej samej linii za warunkiem w zwięzły sposób zapisuje blok (5). s*=i++ ; ten zapis oznacza, że do zmiennej s zostanie przypisana jej stara wartość pomnożona przez wartość zmiennej i, a następnie wartość zmiennej i zostanie powiększona o 1. Te instrukcje będą wykonywane tak długo dopóki jest spełniony warunek w instrukcji while, czyli dopóki i jest mniejsze lub równe n Gdy stale zwiększane i stanie się większe od n przechodzimy do instrukcji za pętlą while, rozpoczynających się w linii 9, w której następuje wypisanie wyniku (6).

Znacznik </script> z linii 10 kończy działanie programu (blok końca algorytmu (9)).

Następnie w liniach 11 i 12 zamykamy sekcję </body> oraz </html>.