Wpisany przez Bartosz Bednarczyk,
09 września 2011 13:35
Średnia arytmetyczna jest to iloraz sumy n liczb i n. Możemy ją zapisać za pomocą ułamka:
By obliczyć średnią najpierw tworzymy zmienna wynik i przypisujemy jej wartość 0. Następnie wczytujemy n, czyli ilość liczb w ciągu. Następnie wskakujemy w pętle, sprawdzającą czy zmienna pomocnicza i (ilość obiegów) jest mniejsza od n. Jeżeli warunek został spełniony, to wczytujemy kolejną liczbę i dodajemy ją do wynik. W innym przypadku dzielimy wynik przez n i wypisujemy go. Pseudokod ma zatem następującą postać:
Działanie algorytmu dla n = 3, a1 = 4, a2 = 3, a3 = 2.
Informacja dla zaawansowanych: podczas dodawania liczb zmiennoprzecinkowych mogą pojawiać się błędy zaokrągleń. Błąd jest tym większy im większa jest różnica pomiędzy dodawanymi liczbami. Aby zminimalizować błąd należy najpierw liczby, dla których chcemy obliczyć średnią posortować, a następnie dodawać je począwszy od najmniejszej.
\frac{a_{1}+a_{2}+a_{3}+\ldots+a_{n}}{n}
By obliczyć średnią najpierw tworzymy zmienna wynik i przypisujemy jej wartość 0. Następnie wczytujemy n, czyli ilość liczb w ciągu. Następnie wskakujemy w pętle, sprawdzającą czy zmienna pomocnicza i (ilość obiegów) jest mniejsza od n. Jeżeli warunek został spełniony, to wczytujemy kolejną liczbę i dodajemy ją do wynik. W innym przypadku dzielimy wynik przez n i wypisujemy go. Pseudokod ma zatem następującą postać:
- Wczytaj n.
- Utwórz zmienną Wynik i nadaj jej wartość 0.
- Utwórz zmienna i i nadaj jej wartość 0.
- Dopóki i < n wczytaj a. Do zmiennej Wynik przypisz jej sumę z a. Do i dodaj 1.
- Do zmiennej Wynik przypisz iloraz Wynik i n.
- Wypisz Wynik
Przykład:
Działanie algorytmu dla n = 3, a1 = 4, a2 = 3, a3 = 2.
Wynik | i | an |
0 | 0 | 4 |
4 | 1 | 3 |
7 | 2 | 2 |
9 | 3 | - |
3 | - | - |
Informacja dla zaawansowanych: podczas dodawania liczb zmiennoprzecinkowych mogą pojawiać się błędy zaokrągleń. Błąd jest tym większy im większa jest różnica pomiędzy dodawanymi liczbami. Aby zminimalizować błąd należy najpierw liczby, dla których chcemy obliczyć średnią posortować, a następnie dodawać je począwszy od najmniejszej.
Implementacje
Autor | Język programowania | Komentarz | Otwórz | Pobierz | Ocena |
Bartosz Bednarczyk | C# | .cs | .cs | ***** / 9 | |
Bartosz Bednarczyk | C/C++ | C | .cpp | .cpp | ***** / 12 |
Bartosz Bednarczyk | C/C++ | C++ | .cpp | .cpp | ***** / 11 |
Adam CZ | C/C++ | C++, funkcja obliczająca wynik | .cpp | .cpp | ***** / 12 |
Michał Witaszek | Delphi/Pascal | Delphi | .pas | .pas | ***** / 3 |
Bartosz Bednarczyk | Java | .java | .java | ***** / 6 | |
golabow | Java | .java | .java | ***** / 5 | |
Dominik Goździuk | Perl | .pl | .pl | ***** / 1 | |
Bartosz Bednarczyk | Php | .php | .php | ***** / 5 | |
Bartosz Bednarczyk | Python | .py | .py | ***** / 6 | |
kacper | Python | przykład z użyciem tablicy | .py | .py | ***** / 14 |
Nikodem Solarz | Ruby | metoda obliczająca średnią arytmetyczną z tablicy elementów | .rb | .rb | ***** / 0 |
Poprawiony: 28 października 2012 15:32
Komentarze
-7
#
johny
2013-01-20 16:08
A gdzie jest wprowadzanie liczb? Poza tym schemat jest źle narysowany. Jestem cienki w tych sprawach, ale takiego schematu w życiu bym nie narysował bo by mnie wykładowca chyba z sali wywalił.
Odpowiedz | Odpowiedz z cytatem | Cytować
+4
#
Zdolnycool
2014-05-07 17:52
Czy dobrze rozumiem, że "i" jest tylko po to, żeby się algorytm nie zapętlił?
Odpowiedz | Odpowiedz z cytatem | Cytować
Dodaj komentarz