Przeczytaj
Algorytmy liczbowe
Na lekcjach matematyki możesz się spotkać z różnymi zadaniami, w których należy kilkakrotnie wykonać określone działania. Rozwiązania takich problemów najlepiej zapisać za pomocą algorytmów iteracyjnych. Dzięki wykorzystaniu instrukcji iteracyjnych otrzymujemy krótki, zrozumiały algorytm, który po implementacji w danym języku programowania może zostać wykonany przez komputer. Rozważmy problem obliczania średniej arytmetycznejśredniej arytmetycznej.
Wyobraź sobie, że chcesz obliczyć średnią arytmetyczną swoich ocen na świadectwie ukończenia szkoły. Aby rozwiązać to zadanie, musisz wykonać następujące działanie:
gdzie jest liczbą twoich ocen, natomiast , , , to wartości ocen. Zatem średnia arytmetyczna jest sumą liczb podzieloną przez ich liczbę.
Naszym celem jest obliczenie średniej arytmetycznej. Zaczniemy od pobrania od użytkownika liczby n
(czyli liczby wszystkich ocen, których średnią będziemy obliczać), a następnie na podstawie tej wiadomości wykonamy n
iteracjiiteracji pętli, w których będziemy kolejno dodawać pobierane liczby do sumy, zgodnie ze wzorem na średnią. Na końcu obliczymy iloraz otrzymanej sumy przez liczbę n
.
Zapiszmy rozwiązanie problemu w postaci schematu blokowego. Zaczniemy od wczytania liczby n
.
Następnie zmiennej suma
nadajemy wartość początkową . Do niej będziemy dodawać kolejne wartości ocen. Utworzymy także zmienną licznik
licznik
, której nadamy wartość . Licznik to bardzo ważna zmienna używana w algorytmach iteracyjnych. Dzięki niej możemy kontrolować zachowanie pętli, zawiera ona bowiem wartość określającą liczbę wykonanych iteracji pętli, czyli wskazuje, ile razy zostały powtórzone określone instrukcje. Z każdą kolejną iteracją wartość zmiennej licznik
jest zwiększana o . W naszym przypadku rozpoczynamy od iteracji pierwszej, a skończymy na iteracji n
-tej.
Kolejnym krokiem jest sprawdzenie, czy nasz licznik jest mniejszy lub równy n
, a więc czy wykonano już n
iteracji pętli (czy zostało pobranych i dodanych już do siebie n
liczb). Jeżeli warunek ten jest spełniony, to znaczy, że pozostała nam do dodania co najmniej jedna liczba. Pobieramy ją zatem od użytkownika, a następnie dodajemy ją do zmiennej suma
i zwiększamy licznik o , aby zapisać, że kolejna iteracja została wykonana. Wtedy ponownie wracamy do sprawdzenia warunku, zgodnie z definicją pętli.
Jeżeli warunek nie jest spełniony (czyli licznik osiągnął wartość większą od n
), to znaczy, że zostało wykonanych już n
iteracji pętli. Możemy wtedy podzielić obliczoną sumę wszystkich liczb przez ich liczbę, zgodnie ze wzorem na średnią arytmetyczną. Po tej operacji wypisujemy średnią i kończymy algorytm.
Schemat blokowy przedstawia kompletny algorytm obliczania średniej arytmetycznej n
liczb podanych przez użytkownika. W przypadku naszego zadania, w którym musimy obliczyć średnią arytmetyczną wszystkich ocen ze świadectwa ukończenia szkoły, opracowany program:
pobierze od użytkownika liczbę wszystkich ocen,
następnie wykona
n
iteracji wczytujących kolejne oceny i dodających je do zmiennejsuma
,podzieli wartość zmiennej
suma
przez liczbę wszystkich ocen i wypisze ją na ekran.
Z kolejnych części e‑materiału dowiesz się, w jaki sposób analogicznie opracować schemat blokowy i pseudokod algorytmu obliczającego średnią geometryczną, a następnie wykonasz samodzielnie kilka zadań związanych z tworzeniem algorytmów liczbowych.
Słownik
algorytm wykorzystujący działania na liczbach
czynność powtarzania tej samej operacji określoną liczbę razy lub do momentu, w którym zadany warunek zostanie spełniony
zmienna określająca aktualną liczbę wykonanych iteracji pętli
suma liczb podzielona przez ich liczbę