En aquesta pràctica aprendràs a fer i a utilitzar procediments.
Per on comencem? En les pràctiques anteriors, cada volta que havíem de fer un quadrat, ens havíem de recordar de les instruccions i havíem d’escriure-les totes. És un poc molest.

- Obri aquest enllaç i realitza aquesta composició. El costat dels quadrats té 50 unitats
- Centra’t en els quadrats i reflexiona:
- Per al primer i per al segon quadrat has escrit les mateixes instruccions?
- Què hauries de fer si vols canviar la composició perquè el quadrat tinga 75 unitats de costat.
Un procediment és la definició d’una sèrie d’instruccions que permeten fer alguna cosa. Un procediment ens permet reutilitzar codi. Definim el procediment i després, sempre que ho necessitem, podem invocar-lo i, d’aquesta forma, obtindre el resultat d’allò que fa el procediment.

En la imatge es mostra una part de codi amb instruccions que es repeteixen cada cert temps. Per exemple, dibuixar un quadrat.
Si en un moment determinat, volem fer que tots els quadrats siguen més xicotets, hem de buscar les instruccions de quadrat i canviar-les. És molt tediós.

Si aïllem el codi que es repeteix i el fiquem en un procediment, aquest procediment el podem invocar tantes vegades com vulguem. El programa principal és més llegible.
A més, en cas de necessitar fer un canvi, el fem només una vegada en la implementació del procediment i el programa principal no canvia (això no és sempre cert, però ho veurem més endavant.
Per on seguim? Entra en la pàgina de Logo i realitza les següents activitats.
PROCEDIMENTS BÀSICS

Activitat 1: Dibuixar la composició de la imatge.
Per a fer la composició de la imatge, es fan servir els següents comandaments.
bp setcolor 4 repetir 4 [ad 50 de 90] sl de 90 ad 100 iz 90 bl repetir 2[ ad 100 de 90 ad 50 de 90] sl de 90 ad 100 iz 90 bl repetir 4 [ad 50 de 90]
En Logo el procediment es defineix para nomProcediment bloc d’accions fin. Les paraules para i fin són paraules reservades del llenguatde de programació. El nomProcediment és el nom que li donarem al procedument i el bloc d’accions és el conjunt d’instruccions que fa aquest procediment.
Activitat 2: Definir el procediment del quadrat.
para quadrat repetir 4 [ad 50 de 90] fin
Fixa’t que quan defeneixes un quadrat, la tortuga no pinta res. Això és perquè per a que s’executen les instruccions del procediment s’ha d’invocar (s’ha de cridar des del programa principal).

Activitat 3: Invocar el procediment del quadrat.
bp setcolor 4 quadrat sl de 90 ad 100 iz 90 bl repetir 2[ ad 100 de 90 ad 50 de 90] sl de 90 ad 100 iz 90 bl quadrat
Activitat 4. Redefinir/canviar el procediment del quadrat.
En aquesta activitat, volem canviar el procediment, de forma que el quadrat tinga 75 punts de costat. El que hem de fer és tornar a reescriure’l.
para quadrat repetir 4 [ad 75 de 90] fin
Fixa’t que quan la tortuga no ha pintat res. No hem executat les instruccions. Només hem redefinit el comportament.

Activitat 5. Tornar a executar el programa principal.
bp setcolor 4 quadrat sl de 90 ad 100 iz 90 bl repetir 2[ ad 100 de 90 ad 50 de 90] sl de 90 ad 100 iz 90 bl quadrat
Fixa’t que aquest programa és igual al de l’activitat 3, però els quadrats són més grans, perquè hem canviat el procediment de quadrat.
PROCEDIMENTS AMB PARÀMETRES D’ENTRADA
Si comparem l’activitat 2 i l’activitat 4 de l’apartat anterior, podem observar que són pràcticament iguals. Només canvia la llargària del costat del quadrat.
para quadrat repetir 4 [ad 50 de 90] fin
para quadrat repetir 4 [ad 75 de 90] fin
Com optimitzar aquest tipus de situacions, sense necessitat de tornar a reescriure tot el codi del procediment?
Els procediments poden rebre paràmetres d’entrada. Un paràmetre d’entrada es tracta com una variable dins del procediment. Un procediment pot tindr cap, un o molts paràmetres d’entrada. L’única restricció és que s’han d’anomanr de diferent forma. No pot haver dos paràmetres amb el mateix nom.
L’estructura d’un procediment amb paràmetres d’entrada és para nomProcediment :nomParametre bloc d’accions fin.
Activitat 6: Definir un procediment amb paràmetre d’entrada.
En aquesta activitat definirem el quadrat com un procediment que tindrà com a paràmetre d’entrada la longitut del costat.
para quadrat :costat repetir 4 [ad :costat de 90] fin
Fixa’t que dins del bloc d’instruccions es fa servir la variable :costat, és a dir, el paràmetre d’entrada. Recorda que la tortuga no ha pintat res. No hem executat les instruccions. Només hem definit el comportament.
Activitat 7: Invocar el procediment amb el paràmetre.
Per a invocar el procediment només cal ficar el nom del procediment i a continuació el valor del paràmetre.
- Esborra la pantalla i pinta un quadrat de 25 punts.
bp quadrat 25
- Esborra la pantalla i pinta un quadrat de 50 punts.
bp quadrat 50
- Esborra la pantalla i pinta un quadrat de 75 punts.
bp quadrat 75

Activitat 8. Invocar el procediment dins d’una seqüència més complexa.
En una composició més complexa, la invocació és igual. En Fixa’t com s’ha indicat que es vol fer un quadrat al principi de costat 50 unitats i un altre de 25 unitats al final.
bp setcolor 4 quadrat 50 sl de 90 ad 100 iz 90 bl repetir 2[ ad 100 de 90 ad 50 de 90] sl de 90 ad 100 iz 90 bl quadrat 25
I ara què? Realitza les següents activitats i puja les ordres a la tasca corresponent d’AULES.
- Un procediment anomenat quadrat que tinca com paràmetre el costat.
- Un procediment anomenat cirunferencia que tinga com paràmetre el radi.
- Un procediment anomenat rectangle que tinga com paràmetres la llargària i amplària.
- Una composició on s’utilitzen TOTS els procediments definits en les activitats anteriors amb diferents valors dels paràmetres. Per exemple: