Rozwiązanie 5¶
Treść zadania¶
Napisz funkcję ZliczWyrazy, która dla podanego tekstu zwróci liczbę wyrazów w nim zawartych. Za wyraz uznajemy ciąg znaków nie zawierający spacji, a wyrazy są oddzielone pojedynczą spacją.
Rozwiązanie¶
Function ZliczWyrazy(tekst As String) As Integer
Dim poz, wynik As Integer
poz = 1
wynik = 0
While poz > 0 And poz < Len(tekst)
poz = InStr(poz, tekst, " ")
If poz > 0 Then
poz = poz + 1
End If
wynik = wynik + 1
Wend
ZliczWyrazy = wynik
End Function
Opis rozwiązania¶
1. Definicja funkcji¶
Function ZliczWyrazyrozpoczyna definicję funkcji o nazwieZliczWyrazy.tekst As Stringoznacza, że funkcja przyjmuje jeden argument (wejście) o nazwietekst, który jest typuString(ciąg znaków).As Integerna końcu mówi, że funkcja zwraca wartość całkowitą (Integer).
2. Deklarowanie i inicjalizacja zmiennych¶
Dim poz, wynik As Integerdeklaruje dwie zmiennepoziwynikjako liczby całkowite.poz = 1inicjalizuje zmiennąpozwartością 1, która będzie używana do śledzenia pozycji w tekście.wynik = 0inicjalizuje zmiennąwynikwartością 0, która będzie używana do zliczania wyrazów.
3. Pętla obliczeniowa¶
While poz > 0 And poz < Len(tekst)rozpoczyna pętlę, która będzie się wykonywać, dopókipozjest większe od 0 i mniejsze od długości całego tekstu.
4. Szukanie spacji i zliczanie wyrazów¶
poz = InStr(poz, tekst, " ")szuka pierwszej spacji w tekście zaczynając od pozycjipoz. Jeśli znajdzie,pozzostanie zaktualizowane do pozycji tej spacji.If poz > 0 Then poz = poz + 1przesuwapozo jeden dalej, aby uniknąć ponownego zliczania tej samej spacji.wynik = wynik + 1inkrementuje zmiennąwyniko 1 za każdym razem, gdy znaleziono spację, co oznacza kolejny wyraz.
5. Koniec pętli¶
Wendkończy pętlęWhile.
6. Zwracanie wyniku¶
ZliczWyrazy = wynikprzypisuje ostateczną wartość zmiennejwynikdo samej funkcjiZliczWyrazy, co oznacza, że funkcja zwróci tę wartość jako swój wynik.
7. Koniec funkcji¶
End Functionoznacza koniec definicji funkcji.