M˛dul 2
La calculadora Wiris com a recurs didÓctic
Enrera Pràctica
1
2
3
4
5
6
 
 
   
Exercicis
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.

   
Nou Apartat
Llistes: definició i exemples
   
  • Una col·lecció d'objectes de la Wiris separats per una coma rep el nom de Seqüència.
  • Podem separar diverses comandes de la Wiris amb un punt i coma. En particular, també podem fer servir aquest signe al final d'una línia simplement per separar-la de la següent i que llavors no s'hi escrigui res quan es facin els càlculs.

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.

 


                                                        Llistes a la finestra de treball de la Wiris

   

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.

  • Les claus les podem introduir amb les tecles { i } o amb la icona de la carpeta que apareix per defecte quan engeguem la Wiris i que, altrament, obtindrem amb la pestanya .
  • Si creem les claus amb la icona, la mida d'aquestes s'adaptarà a la del seu contingut
  • Les combinacions de tecles Control + { i Control + } també creen les claus de mida variable.
   
Finestra Activa

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.

   
 
Definició de llistes
   
Ampliació

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ó.

   
Nou Apartat
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
Són objectes de la forma a..b o bé a..b..d on a, b i d són nombres reals

Un recorregut és un objecte amb entitat pròpia, però la millor manera d'imaginar-lo és com a element representatitu d'una llista.

  • Si d és diferent de zero, el recorregut a..b..d representa la llista formada pels elements de la progressió aritmètica a, a+d, a+2d, ... mentre no sobrepassem b
  • Si d és zero, el recorregut representa la llista buida.
  • a..b equival a a..b..1

Per exemple:

  • 1..6 representa {1,2,3,4,5,6}
  • 1..6..2 representa {1,3,5}
  • 6..1..-3 representa {6,3}.

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ó.

   
Finestra Activa
 
Els recorreguts com a formes senzilles de generar llistes
   

La Wiris disposa d'una eina molt potent per generar llistes: els modificadors.
Es tracta de les paraules amb, en, on.

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:

  • variable és una variable de control (auxiliar) que servirà per definir la llista.
  • x és l'expressió d'un objecte que depèn de variable.
  • X és una llista d'objectes de la Wiris.

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.

  • Si s'inclou el modificador opcional on condició, llavors la Wiris selecciona només els elements de la llista que es crearia amb x amb variable en X que verifiquen la condició imposada, amb tota la potència i versatilitat que això suposa.

La imatge següent comença amb dos exemples que il·lustren quina llista és un recorregut:

  • amb i en 1..20..2, per exemple, vol dir que construirem una llista donant a i tots els valors del recorregut 1..20..2, és a dir, els de la llista {1, 3, 5..., 17, 19}.
  • En lloc de començar la definició de B escrivint i amb i en ... haguéssim posat, per exemple, 2i-5 amb i en 1..20..2; llavors s'hauria fet l'operació indicada per cada valor de i en la llista X. El resultat seria {-3, 1, 5, ..., 29, 33}.

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.

  • Podeu veure com podem aconseguir la llista de tots els nombres enters positius fins al 50 que compleixin, per exemple, la condició de ser primers.
  • També com podem generar d'una manera ben senzilla la llista dels nombres pitagòrics inferiors a un nombre donat.
  • Cliqueu a la icona que obre la finestra activa; observeu i executeu les comandes que hi trobareu.
  • Investigueu i genereu noves llistes de la vostra pròpia collita.

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.

   
Finestra Activa
 
Generació de llistes numèriques usant recorreguts i amb, en, on
   
 

Abans de seguir endavant, és interessant que estudieu una altra col·lecció d'exemples amb dos objectius fonamentals:

  • Que us adoneu que la llista X pot ser una llista qualsevol, no cal que sigui un recorregut.
  • Que constateu que la generació de llistes mitjançant amb..en..on no es limita a les aplicacions numèriques, sinó que s'estén a la geometria o a qualsevol altre tipus d'objectes de la Wiris. Aquesta possibilitat l'estudiareu amb detall en la pràctica 5 del mòdul 4.
   
Finestra Activa
 
Altres possibilitats en la generació de llistes
   
Nou Apartat
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:

   
  • La comanda longitud aplicada a una llista determina el nombre d'elements de la
    llista.

També pot ser interessant ordenar els elements d'una llista:

  • La comanda ordena aplicada a una llista numèrica retorna la llista ordenada.

Els subíndexs creats amb la icona , o bé introduïts pel teclat amb Control + Fletxa avall, són l'eina principal per manipular llistes (i també per vectors i matrius); en particular, per extreure'n el valor dels elements i aprofitar-lo per altres càlculs o també per canviar-lo.

  • Donada una llista (o un vector) V, i un nombre enter i, llavors Vi és la i-èsima component de V, sempre que i pertanyi al recorregut 1..longitud(V) .

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.

   
Finestra Activa
 

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.
   
Finestra Activa
 

Generaciˇ de llistes amb restriccions en els conjunts definidors

 
Amunt