User manual

RP6 ROBOT SYSTEM - 4. Programmierung des RP6
4.4.8. Funktionen
Ein sehr wichtiges Sprachelement sind Funktionen. Wir haben ja weiter oben auch
schon mehrere solcher Funktionen gesehen und verwendet. Beispielsweise die Funk-
tionen „writeString“ und „writeInteger“ und natürlich die Main Funktion.
Funktionen sind immer nützlich, wenn bestimmte Programmsequenzen in mehreren
Teilen des Programms unverändert verwendet werden können gute Beispiele sind
z.B. die ganzen Textausgabe Funktionen die wir oben schon oft verwendet haben. Es
wäre natürlich sehr umständlich wenn man diese identischen Programmteile immer an
diejenigen Stellen kopierensste wo man sie braucht und man würde unnötigerwei-
se Speicherplatz verschwenden. Nebenbei kann man mit Funktionen Änderungen an
zentraler Stelle durchführen und muss das nicht an mehreren Stellen tun. Auch kann
ein Programm deutlich übersichtlicher werden, wenn man es in mehrere Funktionen
aufteilt.
Deshalb kann man in C Programmsequenzen zu Funktionen zusammenfassen. Diese
haben immer folgenden Aufbau:
<Rückgabetyp> <Funktionsname> (<Parameter 1>, <Parameter 2>, ... <Parameter n>)
{
<Programmsequenz>
}
Damit man sich das besser vorstellen kann, direkt mal ein kleines Beispiel mit zwei
einfachen Funktionen und der schon bekannten Main Funktion:
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
void someLittleFunction(void)
{
writeString("[Funktion 1]\n");
}
void someOtherFunction(void)
{
writeString("[Funktion 2 – mal was anderes]\n");
}
int main(void)
{
initRobotBase(); // Beim RP6 das hier immer als erstes aufrufen!
// Ein paar Funktionsaufrufe:
someLittleFunction();
someOtherFunction();
someLittleFunction();
someOtherFunction();
someOtherFunction();
return 0;
}
Die Ausgabe des Programms wäre folgende:
[Funktion 1]
[Funktion 2 – mal was anderes]
[Funktion 1]
[Funktion 2 – mal was anderes]
[Funktion 2 – mal was anderes]
- 74 -