Anda di halaman 1dari 34

E.E.S.T. N 2 ALTE.

BROWN

TALLER:
LABORATORIO DE PROGRAMACIN I

Prof.: Jorge GAGLIARDI Susana MELGAREJO EXPECTATIVAS DE LOGRO

EXPECTATIVAS DE LOGRO DEL TALLER


Comprender el concepto de programa. Poseer dominio del pensamiento algortmico. Comprender la utilidad de documentar un programa. Estimular y valorar el trabajo en equipo y la ayuda solidaria entre pares. Valorar la correcta expresin oral y escrita como forma de comunicacin.

Qu es el pensamiento algortmico?

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 descripcin del desarrollo de una actividad.


Ejemplo: Quiero programar un viaje para conocer la mesopotamia en mis prximas vacaciones. Cmo se programa con la computadora? A travs de un lenguaje de computacin

Utilizando un lenguaje de computacin es posible realizar la descripcin de una actividad. IMPORTANTE: Todo programa debe contener un propsito (debe hacer algo). Existen dos tipos de lenguajes de programacin:

Lenguajes industriales de propsito general.


Lenguajes especficos para la enseanza de la programacin.

Dado que una de las expectativas de logro, la principal, es dominar el pensamiento algortmico. Y que, para dominarlo, es primordial utilizar un lenguaje de programacin.

Y que el pensamiento algortmico es independiente del lenguaje de programacin que se utilice.


En el Taller vamos a utilizar un lenguaje especfico para la enseanza de la programacin. Una vez que se domine el pensamiento algortmico se podr aplicar los conceptos adquiridos a cualquier lenguaje o herramienta de programacin.

El lenguaje de programacin a utilizar en el curso ser:

GOBSTONES

Caractersticas del lenguaje Gobstones Lenguaje diseado para ensear los fundamentos bsicos.
Cimientos sobre los que se construyen conocimientos posteriores.

Simple y minimalista.
Sintaxis clara sin construcciones redundantes.

Turing completo.
Mismo poder computacional que cualquier lenguaje comercial.

Con buena separacin de conceptos.


Cada concepto aparece diferenciado del resto.

Denotacional.
Busca construir pensamiento abstracto sobre elementos concretos.

Gobstones Ventajas: Pensado para aprender a programar.

Fcil de empezar a programar.


De lo concreto a lo abstracto.

Desventajas:
No es aplicable industrialmente. No existe, an, mucha bibliografa. Es una herramienta en evolucin.
(aparecern nuevas versiones con mejoras)

LENGUAJE DE PROGRAMACIN

GOBSTONES Elementos que lo componen:


Tablero de n filas y m columnas.
Donde n y m pueden ser cualquier nmero 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
Cabezal Casillero o celda resaltada.

5 filas

Bolita de color Verde

2
9 columnas Indica que en el casillero o celda hay 2 bolitas de color Verde.

En cada casillero o celda puede haber muchas bolitas del mismo color.

TABLERO DE GOBSTONES
COLOCAR BOLITAS DENTRO DE UN CASILLERO (O CELDA)

Azul Negro Rojo Verde


Ubicar el mouse en la esquina del casillero (o celda) segn el color de la bolita a colocar. Pulsar el botn izquierdo del mouse para agregar una bolita del color elegido. Para agregar ms bolitas volver a pulsar dicho botn.

TABLERO DE GOBSTONES
SACAR BOLITAS DE UN CASILLERO (O CELDA)

Azul Negro Rojo Verde


Ubicar el mouse en la esquina del casillero (o celda) segn el color de la bolita a sacar. Pulsar el botn derecho del mouse para sacar una bolita del color elegido. Para sacar ms bolitas volver a pulsar dicho botn.

TABLERO DE GOBSTONES
DESPLAZAMIENTO POR EL TABLERO

Para desplazarse por el tablero utilice las flechas del teclado.

O
S

PROGRAMA GOBSTONES Todo programa GOBSTONES est formado por un texto que describe cmo transformar un tablero inicial en un tablero final. Ejemplo: Transformar un tablero vaco en uno que contenga un cartel de bienvenida. TABLERO INICIAL

PROGRAMA GOBSTONES

TABLERO FINAL

COMANDOS BSICOS DE GOBSTONES Poner ( )


Ejemplo:

Pone 1 bolita del color que se indica entre parntesis en la celda donde est posicionado el cabezal. Pone 1 bolita roja en la celda donde est posicionado el cabezal, Mueve el cabezal un casillero (o celda) hacia la derecha, izquierda, arriba o abajo. La direccin del movimiento est dado por el punto cardinal que le corresponde.

Poner (Rojo)

Mover ( )

Ejemplo:

Mover (Este)

Mueve el cabezal un casillero O (o celda) hacia la derecha.

E S

DERECHA IZQUIERDA ARRIBA ABAJO

-> -> -> ->

Este Oeste Norte Sur

BLOQUE DE COMANDOS Un bloque de comandos est formado por una secuencia de comandos separados por un salto de lnea o por ;. Los bloques deben estar delimitados al comienzo y al final por llaves.

Sintaxis:
Bloque = { comando1 ; comando2 ; etc. }

BLOQUE DE COMANDOS o Bloque = {

comando1 comando2 etc. }

Ejemplo:
Disear un bloque que coloque una bolita de cada color en la celda actual.

BLOQUE DE COMANDOS Disear 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) } Poner (Azul) Poner(Negro) Poner(Rojo) ; Poner(Verde) }

o {

BLOQUES EQUIVALENTES Son aquellos bloques que resuelven el mismo problema codificados de distinta manera. Tambin sera otro bloque equivalente el siguiente:
{ Poner (Verde) ; Poner(Rojo) ; Poner(Azul) ; Poner(Negro) }

Por lo tanto EXISTEN INFINITAS FORMAS DE RESOLVER CADA PROBLEMA!

Entonces Cmo 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 codificacin (si existen varios).

En nuestro ejemplo la codificacin completa en Gobstones sera: procedure Main() { Poner (Azul) Poner(Negro) Poner(Rojo) Poner(Verde) }

Significa: PRINCIPAL

Ya estara terminada la codificacin del problema. Prximo paso: chequear si todo est bien escrito

Qu significa:

chequear si todo est bien escrito ?

Que todo est bien escrito para que la computadora lo entienda.


O sea que la sintaxis sea correcta. Todo debe ser escrito correctamente, segn las pautas seguidas por el lenguaje Gobstones.

El chequeo de la sintaxis en la codificacin de un programa en Gobstones se realiza en el entorno de trabajo, accediendo en el men a la opcin Gobstones y dentro de esta accediendo al submen Chequear o directamente pulsando la Tecla F10.

Si el chequeo muestra errores de codificacin debern ser corregidos y vuelto a chequear la codificacin del programa.
Si el chequeo da por resultado: El programa est bien formado. El programa est listo para ser ejecutado. !!!

Recordad !!! Para que la ejecucin sea satisfactoria el programa deber cumplir con el propsito establecido. Recordad !!! La ejecucin del programa transforma un tablero inicial en un tablero final.

CUIDADOS A TENER EN CUENTA AL ESCRIBIR UN PROGRAMA EN GOBSTONES


colocar en minscula colocar delimitadores del bloque

procedure Main() { Poner (Azul) Poner(Negro) Poner(Rojo) Poner(Verde) }

colocar en maysculas

Y, por supuesto, escribir todo CORRECTAMENTE!!!


procedure, Main(), Poner, Azul, Negro, Rojo y Verde.

Antes de ejecutar el programa

pensemos

Slo la computadora deber entender nuestra codificacin?

NO

Tambin es importantsimo 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 cdigo 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 propsito del mismo y describiendo los pasos realizados. (*) Adoptar y utilizar un estilo al describir el programa.
(*) La documentacin es imprescindible para que el desarrollo del programa pueda ser compartido por todos los integrantes del equipo.

Cmo se documentan los programas en Gobstones? La documentacin puede realizarse a travs de comentarios. Existen dos tipos de comentarios:

de una lnea
se colocan los caracteres // en la misma lnea del comando y luego el comentario.

Ejemplo:
Poner(Rojo) // pone una bolita de color rojo.

de varias lneas se colocan los caracteres /* al comienzo de la primer lnea 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)

Cmo se documenta la codificacin? Un primer avance en este tema consiste en colocar al comienzo del programa el propsito del mismo. O sea, lo que el programa debe hacer y para el cual fue realizado.

El propsito se manifiesta a travs de un comentario multilneal.


Ejemplo: /* Propsito: colocar una bolita de color rojo en la celda actual */

Qu significa escribir con estilo? Escribir con estilo significa respetar pautas al codificar. Desarrollar una codificacin prolija, clara, entendible por todos. Homognea. Coherente. Ejemplos: Utilizar sangras a fin de clarificar la ubicacin de los bloques. Documentar el programa colocando comentarios adecuados. Ser homogneo 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 estn 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)