...
- paluuarvon tyypistä (pakollinen!)
- funktion nimestä (pakollinen!)
- parametreista (ei pakollisia, riippuu käyttötarkoituksesta)
Code Block |
---|
funktion_paluuarvon_tyyppi funktion_nimi( paramp1_1_tyyppi parametri_1, param_2_tyyppi parametri_2param1, /* loput parametrit, jos on */... */ pn_tyyppi paramn) { // Funktion koodi tänne } |
...
Esimerkissä on toteutettu funktio AjaEteenpain()
.
...
Esimerkin mukainen funktio ajaisi moottoreita B ja C 50% teholla eteenpäin, jonka jälkeen pysäyttäisi moottorit.
...
Funktioille voidaan myös välittää tietoa kutsun yhteydessä. Tämä tapahtuu funktion parametrien välityksellä. Jos funktiolle on määritelty parametreja, ne on pakko antaa funktiota kutsuttaessa.
Esimerkki 2
Code Block |
---|
// Funktiolle annetaan tieto kuinkan kauan sen tulee ajaa eteenpäin aika-parametrin avulla
void AjaEteenpain(int aika)
{
motor[motorB] = 50; // Asetetaan moottori B 50% eteenpäin
motor[motorC] = 50; // Asetetaan moottori C 50% eteenpäin
wait1Msec(aika); // Ajetaan eteenpäin aika-parametrin osoittama aika
motor[motorB] = 0; // Pysäytetään moottori B
motor[motorC] = 0; // Pysäytetään moottori C
}
task main()
{
AjaEteenpain(500); // Ajetaan eteenpäin ½ sekuntia.
}
|
Edellä oleva funktio ottaa parametrikseen yhden kokonaisluvun, ajan.
Anchor | ||||
---|---|---|---|---|
|
Esimerkki 3
...
Edellä oleva funktio ottaa parametreikseen kaksi kokonaislukua, ajan ja moottoreiden nopeuden.
...
Anchor | ||||
---|---|---|---|---|
|
Esimerkki 4
Code Block |
---|
int SensorinArvo()
{
int arvo = SensorValue[S1];
return arvo;
}
task main()
{
int sensoriLukema; // Esitellään muuttuja, nyt paikallisena. Muutuja näkyy vain tässä funktiossa!
sensoriLukema = SensorinArvo() // Funktion palauttama arvo kopioidaan muuttujaan sensoriLukema
}
|
Esimerkissä funktio SensorinArvo()
palauttaa sensorin S1
lukeman.
Anchor | ||||
---|---|---|---|---|
|
Esimerkki 5
...
Esimerkissä funktio SensorinArvo(int
...
portti)
...
palauttaa parametrin portti määrittelemän sensorin lukeman.
Esimerkki 6 monta kutsua pääohjelmasta
Esimerkissä funktio SensorinArvo(int portti)
palauttaa parametrin portti määrittelemän sensorin lukeman.
...