1. PROGRAMEM AMB SCRATCH
FORMES I VOLUMS
INTRODUCCIÓ
Som una empresa que ens dediquem a construir i dissenyar
aquaris de qualsevol forma i mida.
Tenim una màquina-eina de tall capaç de tallar el vidre amb la
forma de qualsevol figura plana regular.
L’eina de tall es controla mitjançant un programa realitzat
amb scratch, duplica les figures que surten dibuixades a la
pantalla de l’ordinador i es capaç de tallar vidres de diferents
gruixos.
QUE VOLEM?
Dissenyar un programa capaç de dibuixar qualsevol forma plana regular.
REQUISITS MÍNIMS
El programa ha de dibuixar formes planes.
L’eina de tall sempre ha de començar a tallar des del mateix punt.
El programa ha de fer servir un bucle per dibuixar les figures.
EXCELENCIA
El programa ha de donar, en acabat, informació del perímetre de la forma dibuixada
per a calcular la quantitat de goma necessària per a fer el tancament hermètic.
Tenir una interfase interactiva que demani a l’usuari el nombre de costats i el tamany
per construir la figura.
Modificar el gruix de la línia o el color per modificar la profunditat de tall.
2. Una mica de teoria
Posició i direcció dels objectes
Cada objecte que aparegui a l'escenari està en una posició determinada, que ve donada per
les seves coordenades (de fet, les coordenades del seu centre; en parlarem més endavant). A
més d'una posició, cada objecte dins de l'escenari té una direcció.
La direcció de l'objecte, el gatet en el nostre cas, pot prendre valors entre -180 i +180. Ens
indicaran els graus des de la vertical, positius en el sentit de les agulles del rellotge i negatius
en sentit contrari.
Tots els objectes que apareguin a l'escenari tindran una posició i una direcció.
Les instruccions estan categoritzades segons el que fan. Teniu un marc amb un botó
per categoria. Si premeu qualsevol botó d'aquests obtindreu, a la zona de sota, les
instruccions corresponents a aquesta categoria.
Taronja: Les diferents categories de les instruccions.
Verd clar: Les instruccions corresponents a la categoria
seleccionada
Granat: Botons amb diferents opcions
Vermell: Escenari on tindran lloc les nostres animacions
Marró: Botons per manipular els objectes de l'escenari
Verd fosc: Zona d'objectes i fons de l'escenari
Blau cel: Característiques de l'objecte triat a la zona d'objectes
Blau fosc: Botons diversos (pantalla completa, editor de dibuixos, etc.)
Blanc: Zona de programació
Rosa: Botons per engegar i aturar l'execució del programa.
3. COMENÇEM A PROGRAMAR
Construirem pas per pas un programa per a dibuixar formes quadrades.
Decidim que volem que el costat del quadrat faci 50 unitats, així doncs,
arrastrem el bloc de moviment a la zona de programa i escric 50 a la capsa de text.
Si faig doble clic damunt del bloc, observo que el gatet es desplaça 50
unitats cap a la dreta. Si observem la nostra figura (el quadrat) podem
adonar-nos que per a que el gat continuï amb el seu recorregut, ha de
fer un gir de 90º.
Així doncs,si repeteixo aquesta combinació 4 vegades, aconseguiré que
el gatet dibuixi la forma d’un cuadrat, o, almenys faci un recorregut
cuadrat.
Que ha passat? No em vist res? Això és perquè el gatet es mou molt
ràpid, per veure el moviment em de dir-li que s’esperi després de cada
tram.
Ara sí que veiem el moviment, però no dibuixa res.
Això és perquè en cap moment li em dit que ha de
dibuixar. Tots els objectes tenen un llapis que els
permet dibuixar per allà on passen, per això els hi em de dir que
“baixin el llapis” abans de moure’s i que “aixequin el llapis quan hagin
acabat”.
Així doncs, el nostre programa finalitzat quedaria de la següent manera. Com que no vull
estar fent doble click cada vegada que el vull executar, li col·loco davant l’event “al prémer
bandera verda” i així tinc un control interactiu sobre la seva execució.
4. I ARA QUÈ?
Si volem esborrar la pantalla, farem servir el bloc «neteja» .
Per situar-nos en una posició determinada, per exemple per començar sermpre a la mateixa
posició, farem servir el bloc «ves a x,y» .
Per acabar (de començar) fixeu-vos que estem repetint el mateix conjunt d'ordres 4 vegades
(mou-te i gira), podriem simplificar el programa fent servir el que en programació anomenem
un «bucle» que es repeteixi aquest nombre de vegades.
En acabat, hauriem de ser capaços de dibuixar un quadrat amb el mínim d'ordres possibles,
però, seriem capaços de dibuixar un triangle, i un hexàgon?
PER ANAR MÉS ENLLÀ – INTERACTIVITAT
L'ordre «pregunta» permet a l'aplicació demanar dades a
l'usuari.
La resposta obtinguda s'enmagatzema a la
variable «resposta» i es pot fer servir com un valor més, com ara un
nombre pel bucle.
Les possibilitats són infinites. Altres ordres d'interés són
«digues», que permet donar
informació per pantalla, o
«dividir» que permet fer
la operació de dividir dos valors .
PISTA: Quín és l'angle total que gira el gatet en acabar de dibuixar la figura? Quin és l'angle
parcial que gira cada cop? Quína relació tenen amb el nombre de costats de la figura?