GeoJS: JavaScript dins de Geogebra

Breu descripció

Logo Geogebra (font: http://www.geogebra.org/images/logo.png )

És possible iniciar-se a la programació dins del programa de geometria dinàmica Geogebra. Aquest permet afegir-hi programes fets en JavaScript. Aquest llenguatge de programació és un dels més estesos actualment com a llenguatge d’alt nivell, vàlid per a iniciar-se a la programació.

A continuació trobareu:

  1. Entorn: introducció a l’entorn de desenvolupament.
  2. Accés: instruccions per accedir i executar JavaScript dins del Geogebra.
  3. Exemple de codi: exemple inicial per familiaritzar-se amb l’entorn.
  4. Activitats: llistat d’activitats actuals i propostes per activitats futures.
  5. Enllaços interns: recull de recursos dins d’EduLogiX.
  6. Enllaços externs: recull d’enllaços i bibliografia.

1. Entorn

GeoJS-inicial

(feu clic a la imatge anterior per ampliar-la; el codi també el teniu en text a la secció 3. Exemple)

  • A continuació es descriu l’entorn que hi ha a la imatge anterior (per veure com aconseguir aquest entorn, feu una ullada a Accés).
  • A la captura de pantalla es pot veure l’aplicació de Geogebra oberta (+info sobre Geogebra), amb les següents subfinestres:
    • Finestra algebraica (a l’esquerra): conté la descripció algebraica del objectes matemàtics creats (ex. punts sobre el pla)
    • Zona gràfica (al centre-esquerra): mostra la representació gràfica dels objectes matemàtics creats sobre el pla cartesià (el nou Geogebra també incorpora visualització 3D). Fixeu-vos el en punt anomenat “Programa”, és on estan emmagatzemat el programa a executar, i s’executa en fer-li un clic amb el ratolí.
    • Full de càlcul (al centre-dreta): correspon al full de càlcul de Geogebra, que es pot usar com un full de càlcul convencional però té algunes funcionalitats afegides. Al combinar-lo amb JavaScript, es pot usar com a formulari d’entrada o sortida de dades. Per exemple, el programa mostrat dibuixa tants punts com indiqui la cel·la A1.
    • Propietats / pestanya Seqüència de comandaments / pestanya En clicar (a la dreta): zona que conté les instruccions en JavaScript del programa a executar. En concret, posarem les instruccions a les propietats del punt que hem anomenat “Programa” a la zona gràfica.

2. Accés

  1. Obrir Geogebra:
    • Obrir el Geogebra
    • caldrà que tingueu el Java instal·lat al vostre sistema.
    • funciona en Linux / Mac / Windows / Android / iOS / HTML5.
      (ja funciona en Tablets i en HTML5 als navegadors directament)
  2. Obrir la finestra on poder editar el JavaScript:
    1. Inserir un punt anomenat “Programa”
    2. Visualitza les propietats d’aquest punt: fes clic amb el botó dret del ratolí sobre el punt i escull “Propietats”.
    3. Prem la icona geopy-finestra-encastada-icona-finestres (a la part superior dreta) que serveix per encastar aquest diàleg en la finestra principal de GeoGebra.
    4. Escull la pestanya “Seqüència de comandaments”
    5. Escull la pestanya “En clicar”
    6. Escull l’opció “JavaScript” en la llista desplegable inferior de la pestanya.
    7. Recorda que per a guardar els canvis que facis en aquest editor de JavaScript, caldrà que premis el botó “D’acord”. Aquest no executa el codi, sinó que el grava.
  3. Executar el codi:
    1. Podràs executar el codi cada vegada que facis un clic sobre el punt que has anomenat Programa.

3. Exemple de codi

A continuació es mostra el codi d’un programa d’exemple. Tan sols és per tenir una idea general. A les activitats es van introduint progressivament i postant en pràctica tots els conceptes.

/* Definim g com a sinònim de ggbApplet */
var g = ggbApplet

/* Agafo una dada del full de càlcul */
var A1 = g.getValue("A1")

/* Comprovo una condició  */
if ( A1 <= 0 ) {

  /* Mostro un missatge a l'usuari */
  alert("Nombre negatiu: "+A1)

} else { /* Si no es compleix la condició */

  /* Repeteixo des de i=1 fins que val A1 */
  for ( i = 1 ; i <= A1 ; i=i+1) {

    /* Executo una comanda: dibuixar un punt */
    g.evalCommand("P"+i+"=("+i+","+i+")")

  }
}

4. Activitats

  1. Hola món!: introducció de l’entorn dibuixant un somriure.
    HelloWorld (font: http://leandroesc.wordpress.com/2012/08/13/hello-world-a-new-virtualization-blog-is-born/ )
  2. Passeig per BCN: introducció de l’entorn dibuixant en un mapa de l’Eixample; conceptes: bucle, condicional.
    SagradaFamilia
  3. Llença’t a programar en JavaScript!: problema de llançament de pes; conceptes: variable, constant, seqüència i funció.
    Llançament de pes femení (font: http://www.boston.com/sports/blogs/bigshots/2009/03/big_shots_for_march_10_2009.html#photo4 )
  4. Ajuda als bombers!: problema bàsic estadístic; conceptes: bucle i vector.
    bomberes
  5. Fins a l’infinit i més enllà!: demostració bàsica per inducció; conceptes: bucle.
    Buzz Lightyear (font: http://www.disneydreaming.com/2010/11/05/buzz-lightyear-action-figure-is-the-best-selling-toy-at-the-disney-store-uk/ )
  6. Vida artificial: joc de la Vida de Conway; conceptes: matriu.
    Cèl·lules (font: http://www.manifestdaily.com/wp-content/uploads/2014/04/cells2.jpg )

Si te les acabes pots mirar els altres entorns o bé provar de participar en la creació de les noves activitats. Aquí tens algunes idees per a crear noves activitats:

  1. Rebots d’una pilota (múltiples crides a la funció desenvolupada a l’activitat “Llença’t a programar en JavaScript!”)
  2. Polinomi interpolador
  3. Àlgebra Lineal amb Geometria Analítica
  4. Àlgebra Lineal 2 (idea PAU València 2013, 3a recta)
  5. Taxa Variació Mitjana (aplicar-ho a problemes físics, velocitats mitjanes vs. instantànies)
  6. Derivada
  7. Mètode Newton-Raphson per buscar zeros
  8. Teorema de Bayes (ex. genètica/biologia; vídeo)
  9. Funcions exponencials (teoria de cues…)
  10. Cartes i jocs d’atzar
  11. Joc de col·lisions fets amb vectors (influència de direcció, sentit i mòdul)
  12. Mètode Montecarlo per aproximar el nombre Pi
  13. Estudi de la circumferència (ex. obtenció a partir de tres punts no aliniats)
  14. Simulant gravetat en pes sobre pla inclinat en 3D

4. Enllaços interns

5. Enllaços externs

  • Geogebra: web principal del programa de geometria dinàmica Geogebra.

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s