Zaprogramuj go
Iteracja
Napiszemy program, który zwróci element ciągu Fibonacciego o indeksie n. Zastosujemy iterację. Zaczniemy ponownie od utworzenia funkcji.
Wybieramy typ long, ponieważ wartości kolejnych wyrazów ciągu Fibonacciego rosną wykładniczo.
Parametr n funkcji będzie indeksem elementu ciągu, który ma być obliczony.
Zapisujemy warunki, po których spełnieniu zostanie zatrzymane działanie funkcji i zwróci ona wartość. Wiemy, że pierwszy wyraz ciągu Fibonacciego – zatem wyraz o indeksie 0 – ma wartość 0. Natomiast drugi wyraz – czyli wyraz o indeksie 1 – wynosi 1. Zapiszemy odpowiednie instrukcje warunkowe.
Musimy brać również pod uwagę przypadek, gdy wartość parametru n jest większa niż 1. W takiej sytuacji każdy kolejny element jest sumą dwóch poprzednich. Dla dalszego działania funkcji potrzebujemy zmiennych pomocniczych. Inicjalizujemy trzy zmienne pomocnicze: a, b (oznaczające wartości dwóch początkowych wyrazów ciągu) oraz i (indeks kolejnego elementu ciągu Fibonacciego). Przypisujemy im odpowiednio wartości 0, 1 i 2.
Zapisujemy pętlę while, która będzie wykonywać się tak długo, dopóki wartość zmiennej i jest mniejsza od wartości zmiennej n lub jej równa.
W każdym obiegu pętli while najpierw obliczamy i-ty wyraz ciągu, czyli sumę dwóch poprzednich wyrazów ciągu. Wynik przypisujemy do zmiennej suma. Następnie zmiennej a przypisujemy wartość zmiennej b, a zmiennej b wartość zmiennej suma. Na końcu zwiększamy wartość zmiennej i o 1.
Po zakończeniu pętli wartość zmiennej b jest zwracana jako wynik działania funkcji.
Oto cały kod programu:
Słownik
element składni w określonym języku programowania, który w wyniku wywołania podprogramu zostaje utożsamiony (skojarzony) z określonym parametrem podprogramu
funkcja, która nie zwraca żadnej wartości
element języka programowania sterujący działaniem programu; pozwala wykonać różne instrukcje w zależności od tego, czy zdefiniowane przez programistę wyrażenie logiczne jest prawdziwe czy nieprawdziwe
pętla, która nigdy nie spełnia warunku zakończenia; pętla działająca w nieskończoność
element składni w określonym języku programowania; umożliwia komunikację pomiędzy podprogramem (funkcją) wywołanym a programem wywołującym; parametry określa się w nagłówku podprogramu (przy jego definicji)
sytuacja, w której funkcja wywołuje samą siebie, aż do napotkania przypadku podstawowego