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 NWWrozpoczyna definicję funkcji o nazwieNWW.a As Integer, b As Integeroznacza, że funkcja przyjmuje dwa argumenty (aib), oba będące liczbami całkowitymi.As Integerna końcu mówi, że funkcja zwraca wartość całkowitą (Integer).
2. Deklarowanie i inicjalizacja zmiennych¶
Dim na As IntegeriDim nb As Integerdeklarują dwie zmienne pomocnicze,nainb.na = ainb = binicjalizują te zmienne wartościami argumentówaib. Zmienne te będą modyfikowane w trakcie obliczeń, zachowując oryginalne wartościaib.
3. Pętla obliczeniowa¶
While na <> nbrozpoczyna pętlę, która będzie się wykonywać, dopókinanie będzie równenb. To warunek konieczny do znalezienia NWW.
4. Logika obliczeniowa¶
If na < nb Thensprawdza, czynajest mniejsze niżnb.na = na + azwiększanao wartośća, jeślinajest mniejsze. Cel jest taki, by zwiększyć mniejszą z liczb, zbliżając ją do wartości większej.nb = nb + bzwiększanbo wartośćb, jeślinajest większe lub równenb. Podobnie, cel jest taki, by zwiększyć mniejszą liczbę.
5. Koniec pętli¶
Wendkończy pętlęWhile. Pętla będzie kontynuowana, dopókinanie będzie równenb.
6. Zwracanie wyniku¶
NWW = naprzypisuje wynik obliczeń (który teraz jest równy w obu zmiennych,nainb) do samej funkcjiNWW, co oznacza, że funkcja zwróci tę wartość jako swój wynik.
7. Koniec funkcji¶
End Functionoznacza koniec definicji funkcji.