M5 | L9 – Functii II

Astăzi vom afla despre:

  • Functii, parametrii functiilor, valoriu returnabile, variabile locale si globale

Aplicațiile pe care le vom folosi sunt:

Khan Academy

PROIECTE:

Calculator

Acvariul

Khan Editor : https://www.khanacademy.org/computer-programming/new/pjs

Link Proiect Acvariu : https://www.khanacademy.org/computer-programming/exemplu-proiect-acvariu/6065983441027072

  1. Valori Returnabile

Ne-am întors cu programul nostrum care folosește o funcție să-l desenze pe Winston de patru ori.

var drawWinston = function(faceX, faceY) {

fill(255, 255, 0);

ellipse(faceX, faceY, 180, 180); // face

fill(46, 46, 41);

ellipse(faceX – 30, faceY – 50, 30, 30); // eyes

ellipse(faceX + 44, faceY – 55, 30, 30);

fill(252, 65, 65);

ellipse(faceX + 19, faceY + 32, 82, 81); // mouth

};

fill(255, 0, 0);

text(„2-year-old Winston:”, 10, 20);

text(„14-year-old Winston:”, 200, 20);

text(„25-year-old Winston:”, 10, 220);

text(„65-year-old Winston:”, 200, 220);

drawWinston(99, 117);

drawWinston(294, 117);

drawWinston(101, 316);

drawWinston(294, 316);

Și l-am schimbat să arate efectiv ce vârstă are în fiecare punct al vieții, și veți vedea de ce în curând. Dar mai întâi trebuie să vă spun ceva despre Winston: Winston are o dependență de gogoși. El mănâncă trei dintre ei pe zi. Probabil de aceea fața lui este atât de mare și galben. Deci, pentru a-l avertiza pe Winston cât de proaste sunt gogoșile pentru el, Vreau să modific acest program să arate câte gogoși a mâncat in total în fiecare moment al vieții sale. De exemplu, când are doi ani,

asta înseamnă că el este mâncat de 3 ori de 365 de ori 2, deci trei pe zi, ori 365 zile, ori 2 ani. Două mii de gogoși, asta este o mulțime de gogoși pentru un copil de doi ani.

Aș putea continua să fac această matematică, dar încep să observ un tipar. Îmi repet calculul aici, și schimb doar un lucru despre asta: numărul de ani. Ori de câte ori văd coduri repetate de genul acesta, Mă gândesc, „Hmm, pot transforma asta într-o funcție? ” Da, cu siguranță, putem.

Deci, să facem asta acum voi defini funcția mea aici și o voi numi calcTotalDonuts

Și va lua un parametru, numărul de ani, pentru că acesta este singurul lucru care se schimbă de fiecare dată când facem acest calcul. Și apoi în interior, vom face calculul, și il vom salva intr-o variabila, deci va fi de 3 ori de 365 de ori numYears.

Bine, deci acum că noi avem acea funcție, Voi înlocui această expresia din interiorul functiei text aici cu calcTotalDonuts. Acum nu văd deloc totalul.

Ei bine, funcția noastră a calculat totalul, aici, dar nu a spus nimănui despre acel total. Dacă vrem funcția să comunice o valoare Atunci ca este apelata, funcția trebuie să returneze în mod explicit valoarea. Deci, pentru ca o funcție să returneze o valoare, trebuie să tastăm return,și apoi orice vrea să se întoarcă. Deci, oricine apeleaza această funcție

va primi raspunsul din return. Și acum valoarea noastră se afișează!

  1. Pas proiect

Vom introduce 3 parametri noi. Vom folosi o functi nou ca sa desenam un peste care se uita in alta directive. Vom anima pestii

Codul: este codul final din proiect

  1. Provocare: Calculator

https://www.khanacademy.org/computing/computer-programming/programming/functions/pc/challenge-calculator