Astăzi vom învăța ce sunt funcțiile, cum să scriem funcții și la ce ne folosec acestea. Vom folosi noile cunoștințe pentru a crea programe interesante în Khan (animații, joculețe etc.).
Intraţi pe următorul link şi completaţi formularul acesta
O funcție este o parte separată de cod căreia îi atribuim un nume. Astfel, putem folosi acea parte de cod de mai multe ori fără să o rescriem.
Pe parcursul lecțiilor trecute am folosit funcții care exista deja in Khan (text, fill, rect etc.). Acum le vom explica mai în detaliu, și vom crea funcțiile noastre.
Pentru a desena un dreptunghi avem 2 variante:
line(20, 20 , 120, 20); line(20, 20 , 20, 180); line(20, 180 , 120, 180); line(120, 180 , 120, 20);
Pentru a desena o imagine cu 4 dreptunghiuri ar trebui să folosim 16 linii. Mult mai simplu este să folosim funcția rect de patru ori.
Pentru a testa cele afirmate mai sus, copiați codul din imagine într-un nou program în Khan Academy.
Toate funcțiile se scriu într-un anumit fel pentru a putea fi recunoscute de calculator. Când scriem o funcție se numește că definim o funcție. În Khan funcțiile se definesc astfel:
var primaFunctie = function() { fill(255, 0, 0); text("hello world", 100, 100); };
Mai jos este definită o funcție care desenează un fulg de nea.
Pentru a folosi o funcție aceasta trebuie apelată (chemată). O funcție poate fi apelată numai după ce a fost declarată. Din această cauză vom declara toate funcțiile la începutul programului.
Apelarea unei funcții se face folosind numele funcției urmat de paranteze și punct și virgula: numeFunctie();.
Mergeți la exemplul Fulgi de nea de mai sus și sub funcția desenFulg scrieți mai multe apeluri la această funcție.
Parametrii unei funcții reprezintă valori care sunt transmise funcției din afara acesteia. Funcția își va modifica rezultatul în funcție de parametri transmiși.
var numeFunctie = function(parametru1, parametru2) { // corp functie };
x
și y
ca parametri ai funcției.Funcțiile nu se folosesc numai pentru desen. Câteodată dorim ca o funcție să calculeze un rezultat sau să modifice un text. În aceste cazuri o să dorim ca funcția să ne întoarcă un rezultat acolo unde am apelat-o.
Să presupunem că avem mai multe propoziții și dorim să aflăm numărul de vocale din fiecare. Pentru a nu scrie cod care face același lucru de mai multe ori vom folosi o funcție care primește ca parametru o propoziție, apoi calculează și întoarce numărul de vocale din aceasta.
Modificați codul astfel încât funcția să returneze numărul de consoane din propoziție.
Figuri geometrice custom
* Scrieți o funcție cerc care desenează un cerc în funcție de poziție, rază și culoare. Testați funcția.
* Folosind funcțiile de mai sus creați un desen pe ce temă vreți voi (Exemple: lumea roboților, micul dejun, în parc …). Puteți folosi și funcțiile din Khan, dar folosiți cel puțin două dintre funcțiile scrise de voi.
Zmeie
* Va trebui să scrieți o funcție care să deseneze zmeie ca în desenul de mai jos.
Construiți o funcție care desenează o bucată dintr-un gard.
Noaptea: