/ / Algorithm: Najlepszy sposób na rozwiązanie tego scenariusza algorytmu - algorytm, język-agnostyk

Algorytm: Najlepszy sposób na rozwiązanie tego scenariusza algorytmu - algorytm, język-agnostyk

Mam problem i chciałem stworzyć algorytm, aby go rozwiązać. Ale zastanawiam się, czy moje obliczenia są prawidłowe, czy powinienem je poprawić. To jest problem algo:

Utwórz algorytm, który będzie obliczany dla oceny ucznia. Ocena jest równa jednej trzeciej egzaminu pomaturalnego i dwóch trzecich egzaminu głównego. Wydrukuj ocenę ucznia.

Algorytm, który utworzyłem:

  1. Czytaj oceny.
  2. Oblicz średnią i średnią ocenę, używając następującej formuły:
    grade = 1/3 * minor exam + 2/3 * major exam.
  3. wydrukuj ocenę

Nie wiem, czy moja formuła jest poprawna.

Odpowiedzi:

1 dla odpowiedzi № 1

Nie wiem, czy moja formuła jest poprawna.

Matematyczne - to jest rzeczywiście formuła opisywanego problemu. Należy jednak pamiętać, że w wielu językach 1/3 * minor exam + 2/3 * midterm exam będą przetwarzane jako operacje arytmetyczne w liczbach całkowitych, a to prowadzi do błędnej odpowiedzi (zawsze 0).

Powodem jest przy obliczaniu wartość arytmetyczna całkowita a/b, zwrócona odpowiedź brzmi floor(a/b) (gdzie floor(.) jest najbliższą nie większą liczbą całkowitą).

Aby się upewnić, że tak się nie stanie - koniecznieKonwertuj swoją liczbę na zmiennoprzecinkowe i używaj arytmetyki zmiennoprzecinkowej - podczas gdy mają również problemy z niedokładnością, rzadko jest to problem, gdy mamy do czynienia z tak małą formułą i stosunkowo niskimi liczbami (w wartości bezwzględnej).