Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. EE8
  4. Pytanie

Kwalifikacja: EE8 - Kwalifikacja EE8

Zawód: Technik informatyk

Kategorie: Programowanie

Poniższa procedura rekurencyjna druk(n:integer), wywołana z argumentem 5, spowoduje wyświetlenie na ekranie komputera

  procedure druk(n:integer); begin if n=0 then exit; writeln(n); druk(n-1); end;  


Procedura rekurencyjna druk(n:integer) działa na zasadzie rekurencji, co oznacza, że funkcja wywołuje samą siebie z mniejszymi wartościami parametru n, aż osiągnie stan bazowy, w którym n wynosi 0. W momencie, gdy n jest różne od 0, procedura wykonuje dwa kluczowe kroki: najpierw wyświetla wartość n na ekranie, a następnie wywołuje samą siebie z argumentem n-1. Dzięki temu, gdy wywołamy druk(5), na ekranie pojawią się wartości od 5 do 1, w kolejności malejącej, co daje nam ciąg 5, 4, 3, 2, 1. Rekurencja jest powszechnie stosowana w programowaniu, szczególnie w algorytmach, które wymagają podziału problemu na mniejsze podproblemy, co jest zgodne z zasadami dobrych praktyk w inżynierii oprogramowania. Przykładem zastosowania rekurencji może być obliczanie silni liczby, gdzie wartość n! jest definiowana jako n * (n-1)!.
Odpowiedzi, które wskazują na inne wyniki, bazują na błędnych interpretacjach działania procedury rekurencyjnej. Osoby, które wybrały odpowiedzi takie jak ciąg liczb 1, 2, 3, 4, 5 lub liczba 5, mogą nie rozumieć, że rekurencja w tym kontekście działa w odwrotnej kolejności. Procedura druk(n) najpierw wyświetla bieżącą wartość n, a następnie przechodzi do mniejszej wartości n-1, co skutkuje wyświetleniem wartości w porządku malejącym. To kluczowy błąd myślowy, który prowadzi do mylnego wyobrażenia o tym, jak działają funkcje rekurencyjne. Wybór liczby 0 również odnosi się do nieporozumienia, ponieważ procedura kończy działanie tylko wtedy, gdy n stanie się równe 0, co nie oznacza, że ta wartość zostanie wydrukowana. W praktyce, zrozumienie działania rekurencji wymaga znajomości stanu bazowego oraz sposobu, w jaki funkcje wykonują swoje wywołania. Wszelkie błędy w rozumieniu tego procesu mogą prowadzić do niepoprawnych wniosków, co podkreśla znaczenie dokładnej analizy kodu przed wyciągnięciem konkluzji.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wyślemy tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.