![]() |
|
||||||||||||||||
![]() |
||||||||||||||||
![]() |
Pràctica |
![]() |
|
|
Exercicis
|
|||||||||||
Les llistes: objectes fonamentals en el treball amb la Wiris | |
En el mòdul anterior, com que hem volgut fer un cop d'ull a tots els àmbits d'aplicació de la calculadora Wiris, ja hem hagut de treballar amb objectes molt diversos. Uns dels que hem trobat sovint són del tipus que s'anomena una llista. Fins ara hem observat llistes i també hem hagut d'escriure llistes. Per treure el màxim partit didàctic de les possibilitats de la Wiris, és molt important conèixer bé les característiques dels objectes amb què podem treballar. Com que les llistes en són un dels més importants, per això hi dediquem aquesta pràctica. D'altres com taules o divisors seran presentats més breument quan els necessitem. |
|
![]() |
Llistes: definició i exemples |
Els elements que formen una seqüència es poden agrupar amb parèntesis o no, però en les aplicacions pràctiques trobarem les seqüències sempre amb parèntesis. Per exemple, les comandes o funcions de la Wiris reben els seus arguments com a seqüències amb parèntesis i, en canvi, si volem assignar successivament diversos valors a variables, llavors el signe que escau és el punt i coma. |
|
Seqüències a la finestra de treball de la
Wiris
|
|
En altres casos hem vist que l'expressió sintàctica del resultat d'algun càlcul era la d'una seqüència d'elements tancada amb els signes { }. També ho hem hagut d'escriure així en alguna comanda. Aquestes elements són les llistes. | |
llista : una llista és una seqüència tancada per claus. |
|
|
|
Vegeu que trobem llistes en la resolució d'equacions i sistemes: la imatge anterior ens recorda la manera com la Wiris presenta les solucions, envoltades de claus. També hem hagut d'escriure llistes en les comandes de dibuix: els arguments de la comanda dibuixa formen una seqüència de dues llistes.
|
|
Si cliqueu a la icona de l'esquerra, obrireu una finestra activa de la
Wiris. Observeu i executeu les comandes que hi trobareu. Feu altres proves.
|
|
|
![]() |
|
|
Una llista té moltes semblances amb un conjunt, però no és un conjunt, perquè pot tenir elements repetits i perquè l'ordre dels elements que apareixen en una llista és significatiu. Formalment, una llista es representa igual que un conjunt, i si ens interessa eliminar repeticions, disposem de la comanda conjunt que, aplicada a una llista, ens la retorna sense cap element repetit. Si us interessa tenir-ne més infomació, cliqueu sobre la icona d'ampliació. |
|
![]() |
Generació de llistes: recorreguts i modificadors amb, en, on |
Tot i que ja heu pogut veure en la finestra
activa anterior que el concepte de llista és molt ampli, les primeres
llistes que hom imagina acostumen a ser llistes de nombres que segueixen
una certa cadència.
|
|
Recorreguts Un recorregut és un objecte amb entitat pròpia, però la millor manera d'imaginar-lo és com a element representatitu d'una llista.
Per exemple:
La funció llista aplicada a un recorregut torna la llista que representa. D'aquesta manera, podeu generar llistes d'una forma molt simple. Tanmateix, no acostuma a ser mai necessari convertir un recorregut en llista. Si ho fem en la imatge següent, és per explicar millor el concepte. Si obriu la finestra activa associada a la imatge trobareu reflexions que es poden considerar d'ampliació. |
|
![]() |
|
|
|
La Wiris disposa d'una eina molt potent per generar llistes:
els modificadors. A partir de l'expressió sintàctica {x amb variable en X [on condició]} la Wiris construeix una llista d'acord amb les indicacions següents:
Llavors, la Wiris genera la llista de tots els valors que pren l'objecte x quan la variable recorre tots els valors que pertanyen a la llista X.
La imatge següent comença amb dos exemples que il·lustren quina llista és un recorregut:
Els recorreguts són sovint auxiliars importants en la generació de llistes i fan el paper de la llista X. Aquest fet, acompanyat de la possibilitat de modificar la llista amb una condició, permet construir ràpidament llistes de solucions a problemes, sense necessitat de recórrer a la programació que veurem en la pràctica següent.
Adoneu-vos de la sintaxi adequada si volem elaborar llistes en funció de més d'una variable: {x amb v1, v2, ... en X1, X2, ... [on condició]} expressió en què x i condició depenen de v1, v2... i on cal escriure explícitament quines són les llistes X1, X2... encara que siguin la mateixa. |
|
![]() |
![]() |
|
|
Abans de seguir endavant, és interessant que estudieu una altra col·lecció d'exemples amb dos objectius fonamentals:
|
|
![]() |
![]() |
Altres possibilitats en la generació de llistes
|
|
![]() |
Manipulació de llistes |
En aquest darrer apartat de la pràctica s'expliquen els recursos de què disposem per manipular llistes. Manipular en el bon sentit de la paraula, és a dir: tranformar-les, aprofitar-ne la informació, etc. La primera possibilitat que es comenta ja ha estat introduïda en exemples anteriors: |
|
També pot ser interessant ordenar els elements d'una llista:
Els subíndexs creats amb la icona
Per canviar el valor d'un component d'una llista, vector o matriu, podem usar la sintaxi anterior i assignar-li el nou valor amb =. Cliqueu a la icona següent per veure exemples del que s'acaba de comentar en una finestra activa. Entre altres coses, es presenta la manera d'obtenir el valor dels coeficients d'un polinomi i canviar-lo. Modifiqueu les dades per obtenir els vostres propis exemples. |
|
![]() |
![]() |
Obtenció dels coeficients d'un polinomi |
|
Per acabar aquesta pràctica, veureu en
la finestra activa corresponent uns darrers blocs de comandes que permeten
generar noves llistes a partir d'altres de ja existents (per adjunció
de les llistes globalment, per supressió d'elements, per adjunció
d'elements individuals, etc.) i comprovareu que en la definició de
les llistes podem fer servir les variables auxiliars per definir el conjunt
a què ha de pertànyer una altra variable auxiliar. |
|
![]() |
![]() |
Generació de llistes amb restriccions en els conjunts definidors |
|
![]() |
|