Post on 16-Feb-2015
TALLER: LABORATORIO DE PROGRAMACIÓN I
Prof.: Jorge GAGLIARDI Susana MELGAREJO
• EXPECTATIVAS DE LOGRO
E.E.S.T. N° 2 – ALTE. BROWN
EXPECTATIVAS DE LOGRO DEL TALLER
Poseer dominio del “pensamiento algorítmico”.
Comprender el concepto de “programa”.
Comprender la utilidad de documentar un programa. Estimular y valorar el trabajo en equipo y la ayuda solidaria entre pares. Valorar la correcta expresión oral y escrita como forma de comunicación.
¿Qué es el pensamiento algorítmico?
Es la capacidad de resolver un problema computacionalmente.
Independientemente del lenguaje y las herramientas. Pensamiento útil como forma de pensar. Pensamiento aplicable a varias ramas del conocimiento.
¿Qué es “programar”?
Programar se refiere a la descripción del desarrollo de una actividad.
Ejemplo: Quiero programar un viaje para conocer la mesopotamia en mis próximas vacaciones.
¿Cómo se programa con la computadora? A través de un lenguaje de computación
Utilizando un lenguaje de computación es posible realizar la descripción de una actividad.
IMPORTANTE: Todo programa debe contener un “propósito” (debe hacer algo).
Existen dos tipos de lenguajes de programación:
Lenguajes industriales de propósito general.
Lenguajes específicos para la enseñanza de la programación.
Dado que una de las expectativas de logro, la principal, es dominar el pensamiento algorítmico.
Y que el pensamiento algorítmico es independiente del lenguaje de programación que se utilice.
En el Taller vamos a utilizar un lenguaje específico para la enseñanza de la programación.
Una vez que se domine el pensamiento algorítmico se podrá aplicar los conceptosadquiridos a cualquier lenguaje o herramienta de programación.
Y que, para dominarlo, es primordial utilizar un lenguaje de programación.
El lenguaje de programación a utilizar en el curso será:
GOBSTONES
Características del lenguaje Gobstones Lenguaje diseñado para enseñar los fundamentos básicos.
Simple y minimalista.
Turing completo.
Con buena separación de conceptos.
Denotacional.
Cimientos sobre los que se construyen conocimientos posteriores.
Sintaxis clara sin construcciones redundantes.
Mismo poder computacional que cualquier lenguaje comercial.
Cada concepto aparece diferenciado del resto.
Busca construir pensamiento abstracto sobre elementos concretos.
Gobstones
Ventajas: Pensado para aprender a programar. Fácil de empezar a programar.
De lo concreto a lo abstracto.
Desventajas:
No es aplicable industrialmente.
No existe, aún, mucha bibliografía.
Es una herramienta en evolución.(aparecerán nuevas versiones con mejoras)
LENGUAJE DE PROGRAMACIÓN
GOBSTONESElementos que lo componen: Tablero de n filas y m columnas.
Donde n y m pueden ser cualquier número natural finito Bolitas de color.
Cada bolita posee un único color, que puede ser: Azul, Rojo, Negro o Verde.
Cabezal.Indica el casillero o celda actual o activa.
TABLERO DE GOBSTONES
Bolita de color Verde
Cabezal
9 columnas
5 filas
En cada casillero o celda puede haber muchas bolitas del mismo color.
2
Indica que en el casillero o celda hay 2 bolitas de color Verde.
Casillero o celda resaltada.
TABLERO DE GOBSTONESCOLOCAR BOLITAS DENTRO DE UN CASILLERO (O CELDA)
Ubicar el mouse en la esquina del casillero (o celda) según el color de la bolita a colocar.
AzulNegroRojo
Verde
Pulsar el botón izquierdo del mouse para agregar una bolita del color elegido. Para agregar más bolitas volver a pulsar dicho botón.
TABLERO DE GOBSTONESSACAR BOLITAS DE UN CASILLERO (O CELDA)
Ubicar el mouse en la esquina del casillero (o celda) según el color de la bolita a sacar.
AzulNegroRojo
Verde
Pulsar el botón derecho del mouse para sacar una bolita del color elegido. Para sacar más bolitas volver a pulsar dicho botón.
TABLERO DE GOBSTONESDESPLAZAMIENTO POR EL TABLERO
Para desplazarse por el tablero utilice las flechas del teclado.
N
S
EO
PROGRAMA GOBSTONES
Todo programa GOBSTONES está formado por un texto que describe cómo transformar un tablero inicial en un tablero final.
Ejemplo:Transformar un tablero vacío en uno que contenga un cartel de bienvenida.
TABLERO INICIAL
PROGRAMA GOBSTONES
TABLERO FINAL+ =
COMANDOS BÁSICOS DE GOBSTONES
Poner ( ) Pone 1 bolita del color que se indica entre paréntesis en la celda donde está posicionado el cabezal.
Ejemplo: Poner (Rojo)
Pone 1 bolita roja en la celda donde está posicionado el cabezal,
Mover ( ) Mueve el cabezal un casillero (o celda) hacia la derecha, izquierda, arriba o abajo. La dirección del movimiento está dado por el punto cardinal que le corresponde.
DERECHA -> EsteIZQUIERDA -> OesteARRIBA -> NorteABAJO -> Sur
Ejemplo: Mover (Este) Mueve el cabezal un casillero (o celda) hacia la derecha.
N
S
EO
BLOQUE DE COMANDOS
Un bloque de comandos está formado por una secuencia de comandos separados por un salto de línea o por “;”.
Los bloques deben estar delimitados al comienzo y al final por llaves.
Sintaxis:
Bloque = { comando1 ; comando2 ; etc. }
BLOQUE DE COMANDOSoBloque = { comando1
comando2etc. }
Ejemplo:
Diseñar un bloque que coloque una bolita de cada color en la celda actual.
BLOQUE DE COMANDOSDiseñar un bloque que coloque una bolita de cada color en la celda actual.
{ Poner (Azul) ; Poner(Negro) ; Poner(Rojo) ; Poner(Verde) }o
{ Poner (Azul)Poner(Negro)Poner(Rojo)Poner(Verde) }
o{ Poner (Azul)
Poner(Negro)Poner(Rojo) ; Poner(Verde) }
BLOQUES EQUIVALENTES
BLOQUES EQUIVALENTESSon aquellos bloques que resuelven el mismo problema codificados de distinta manera.
También sería otro bloque equivalente el siguiente:
{ Poner (Verde) ; Poner(Rojo) ; Poner(Azul) ; Poner(Negro) }
Por lo tanto…
¡EXISTEN INFINITAS FORMAS DE RESOLVER CADA PROBLEMA!
Entonces…¿Cómo se escribe un programa en Gobstones?
Describiendo un procedimiento.
Un procedimiento se escribe colocando “procedure” seguido de un bloque de comandos.
Un programa codificado en Gobstones puede llegar a tener varios procedimientos. El principal se denomina “Main()” y se coloca al final de la codificación (si existen varios).
En nuestro ejemplo la codificación completa en Gobstones sería:
procedure Main() { Poner (Azul)
Poner(Negro)Poner(Rojo)Poner(Verde)
}
Ya estaría terminada la codificación del problema.
Próximo paso: chequear si todo está bien escrito
Significa: PRINCIPAL
“chequear si todo está bien escrito” ?
¿Qué significa:
Que todo esté bien escrito para que la computadora “lo entienda”.
O sea que la sintaxis sea correcta. Todo debe ser escrito correctamente, según las pautas seguidas por el lenguaje Gobstones.
El chequeo de la sintaxis en la codificación de un programa en Gobstones se realiza en el entorno de trabajo, accediendo en el menú a la opción “Gobstones” y dentro de esta accediendo al submenú “Chequear” o directamente pulsando laTecla F10.
Si el chequeo muestra errores de codificación deberán ser corregidos y vuelto a chequear la codificación del programa.
Si el chequeo da por resultado:“El programa está bien formado. “
¡¡¡ El programa está listo para ser ejecutado. !!!
¡¡¡ Recordad !!!
Para que la ejecución sea satisfactoria el programa deberá cumplir con el “propósito establecido”.
¡¡¡ Recordad !!!
La ejecución del programa transforma un “tablero inicial” en un “tablero final”.
CUIDADOS A TENER EN CUENTA AL ESCRIBIR UN PROGRAMA EN GOBSTONES
procedure Main() { Poner (Azul)
Poner(Negro)Poner(Rojo)Poner(Verde)
}
colocar delimitadores del bloquecolocar en minúscula
colocar en mayúsculas
Y, por supuesto,… escribir todo CORRECTAMENTE!!!
… procedure, Main(), Poner, Azul, Negro, Rojo y Verde.
pensemos …
Antes de ejecutar el programa…
¿Sólo la computadora deberá “entender” nuestra codificación?
NOTambién es “importantísimo” que sea
“entendida” por los humanos.
En general, los programadores trabajan en equipos de profesionales. Por lo tanto, los programas deben ser codificados en forma bien clara y documentada. De esta manera el código podrá ser entendido por cualquier persona del equipo.
Por lo tanto, al programar, recuerde que deberá realizar lo siguiente:
Escribir correctamente el programa respetando la sintaxis de los distintos comandos de Gobstones.Documentar eficientemente el programa especificando el propósito del mismo y describiendo los pasos realizados. (*)Adoptar y utilizar un “estilo” al describir el programa.
(*) La documentación es imprescindible para que el desarrollo del programa pueda ser compartido por todos los integrantes del equipo.
¿Cómo se documentan los programas en Gobstones?
La documentación puede realizarse a través de “comentarios”.
Existen dos tipos de comentarios:
de una línea
se colocan los caracteres // en la misma línea del comando y luego el comentario.
Ejemplo:
Poner(Rojo) // pone una bolita de color rojo.
de varias líneas
se colocan los caracteres /* al comienzo de la primer línea del comentario y los caracteres */ al finalizar el mismo.
Ejemplo:
/* el siguiente comando coloca una bolita de color rojo en la celda actual */
Poner(Rojo)
¿Cómo se documenta la codificación?
Un primer avance en este tema consiste en colocar al comienzo del programa el “propósito” del mismo. O sea, lo que el programa debe hacer y para el cual fue realizado.
Ejemplo:
/* Propósito: colocar una bolita de color rojo en la celda actual */
El propósito se manifiesta a través de un comentario multilíneal.
¿Qué significa “escribir con estilo”?
Escribir con estilo significa respetar pautas al codificar. Desarrollar una codificación prolija, clara, entendible por todos. Homogénea. Coherente.Ejemplos:
Utilizar sangrías a fin de clarificar la ubicación de los bloques. Documentar el programa colocando comentarios adecuados. Ser homogéneo y coherente en la escritura.
Ejercicios
1) Colocar una bolita de cada color en la celda actual.
2) Colocar en la celda actual una bolita azul, dos bolitas negras, tres bolitas rojas y cuatro bolitas verdes.
3) Colocar cuatro bolitas rojas en la celda actual y en las tres celdas a la derecha de la celda actual.
4) Colocar una bolita de cada color en la celda actual y en las celdas que estén ubicadas a la derecha, a la izquierda, arriba y debajo de la celda actual.
5) Colocar una bolita de cada color en cuatro celdas del tablero de forma tal que formen un cuadrado de dos celdas de lado.
6) Colocar bolitas en las celdas del tablero de forma tal que pueda leerse la palabra “HOLA”. (utilice para cada letra tres columnas, cinco filas y deje una columna en blanco entre letras)