top of page

Crearea unei functii care returneaza o valoare

Updated: Jun 30, 2020


De multe ori intr-un program dorim ca o functie sa "raporteze" stadiul in care ruleaza sau o valoare (cum ar fi un parametru sau timpul de executie). Acest lucru se relizeaza cu ajutorul unui tip nou de functie,care la finalul executiei returneaza o variabila care contine o valoare:

tip variabila numefunctie()

{

functii executabile;

valoare stocata in variabila x;

}

return x;

}


Comanda return de la finalul definitiei functiei returneaza catre utilizator o variabila de acelasi tip cum este definita la inceputul functiei.

In acest exemplu functia aprinde LED-ul integrat de pe placa,conectat la pinul 13,de un numar x de ori,ales la intamplare (generat aleatoriu). Functia va returna o variabila (x) care ne spune de cate ori a fost aprins LED-ul (o valoare) afisata pe monitorul serial:


void setup()

{

pinMode(13, OUTPUT); //initializare pin 13 pwntru emisie

Serial.begin(9600); //initializare comunicare seriala la viteza de 9600 baud

Serial.println(AprindeLED()); /*afiseaza pe monitorul serial valoarea returnata de functia AprindeLED */

AprindeLED(); //invocare functie AprindeLED

}

void loop()

{

}


int AprindeLED() //creare functie care returneaza variabila intreaga

{

randomSeed(analogRead(0)); /*"samanta" generatorului de numere aleatorii este egala cu o citire a pinului A0 */

int x = random(10); /*creare variabila intreaga care contine o valoare generata aleatoriu cuprinsa intre 1 si 10 */

for (int i=1; i<= x; i++) //pentru i=1,i mai mic sau egal ca x,i creste

{

digitalWrite(13, HIGH); //trimite semnal HIGH prin pinul 13

delay(500); //asteapta 500 ms

digitalWrite(13, LOW); //trimite semnal LOW prin pinul 13

delay(500); //asteapte 500 ms

}

return x; //returnare variabila x

}


Pentru orice nelamurire,adresati intrebari la sectiunea de comentarii de mai jos!



13 views0 comments

Comments


bottom of page