|
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.
W trzeciej linii deklarujemy funkcję o nazwie silnia, przyjmującą jeden parametr typu całkowitego (n) i zwracającą w wyniku liczbę całkowitą. Pomiędzy słowami kluczowymi begin z linii 4 i end z linii 9 zawarte jest ciało funkcji - zestaw instrukcji wykonywany przez program po wywołaniu tej funkcji.
W linii 5 sprawdzamy czy n jest większe od 1 - blok (3) algorytmu. Jeżeli tak to w linii 6 określamy wynik funkcji jako n pomnożone przez wartość funkcji silnia (tej samej funkcji silnia, którą aktualnie definiujemy) dla n pomniejszonego o 1 (4). W tym miejscu funkcja silnia wywołuje samą siebie. Taką funkcję nazywamy funkcją rekurencyjną. Jeśli n nie jest większe od 1 to w linii 8 ustalamy wynik funkcji równy 1 (warunek zakończenia rekurencji) - blok (5).
Przed rozpoczęciem części operacyjnej programu w linii 11 deklarujemy dwie zmienne typu integer (zmienne n oraz wynik). 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. Deklaracja zmiennych rozpoczyna się słowem kluczowym var.
12 linia zawierająca słowo kluczowe begin odpowiada blokowi startowemu (1) naszego algorytmu.
Linie 13 i 14 realizują operację wejścia/wyjścia (2), w której pobierane są dane wejściowe - liczba n, której silnię chcemy obliczyć.
W linii 15 zmiennej wynik przypisujemy wynik działania funkcji silnia wywołanej z argumentem n.
W linii 16 wypisujemy otrzymany wynik (blok wejścia-wyjścia (6)).
Instrukcja readln w linii 17 nie ma żadnego związku z wykonaniem 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 (7)).