W budowie
Materiał edukacyjny · Informatyka

MODUŁ 07

Funkcje pomocnicze i dzielenie problemu

Funkcja pomocnicza powinna wykonywać jedną dobrze określoną czynność. Dzięki temu łatwiej ją przetestować i wykorzystać w kilku miejscach. Przed napisaniem większego rozwiązania ustal:

W skrócie

Funkcja pomocnicza powinna wykonywać jedną dobrze określoną czynność. Dzięki temu łatwiej ją przetestować i wykorzystać w kilku miejscach. Przed napisaniem większego rozwiązania ustal:

  1. jakie dane ma przetwarzać każda funkcja;
  2. co dokładnie ma zwracać;
  3. które funkcje wywołują inne;
  4. jak przetestować je osobno.

Jeśli zadanie jawnie wymaga użycia funkcji pomocniczej, samo uzyskanie poprawnego wyniku nie wystarcza do zaliczenia kryterium strukturalnego. Platforma powinna wtedy sprawdzać strukturę programu.

Przykład

Predykat parzystości i suma, która go używa.

bool czyParzysta(int x) {
    return x % 2 == 0;
}

long long sumaParzystych(const std::vector<int>& v) {
    long long s = 0;
    for (int x : v) if (czyParzysta(x)) s += x;
    return s;
}
  • Predykat odpowiada na jedno pytanie tak/nie.
  • Suma nie zna się na parzystości — pyta pomocnika.
Struktura to też odpowiedźSprawdzarka patrzy w drzewo programu, nie w tekst — wywołanie w komentarzu nie przejdzie.

Ćwiczenia