Arexx RP6 V2 Build your own robot kit RP6 V2 Benutzerhandbuch
Produktcode
RP6 V2
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-
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
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
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-
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
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:
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
10
11
12
12
13
14
14
15
16
16
17
18
18
19
20
20
21
22
22
23
24
24
25
26
26
27
28
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();
someOtherFunction();
someLittleFunction();
someOtherFunction();
someOtherFunction();
return
0
;
}
Die Ausgabe des Programms wäre folgende:
[Funktion 1]
[Funktion 2 – mal was anderes]
[Funktion 1]
[Funktion 1]
[Funktion 2 – mal was anderes]
[Funktion 2 – mal was anderes]
[Funktion 2 – mal was anderes]
- 74 -