Funktion
Funktionen sind ein grundlegendes Konzept in den Naturwissenschaften und der Programmierung. Sie ermöglichen es, komplexe Probleme in kleinere, leichter verständliche Teile zu zerlegen und diese separat zu behandeln.
In der Mathematik ist eine Funktion eine Beziehung zwischen einer Eingabe und einer Ausgabe. Sie ordnet jedem Element aus einem Definitionsbereich genau ein Element aus einem Wertebereich zu. Funktionen können auf verschiedene Weisen dargestellt werden, zum Beispiel durch Gleichungen, Graphen oder Tabellen.
In der Programmierung sind Funktionen spezielle Code-Blöcke, die eine bestimmte Aufgabe erfüllen. Sie nehmen Eingabeparameter entgegen, verarbeiten diese und geben eine Ausgabe zurück. Funktionen ermöglichen es, den Code in kleinere, wiederverwendbare Teile zu strukturieren und so die Lesbarkeit und Wartbarkeit des Programms zu verbessern.
Funktionsfabriken sind ein Konzept der funktionalen Programmierung. Damit werden Funktionen bezeichnet, die als Rückgabewert eine Funktion besitzen. Zum Einsatz von Funktionsfabriken sind Kenntnisse über die Umgebung einer Funktion nötig, um von der erzeugten Funktion auf die Variablen zuzugreifen, die innerhalb der Funktionsfabrik berechnet wurden. Es wird diskutiert, wann Funktionsfabriken eingesetzt werden sollen (ihr Einsatz ist niemals zwingend, da man sie immer durch herkömmliche Funktionen ersetzen kann). Beispiele, insbesondere mit Fabriken für quadratische Formen, werden ausführlich vorgestellt.
Mit Hilfe von Zeigern kann man Funktionen realisieren, die Felder als Eingabewert beziehungsweise als Rückgabewert besitzen. Es ist sogar möglich, Zeiger auf Funktionen zu setzen und damit Funktionen als Eingabewerte anderer Funktionen einzusetzen.
Mit Funktionen lassen sich Quelltexte besser strukturieren und wiederkehrende Aufgaben können mit wenig Aufwand ausgeführt werden. Zur Syntax der Definition von Funktionen gehören ihre Deklaration (Funktionskopf), die Implementierung und ihr Aufruf aus anderen Funktionen heraus. Diese Bestandteile und wie man Deklaration und Implementierung im Quelltext anordnet, werden erklärt. Mehrere Aufgaben mit ausführlichen Lösungen dienen der Veranschaulichung.
Inhalt und Lernziele des Kapitels Einführung in die Programmiersprache C und in C-Zeiger.
Programmieraufgaben zur Anwendung von Feldern und Zeigern, die im Sinne der strukturierten Programmierung zu lösen sind. Die Quelltexte sollen in reinem C geschrieben werden, also keine Konzepte verwenden, die nur in C++ verfügbar sind.
Eine Funktion ruft einen Quelltext-Abschnitt auf, der durch Eingabewerte konfiguriert werden kann und der einen Rückgabewert berechnet. Allgemeine Eigenschaften und Besonderheiten über die Eingabewerte und den Rückgabewert einer Funktion werden besprochen. Dies soll auf das nächste Kapitel vorbereiten, in dem gezeigt wird, wie man Funktionen selbst definiert.
Strukturierte Programmierung heißt vor allem, dass man wiederkehrende Quelltexte zu Unterprogrammen (Funktionen) zusammenfasst.
Dieser Abschnitt zeigt, wie Funktionen in C++ realisiert werden (genauer: wie sie definiert und aufgerufen werden).
Die Quelltexte lassen sich besser strukturieren, wenn man die Definition einer Funktion in Deklaration und Implementierung aufteilt.
Weiter wird das Überladen von Funktionen besprochen.
Inhaltsverzeichnis und Lernziele des Kapitels C++: Fortgeschrittene Syntax.