Materiał edukacyjny · Informatyka Rekurencja, referencje i tablice — 11 zadań w emulowanej Pracowni C++

Zestaw zadań z arkuszy powtórkowych — do rozwiązania w Pracowni C++. Każde zadanie otwiera się w emulatorze z gotowym szkieletem programu: dopisujesz funkcję, uruchamiasz i od razu widzisz, czy przechodzi wszystkie testy.

Co ćwiczysz w tym module
  • Rekurencja — mnożenie dwóch liczb bez mnożenia, tylko dodawaniem i dzieleniem przez 2.
  • Liczenie operacji — ile dokładnie dodawań wykonuje ten algorytm.
  • Składanie wywołań — wyrażenie policzone wyłącznie gotowymi funkcjami, bez własnych działań.
  • Parametry przez referencję — co naprawdę zmienia funkcja, a co zostaje w kopii.
  • Tablice jako parametr — dlaczego zmiana w funkcji jest widoczna u wołającego.

Zadania z arkuszy — rekurencja, referencje i tablice

Parametr przez wartość i przez referencję

To najważniejsza rzecz w całym module, więc przypomnienie w jednym miejscu:

ZapisCo dostaje funkcjaCo widzi wołający
void f(int x)kopię wartościnic — zmiany zostają w funkcji
void f(int &x)oryginał zmiennejzmianę — funkcja pracuje na tej samej komórce
void f(int t[])wskaźnik na pierwszy elementzmianę zawartości tablicy
Pułapka przy śledzeniu kodu

W funkcji z kilkoma parametrami patrz na każdy osobno: int &x zmienia oryginał, int y nie. Kolejność instrukcji też ma znaczenie — jeśli druga linia używa x, to już po zmianie z pierwszej linii.

Rekurencja bez mnożenia

Algorytm z arkusza liczy iloczyn x * y korzystając tylko z dodawania i dzielenia całkowitego przez 2: dla y = 1 wynikiem jest x, w przeciwnym razie liczymy z = iloczyn(x, y / 2), a potem wynik to z + z (gdy y parzyste) albo x + z + z (gdy nieparzyste).

Zadania przepisane z arkuszy

Wszystkie zadania z czterech arkuszy — polecenie z arkusza jest w komentarzu na górze programu, a kod przepisany z wzoru. Zadania oznaczone plakietką przepisane z arkusza pochodzą wprost z plików PDF.

Mnożenie (Mnozenie.pdf)

Na poprawę — zadanie 1 (na_poprawe_zad_1.pdf)

Na poprawę — zadanie 2 (na_poprawe_zad_2.pdf)

Tablice jako parametry funkcji (tablice_jako_parametr_rozwiazane.pdf)

Zadania dodatkowe — uzupełnij luki

Ten sam materiał, ale podany inaczej: szkielet programu jest gotowy, a Ty wpisujesz brakujący kod w miejsce /* tu wpisz */. Te zadania nie pochodzą z arkuszy — to dodatek do ćwiczenia.

W Pracowni każde zadanie ma testy — po napisaniu kodu naciśnij ✓ Sprawdź i zobacz, które kryteria są już zielone.