Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

  1. paluuarvon tyypistä (pakollinen!)
  2. funktion nimestä (pakollinen!)
  3. parametreista (ei pakollisia, riippuu käyttötarkoituksesta)
Code Block
funktion_paluuarvon_tyyppi funktion_nimi(
	paramp1_1_tyyppi parametri_1param1,
	param_2_tyyppi parametri_2,
	/* loput parametrit, jos on... */
	pn_tyyppi paramn)
{
    // Funktion koodi tänne
}

...

Esimerkissä on toteutettu funktio AjaEteenpain().

...

Image Added

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.
}

Image Added

Edellä oleva funktio ottaa parametrikseen yhden kokonaisluvun, ajan.

Anchor
esim3
esim3

Esimerkki 3

...

Image Added

Edellä oleva funktio ottaa parametreikseen kaksi kokonaislukua, ajan ja moottoreiden nopeuden.

...

Anchor
esim4
esim4

Esimerkki 4

...

Image Added

Esimerkissä funktio SensorinArvo()

...

palauttaa sensorin S1 lukeman.

Anchor
esim5
esim5

Esimerkki 5 Image Added

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.

Paikalliset muuttujat

Funktioilla voi olla omia paikallisia (local) muuttujia.

...