Rozwiązanie 5¶
Treść zadania¶
Napisz funkcję NWW
zgodną z poniższą specyfikacją.
Specyfikacja¶
Dane¶
- \(a\) - liczba naturalna
- \(b\) - liczba naturalna
Wynik¶
- Najmniejsza wspólna wielokrotność liczb \(a\) i \(b\).
Rozwiązanie¶
Function NWW(a As Integer, b As Integer) As Integer
Dim na As Integer
Dim nb As Integer
na = a
nb = b
While na <> nb
If na < nb Then
na = na + a
Else
nb = nb + b
End If
Wend
NWW = na
End Function
Opis rozwiązania¶
1. Definicja funkcji¶
Function NWW
rozpoczyna definicję funkcji o nazwieNWW
.a As Integer, b As Integer
oznacza, że funkcja przyjmuje dwa argumenty (a
ib
), oba będące liczbami całkowitymi.As Integer
na końcu mówi, że funkcja zwraca wartość całkowitą (Integer
).
2. Deklarowanie i inicjalizacja zmiennych¶
Dim na As Integer
iDim nb As Integer
deklarują dwie zmienne pomocnicze,na
inb
.na = a
inb = b
inicjalizują te zmienne wartościami argumentówa
ib
. Zmienne te będą modyfikowane w trakcie obliczeń, zachowując oryginalne wartościa
ib
.
3. Pętla obliczeniowa¶
While na <> nb
rozpoczyna pętlę, która będzie się wykonywać, dopókina
nie będzie równenb
. To warunek konieczny do znalezienia NWW.
4. Logika obliczeniowa¶
If na < nb Then
sprawdza, czyna
jest mniejsze niżnb
.na = na + a
zwiększana
o wartośća
, jeślina
jest mniejsze. Cel jest taki, by zwiększyć mniejszą z liczb, zbliżając ją do wartości większej.nb = nb + b
zwiększanb
o wartośćb
, jeślina
jest większe lub równenb
. Podobnie, cel jest taki, by zwiększyć mniejszą liczbę.
5. Koniec pętli¶
Wend
kończy pętlęWhile
. Pętla będzie kontynuowana, dopókina
nie będzie równenb
.
6. Zwracanie wyniku¶
NWW = na
przypisuje wynik obliczeń (który teraz jest równy w obu zmiennych,na
inb
) do samej funkcjiNWW
, co oznacza, że funkcja zwróci tę wartość jako swój wynik.
7. Koniec funkcji¶
End Function
oznacza koniec definicji funkcji.