Mòdul 4
La calculadora Wiris com a recurs didàctic
Enrera Pràctica
1
2
3
4
5
6
 
 
   
Exercicis
Exercicis
 
 
Gràfics amb recursos avançats de la Wiris
   

En la pràctica anterior heu pogut veure que l'ús de recursos de programació aplicats a la realització de gràfics ens han permès avançar força en la interactivitat.

En el mòdul 2 vam presentar les llistes com un element de treball avançat amb la Wiris que, juntament amb l'ús de amb..en..on.. per generar-les, poden substituir moltes vegades procediments que a primera vista sembla que s'haurien de fer amb la programació. Ara veurem que també va molt bé tenir en compte les llistes a l'hora de fer gràfics sofisticats.

 

  Després d'uns exemples lúdics, analitzarem amb tot detall una activitat que ja coneixeu i completarem la pràctica amb una reflexió sobre l'ús de la comanda punt_més_proper per construir gràfics tipificats, per exemple, un quadrilàter que permeti moure (alguns) vèrtexs i sempre es mantingui com un rectangle.
   
Ús de amb..en.. per a la generació de llistes d'objectes dibuixables
   
 

En la pràctica 1 del mòdul 2 heu pogut conèixer la manera de fer un gràfic que recorda el logotip del Campionat del Món de Natació - BCN 2003.

Aquí teniu una possibilitat que ara explicarem:

Recordeu quin és el punt (r·cos(a), r·sin(a)) i llavors us podeu adonar que, perquè s'aconsegueixi l'efecte espiral:

  • El centre de la circumferència i és a una distància cada vegada més gran de l'origen de coordenades, exactament 3·i/4.
  • La línia que uneix aquest centre amb l'origen de coordenades i l'eix de les x formen un angle que va augmentant de p/4 en p/4.
  • Els radis de les circumferències augmenten progressivament.

Vegeu que amb les consideracions anteriors construïm una llista de circumferències que després dibuixem totes de cop i recordeu que el mètode de treball de la Wiris no permet substituir el procés anterior per quelcom que hi és conceptualment semblant, com és ara:

Podeu escriure el codi que us hem mostrat i fer-hi variacions. Recordeu, també, que, si volguéssiu dibuixar les circumferències de colors diferents, no seria possible fer-ho amb una sola ordre.

En el segon exemple que us proposem veureu una manera de dibuixar un engraellat 6 x 6 amb algunes caselles acolorides, com aquest:

L'exemple servirà per recordar l'ús de condicionals en la generació de llistes i per explicar alguns aspectes de la comanda tauler. Si cliqueu a la icona de la fletxa, activareu una finestra de la Wiris on veureu una manera d'aconseguir l'objectiu indicat, que comença per situar els eixos i la graduació de les unitats com podeu veure en el gràfic següent.

 
Finestra Activa
 
Finestra Activa
   
 
  • Vegeu la comanda tauler que ja hem vist anteriorment. En aquest cas, rep com a arguments el nou centre, les noves mides (vegeu que són 8 x 8) i una llista d'opcions que ens permeten desactivar la icona del tauler gràfic i fer que no es mostrin els eixos ni la malla.
    Vegeu la diferència sintàctica per fer aquestes últimes accions: si es passen com a opcions a la comanda tauler, mostrar_malla=fals, per exemple, o si s'escriuen independentment en una línia de programa; llavors seria mostrar_malla(fals).
  • La definició dels segments que formen l'engraellat és clara. Adoneu-vos que podem definir dos objectes per cada valor de i.
  • Hem fet servir una comanda que permet dibuixar un polígon regular donat el nombre de costats i dos vèrtexs consecutius; la resta de vèrtexs es generen a continuació d'aquests en el sentit contrari a les agulles del rellotge. D'aquesta manera, hem generat, inicialment, tots els quadrats de l'engraellat.
  • Però hem estudiat quina havia de ser la condició que complien els vèrtexs inferiors esquerres dels quadrats pintats (això no ens ho fa la Wiris!) i l'hem afegida a la definició de la llista amb on. Així, ja només s'han generat els quadrats que havíem d'omplir.

Us proposem que, com a exercici, feu les variacions oportunes a l'exemple que acabem de presentar per obtenir un tauler d'escacs com el que mostra la imatge il·lustrativa de la capçalera de la pràctica.

   
Finestra Activa
Estudi detallat d'una aplicació didàctica generada amb la Wiris
   
  En acabar la pràctica 6 del mòdul 2, que tracta el tema dels nombres complexos, heu pogut veure una aplicació generada amb la Wiris que s'ha presentat justament com a aplicació didàctica. Podeu revisar-la tal com l'hem presentat allà si cliqueu a la icona que indica el començament de l'activitat o bé a la mateixa imatge.
 
 
Finestra Activa
   
 

Ara ha arribat el moment d'estudiar amb detall el codi d'aquest exemple. Veurem l'aplicació de amb..en per a la generació d'objectes sofisticats que després dibuixarem; veurem l'ús de la comanda punt_més proper i, combinant-ho, aprendrem a incloure en un tauler gràfic un menú d'opcions que, en aquest cas, farem servir per triar l'índex de l'arrel.

Tot seguit, podeu obrir una finestra activa amb el codi molt detallat i comentat. Podeu anar-la consultant mentre llegiu les explicacions que teniu més avall.

   
Finestra Activa

Finestra Activa

Una part del codi de l'activitat de les arrels d'un nombre complex

   
 
  • Preparació del tauler. S'han deixat els eixos centrats i, com que es vol treballar amb la circumferència unitat, que té de diàmetre 2, s'ha cregut convenient deixar un marge i definir la finestra de 3 x 3.
    Per tenir més a la vista la línia corresponent, s'ha partit després d'altura_finestra=500; per fer-ho, cal prémer Majúscules + Retorn. També es podrien desactivar els eixos. Ara bé, el que no podríem fer seria deixar-hi la malla. Per què?
  • Tria del nombre complex... Recordeu la comanda punt_més_proper que hem explicat amb detall en la pràctica 1 del mòdul 3. A partir d'un punt auxiliar DX, es fa que es mogui un punt D sobre la circumferència unitat. A partir d'aquest punt D (necessitem que sigui un punt perquè serveixi per donar interactivitat al gràfic), es defineix el nombre complex r del qual calcularem les arrels.
  • Tria de l'índex... (que heu d'estudiar combinat amb alguns aspectes de Preparació de gràfics i textos). Si executeu una vegada l'aplicació amb la malla a la vista, us adonareu que la recta on hi ha el menú per triar l'índex és y==-1.2. Llavors, el punt auxiliar B ens serveix per situar-ne un altre, N, sempre sobre la recta que serà el que ens servirà per escollir l'índex. Ara bé, no és possible, ara com ara, fixar que el punt mòbil quedi sobre un dels punts vermells i per això cal arrodonir-ho.
    Aquesta part l'heu de combinar amb         .
    Vegeu en Y que l'ús adequat de amb..en defineix quins són els "punts vermells", que tenen d'abscisses 0,1; 0,2...; 1,2 i per això hem de multiplicar-ne el valor per 10 i arrodonir-ho per tenir l'índex.
    Finalment, en T3 es construeix una llista de capses de text que, quan es dibuixen conjuntament, fan apareixer a sota dels punts vermells els nombres de l'1 al 12. Vegeu que les coordenades on es posa cada capsa de text concorden del tot amb el que espereu si analitzeu el gràfic amb la malla visible.
  • Altres aspectes... El procediment per al càlcul d'arrels ja l'hem estudiat en el seu moment en la pràctica sobre nombres complexos. Ara cal lligar-ho amb aspectes de presentació. Vegem-ho:

    Fixeu-vos en la construcció del rètol que escriu l'argument de cadascuna de les arrels (concatenant amb | la lletra alfa amb el valor numèric) i col·locant-los en un lloc o en un altre, una mica més amunt o una mica més avall de l'afix del nombre complex resultat de l'arrel, segons si l'argument és positiu (primer o segon quadrant) o negatiu (tercer o quart quadrant).
    Per acabar el comentari d'alguns aspectes de la sintaxi de la Wiris en aquest exemple, fixeu-vos en la manera de generar els punts verds que serveixen per orientar-nos si volem posar un nombre complex amb un argument conegut. Convenceu-vos que si fem
    ,
    llavors, quan fem dibuixa(L), han d'aparèixer realment els punts verds de 5º en 5º sobre la circumferència unitat.

Segur que amb aquestes indicacions i una bona dosi de paciència per a l'anàlisi ja heu tret l'entrellat del codi que analitzàvem. Ara no us en demanarem cap exercici relacionat... però ben segur que us donarà idees per a les vostres aplicacions que hauran de formar part del treball de fi de curs.

   
Gràfics subjectes a condicions
   
 

De vegades, en les aplicacions didàctiques és interessant que una figura compleixi sempre unes determinades condicions.

En la pràctica 6 del mòdul 1 ja vam veure la construcció interactiva d'un paral·lelogram. Es podien moure tres dels vèrtexs i la figura sempre es manetnia com a paral·lelogram. El quart no era lliure, no el podíem controlar, sinó que era el que ens ajudava a aconseguir que el quadrilàter fos un paral·lelogram.

Us proposo, tot seguit, que analitzeu l'exercici de dibuixar un quadrilàter que sempre sigui un rectangle... però naturalment no tots els vèrtexs es podran moure lliurement. Vegeu-ne primer de tot una animació.

Sempre un rectangle
   

  • Dibuixareu dos punts A i B (els marcareu de color vermell) que es podran moure lliurement i serviran per establir la inclinació i l'amplada del rectangle.
  • Tot seguit, definireu un punt C (de color verd) que, amb l'ajut de la comanda punt_més_proper podeu aconseguir que sempre estigui sobre la recta perpendicular a AB que passa per B.
  • Finalment, definireu el punt D (que pintareu negre) per completar el rectangle. Per exemple, D = A + (C-B).

I ja podeu ordenar de fer el dibuix, posar algun rètol explicatiu... i provar si funciona.

   
 Animació
I si no ha sortit bé, podeu fer clic a la fletxa de l'esquerra i veureu una manera de fer el codi d'aquesta activitat seguint les instruccions anteriors que sí que funciona.
   
  Consulteu-lo i us servirà, perquè a la llista d'exercicis d'aquest mòdul, trobareu com a proposta opcional la construcció d'un quadrilàter que sempre sigui un rombe.
   
   
 
Amunt