Programista napisał funkcję, która miała sortować liczby rosnąco, ale z powodu błędu w algorytmie sortuje je malejąco. Program uruchamia się bez problemów, ale daje zły wynik. Jakiego typu błąd popełnił programista?
Programista napisał funkcję, która miała sortować liczby rosnąco, ale z powodu błędu w algorytmie sortuje je malejąco. Program uruchamia się bez problemów, ale daje zły wynik. Jakiego typu błąd popełnił programista?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: C
Uzasadnienie i szersze wyjaśnienie:
Błąd logiczny to rodzaj błędu, w którym program działa bezawaryjnie (nie przerywa wykonania i nie generuje wyjątków), ale jego zachowanie jest niezgodne z zamierzeniami programisty. W tym przypadku kod jest poprawny pod względem składniowym, ale zaimplementowany algorytm jest wadliwy, co prowadzi do nieprawidłowych wyników. Błędy logiczne są często najtrudniejsze do zdiagnozowania, ponieważ program nie informuje o ich istnieniu – wymagają one starannego testowania i debugowania.
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- A i D: Błąd składniowy (wykrywany przez kompilator lub interpreter przed uruchomieniem) uniemożliwiłby uruchomienie programu.
- B: Błąd wykonania (runtime error) to błąd, który występuje w trakcie działania programu i powoduje jego nagłe zatrzymanie (np. dzielenie przez zero, odwołanie do nieistniejącego obiektu).
Chcesz poćwiczyć całą kwalifikację INF.04?
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.
Pojęcia z tego pytania
- Narzędzia programistyczne: Kompilator, Interpreter, DebugerFundamentalne narzędzia wytwarzania oprogramowania: kompilator przekształca cały kod w plik binarny, interpreter wykonuje kod linia po linii, a debugger pozwala śledzić błędy w czasie działania.
- Pojęcie i Cechy AlgorytmuUporządkowany, skończony i jednoznaczny ciąg instrukcji i kroków postępowania prowadzący do rozwiązania określonego problemu obliczeniowego dla poprawnych danych wejściowych.
- Zmienne i Stałe w programowaniuNazwane obszary pamięci operacyjnej przechowujące dane robocze programu; zmienne pozwalają na modyfikację wartości podczas działania, podczas gdy stałe mają wartość niezmienną.
Podobne pytania z działu „Podstawy skladni i typy danych”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 54 pytań z tego działu.
- #48
Który z poniższych kroków NIE jest częścią cyklu rozkazowego procesora?
- #49
Która z poniższych zależności między pamięcią operacyjną (RAM) a procesorem jest prawdziwa?
- #51
Które z poniższych miejsc są wykorzystywane do przechowywania informacji w systemach informatycznych?
- #67
Która z poniższych sytuacji może być uznana za wypadek przy pracy?
- #74
Który ze środków ochrony zbiorowej najlepiej sprawdzi się w pracy biurowej?