Arexx RP6 V2 Build your own robot kit RP6 V2 User Manual

Product codes
RP6 V2
Page of 141
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 kopieren müsste 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 -