Funktionen Flashcards
Aus welchen Teilen besteht eine Funktion?
- Funktionssignatur
2. Funktionsrumpf
Was beinhaltet die Funktionssignatur?
Bezeichner/Namen, Aufrufparameter, Rückgabedatentyp
Was beinhaltet der Funktionsrumpf?
Anweisungen der Funktion;
endet mit return-Anweisung
Was macht Call-by-Value?
Kopiert Werte und übergibt diese Kopien an eine Funktion (nur Wert der Kopie wird geändert)
Was macht Call-by-Reference?
Die Funktion arbeitet mit der originalen Variable bzw. mit der Referenz (Pointer) davon
Vorteile/Nachteile von Call-by-Value?
Vorteile: -übersichtlich
-weniger Fehler
-keine Auswirkungen auf Variablen beim Aufruf
Nachteile: -zusätzlicher Speicher benötigt
Vorteile/Nachteile von Call-by-Reference?
Vorteile: -kein zusätzlicher Speicher benötigt
-effiziente direkte Manipulation von
mehreren Variablen
Nachteile: -unübersichtlich
Wie kann man einen Code übersichtlicher machen und Wiederholungen vermeiden?
- einzelne Dateien zur Gliederung nutzen
- mit Header-Dateien
Was macht eine Header-Datei?
Deklariert Funktionen und stellt diese für den Zugriff und der Nutzung bereit
Was macht Bubblesort?
- sortiert Elemente eines Feldes aufsteigend nach ihrem Wert
- vergleicht zwei benachbarte Elemente eines Feldes und vertauscht diese, falls sie in der falschen Reihenfolge sind
- der Algorithmus läuft einmal von Anfang bis Ende, wiederholt das und endet, falls die Reihenfolge stimmt
Wie werden Zeichenketten (strings) miteinander vergleicht?
- mithilfe des ASCII-Standards
- jeder Buchstabe hat seinen eigenen Wert aufsteigend nach dem Alphabet
- Groß- und Kleinschreibung wird unterschieden
- Buchstabe für Buchstabe wird verglichen
Was ist eine Rekursion?
- Funktion ruft sich immer wieder selbst auf
- es ergibt sich ein lokaler Geltungsbereich für Variablen
- Probleme mit der selben Funktion wiederholt lösen
- Nachteil: neuer Speicher pro neuem Aufruf der Funktion
- Rekursion kann endlos sein
Wofür dienen Funktionen?
- Gliederung des Quellcodes
- verwendbare Funktionalität
Wofür dienen Call-by-Value/-Reference?
zur Parameterübergabe
Wofür dienen Header-Dateien?
zur Separation und Wiederverwendung