Grundlagen der Programmierung
Eine Funktion ist ein benannter Codeblock, der eine bestimmte Aufgabe erfullt.
Diese Funktionen wurden von anderen Programmierern geschrieben.
Jetzt lernen wir, eigene Funktionen zu schreiben!
Einmal schreiben, mehrmals verwenden - kein Copy-Paste!
Komplexe Programme in kleinere, verstandliche Teile aufteilen
Code wird ubersichtlicher und leichter zu verstehen
Fehler finden und beheben wird einfacher
| Bestandteil | Beschreibung | Beispiel |
|---|---|---|
| Ruckgabetyp | Welchen Datentyp gibt die Funktion zuruck? | int, double, void |
| Funktionsname | Wie heißt die Funktion? | berechneFlaeche |
| Parameter | Welche Eingaben benotigt die Funktion? | int breite, int hoehe |
| Funktionskorper | Was macht die Funktion? | Alle Anweisungen zwischen { } |
void = Funktion gibt nichts zuruck
Keine Parameter = Funktion benotigt keine Eingaben
Eine Funktion kann beliebig oft aufgerufen werden!
1. Programm startet in main()
2. Bei sagHallo() springt das Programm zur Funktion
3. Funktion wird ausgefuhrt
4. Programm kehrt zuruck zu main()
5. Nachste Zeile nach dem Aufruf wird ausgefuhrt
Parameter ermoglichen es, Daten an eine Funktion zu ubergeben!
Parameter werden durch Komma getrennt!
Ruckgabewert: Eine Funktion kann ein Ergebnis zuruckgeben!
| Ruckgabetyp | Bedeutung | Beispiel |
|---|---|---|
void |
Kein Ruckgabewert | void zeigeText() {...} |
int |
Gibt eine Ganzzahl zuruck | int berechneAlter() {...} |
double |
Gibt eine Kommazahl zuruck | double berechneFlaeche() {...} |
char |
Gibt ein Zeichen zuruck | char gibBuchstabe() {...} |
Wichtig: Der Ruckgabetyp muss zum return-Wert passen!
Die Funktion quadrat(5) gibt 25 zuruck!
Den Ruckgabewert muss man nicht immer in einer Variablen speichern!
Funktion gibt nur aus, gibt aber nichts zuruck
Funktion gibt Wert zuruck, kann weiterverwendet werden
Schreiben Sie eine Funktion rechteckFlaeche, die:
breite und hoehe (beide int)int zuruckgibt
Eine Funktion kann mehrere return-Anweisungen haben!
Bei der ersten return-Anweisung wird die Funktion beendet.
istGerade(int zahl), die pruft, ob eine Zahl gerade ist (return 1 fur ja, 0 fur nein)minimum(int a, int b), die das Minimum von zwei Zahlen zuruckgibtkreisFlaeche(double radius), die die Flache eines Kreises berechnet (π × r²)
Tipp: π (Pi) konnen Sie als 3.14159 approximieren!
Der Compiler kennt addiere() noch nicht, wenn er main() ubersetzt!
Ein Prototyp sagt dem Compiler: "Diese Funktion existiert, Details kommen spater!"
Ein Prototyp sagt dem Compiler:
Kein Prototyp notig!
Ubersichtlicher bei vielen Funktionen!
Funktionen konnen andere Funktionen aufrufen!
berechneFlaeche(), zeigeText()istGerade(), leseZahl()| Schlecht | Gut | Warum? |
|---|---|---|
f1() |
berechneFlaeche() |
Beschreibend |
zahl() |
leseZahl() |
Verb verwenden |
BerechneDieFlaeche() |
berechneFlaeche() |
Nicht zu lang |
Wenn Sie denselben Code mehrmals schreiben → Funktion!
Wenn Code eine klare, eigenstandige Aufgabe erfullt → Funktion!
Wenn main() zu lang wird (>50 Zeilen) → Funktionen!
Wenn Code schwer zu verstehen ist → In Funktionen aufteilen!
Faustregel: Eine Funktion sollte eine Aufgabe erfullen und diese gut!
void, int, double, ...)
Funktionsprototypen ermoglichen es, Funktionen nach main() zu definieren!
Viel Erfolg beim Programmieren mit Funktionen!