MODUŁ 03
Deklaracja, definicja i współpraca funkcji
Deklaracja mówi kompilatorowi, jak funkcję wywołać. Definicja zawiera jej implementację. Typy i kolejność parametrów muszą pasować; nazwy parametrów w deklaracji i definicji mogą być różne.
W skrócie
Deklaracja mówi kompilatorowi, jak funkcję wywołać. Definicja zawiera jej implementację. Typy i kolejność parametrów muszą pasować; nazwy parametrów w deklaracji i definicji mogą być różne.
Funkcje mogą wywoływać inne funkcje. Warto wydzielić pomocniczy fragment, gdy ma on czytelny kontrakt i można go niezależnie przetestować. W zwykłych ćwiczeniach uczeń implementuje tylko funkcje wskazane w poleceniu; wymóg umieszczenia deklaracji przed main() oznaczamy jako zadanie pełnoprogramowe.
Przykład
long long nwd(long long a, long long b); // deklaracja
long long nwd(long long a, long long b) { // definicja
while (b != 0) {
long long r = a % b;
a = b;
b = r;
}
return a;
}
Ćwiczenia
- 1Suma cyfr z funkcją pomocnicząostatniaCyfra ma zwracać ostatnią cyfrę n.Otwórz w Pracowni →
- 2Poprawne wymiary i pole prostokątaWymiary są poprawne, gdy oba są dodatnie.Otwórz w Pracowni →
- 3Deklaracja przed main, definicja za mainNapisz pełny program, w którym deklaracja oblicz znajduje się przed main(), definicja poniżej main(), a main…Otwórz w Pracowni →
Sprawdzian I — moduły 1–3 (9 nowych zadań)
- 1Suma z zakresuZwróć sumę wszystkich liczb całkowitych od a do b włącznie.Otwórz w Pracowni →
- 2Liczba elementów z zadanym warunkiemZwróć liczbę elementów ściśle większych niż prog.Otwórz w Pracowni →
- 3Najbliższa wielokrotnośćDla n >= 0 i k > 0 zwróć największą wielokrotność k, która nie przekracza n.Otwórz w Pracowni →
- 4Dwie cyfry kontrolneZwróć sumę dwóch ostatnich cyfr dziesiętnych liczby.Otwórz w Pracowni →
- 5Wartość bezwzględna różnicyZwróć wartość bezwzględną różnicy a - b.Otwórz w Pracowni →
- 6Klasyfikacja trójkątaDodatnie długości tworzą trójkąt, jeśli suma każdych dwóch boków jest większa od trzeciego.Otwórz w Pracowni →
- 7Dni na tygodnie i dniDla dni >= 0 zwróć parę {liczbaPelnychTygodni, pozostaleDni}.Otwórz w Pracowni →
- 8Pierwszy indeks minimumW niepustym wektorze zwróć indeks pierwszego wystąpienia najmniejszego elementu.Otwórz w Pracowni →
- 9Czy argumenty są w porządkuZwróć true, jeśli a <= b <= c; w przeciwnym razie false.Otwórz w Pracowni →