Przejdź do treści głównej
INF.03Pytanie #659 z 1558algorytmy-i-podstawy-programowania

Programista napisał w języku C++ pętlę, która miała obliczyć wynik działania 5! (5! = 1 * 2 * 3 * 4 * 5). Popełnił jednak błąd logiczny polegający na tym, że

Opcje odpowiedzi:
A
zmienna a powinna być inicjowana wartością 0 zamiast 1.
B
parametr i pętli powinien być inicjowany wartością 0 zamiast 1.
C
parametr i pętli powinien być dekrementowany zamiast inkrementowany.
D
w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5.
Prawidłowa
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: D (w drugim parametrze pętli powinno być porównanie i < 6 zamiast i < 5.)

Przy warunku i < 5 pętla wykonuje mnożenie tylko dla wartości i = 1, 2, 3, 4 (obliczając 4! = 24). Aby uwzględnić mnożenie przez 5 i obliczyć 5! = 120, warunek pętli musi mieć postać i <= 5 lub i < 6.

Dlaczego pozostałe opcje są nieprawidłowe?

  • A: Inicjalizacja a = 0 spowodowałaby wyzerowanie całego iloczynu (0 \times x = 0).
  • B: Start od i = 0 również dałby wynik 0 w mnożeniu.
  • C: Dekrementacja spowodowałaby pętlę nieskończoną lub brak wejścia w pętlę.

Chcesz poćwiczyć całą kwalifikację INF.03?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF03
Reklama

Podobne pytania z działu „Algorytmy i podstawy programowania”

Ten sam obszar materiału z kwalifikacji INF.03. W całej bazie znajdziesz 78 pytań z tego działu.