destacada_NO-return

Zer da funtzio bat?

Funtzio bat programa zati bat da, behin baino gehiagotan erabiltzeko diseinatua izan dena. Normalean funtzio batek zeregin bat baino gehiago burutzen ditu, amaieran balio bat buelta dezakeelarik (Itzuleradun funtzioa) edo ez (Itzulerarik gabeko funtzioa).

Gure lehen funtzioa. Doinu bat berrerabiltzen.

Imajina dezagun programaren une desberdinetan doinu txiki bat behin baino gehiagotan jo nahi dugula eta LED bat piztu sakagailua saktzerakoan. Normalean doinuaren bloke guztiak errepikatuko genituzke erabili nahiko genukeen aldi bakoitzero. Azkenean programa luze, ulergaitza eta aldatzeko zaila izango genuke. Zergatik ez bloke berdinak behin eta berriro berrerabili? Sor dezagun doinua edukiko duen funtzioa, geroago erabili beharko dugun aldi guztietan erabili ahal izateko. Horretarako burrunbagailua, sakagailua eta LED bat erabiliko ditugu.


esquema_conexion

Funtzioa sortzen

Funtzio bat erabili ahal izateko, lehenik Aldagai orokorrak, funtzioak eta klaseak izeneko eremuan sortu behar da. Horretarako Funtzioak menuan dagoen Funtzioa erazagutu blokea erabili.

.

declarar_funcion

Funtzioari deitzen

Behin funtzioa sortu ondoren, programaren barruan deitzea beharrezkoa izango da. Nahiz eta barruan blokeak izan, funtzioak ez dira exekutatzen ez badira aurretik deituak izaten. Funtzio bati deitzeko Exekutatu funtzioa erabili.

2_sin_funcion

ejecutar_funcion

Ezkerrean funtziorik gabeko programa duzu eta eskuinean funtzioekin. Garbi ikusten den bezala, programa askoz ere laburragoa da funtzioekin, sortzea askoz ere azkarragoa eta errazagoa delarik. Gainera, edozein arrazoirengatik doinua aldatu behar baduzu, funtzioan bakarrik aldatu beharko duzu eta ez programaren zati guztietan.

Funtzioak pertsonalizatzen. Argumentuak

Imajina dezagun orain programan doinu hori erabili nahi dugula baina leku bakoitzean iraupen desberdinarekin. Notak funtzioan beti berdinak dira, nola egingo genuke orduan? Argumentuak funtzio baten barruan bakarrik existitzen diren aldagaiak dira eta beraien balioak deitzen ditugunean definitzen dira. Funtzioa erazagutu… argumentu hauekin:… bloke aurreratua aukeratzen badugu denbora izeneko aldagai bat sortu ahal izango dugu, nota bakoitzaren iraupena zehaztuko duena.

funcion_parametros

Behin funtzioa bere argumentuekin sortu ondoren deitu besterik ez dugu egin behar. Horretarako Funtzioa erazagutu… argumentu hauekin:… blokea erabiliko dugu.

ejecutar_funcion_parametros

Sakagailua sakatzen badugu, nota bakoitzaren iraupena 2000 ms-koa duen doinua exekutatuko da. Bestela, nota bakoitzaren iraupena 500 ms-koa izango da. Honela programa zati hori nahi dugunean berrerabiliko dugu egoera bakoitzari egokituta.

Bada oraindik gehiago

    Ondoren praktikatzen jarraitzeko ideia batzuk proposatzen dizkizugu:

  • Doinu bat sortu konpas bakoitzarentzat funtzio bat sortuz.
  • Aldatu aurreko programa eta noten arteko itxarote denbora kontrolatzeko argumentu bat gehitu iezaiozu. Aurreratuak izeneko multzoaren barruan dagoen koma blokea erabili beharko duzu.
  • Sor ezazu funtzio bat, LED bat dir-dir egiten ipini nahi duzun aldi kopurua eta bere iraupena parametro bezala zehazteko aukera emango dizuna. for kontrol begizta erabili beharko duzu.

Programatzeko orduan, bloke kopuru handia edukitzea baino garrantzitsuagoa da ondo programatzea. Funtzioei esker zure programaren zati asko modu adimentsu batean erabili ahalko dituzu. Erroreak, denbora eta esfortzua aurreztuko dituzu. Funtzioen eskutik egin dezakezun guztia ezagutu nahi duzu? Hurrengo sarreran ikusiko dugu!