laboratorio de programacion i - clase 1

34
TALLER: LABORATORIO DE PROGRAMACIÓN I Prof.: Jorge GAGLIARDI Susana MELGAREJO •EXPECTATIVAS DE LOGRO E.E.S.T. N° 2 – ALTE. BROWN

Upload: infocemif

Post on 16-Feb-2015

341 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Laboratorio de Programacion I - Clase 1

TALLER: LABORATORIO DE PROGRAMACIÓN I

Prof.: Jorge GAGLIARDI Susana MELGAREJO

• EXPECTATIVAS DE LOGRO

E.E.S.T. N° 2 – ALTE. BROWN

Page 2: Laboratorio de Programacion I - Clase 1

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.

Page 3: Laboratorio de Programacion I - Clase 1

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

Page 4: Laboratorio de Programacion I - Clase 1

¿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

Page 5: Laboratorio de Programacion I - Clase 1

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.

Page 6: Laboratorio de Programacion I - Clase 1

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.

Page 7: Laboratorio de Programacion I - Clase 1

El lenguaje de programación a utilizar en el curso será:

GOBSTONES

Page 8: Laboratorio de Programacion I - Clase 1

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.

Page 9: Laboratorio de Programacion I - Clase 1

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)

Page 10: Laboratorio de Programacion I - Clase 1

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.

Page 11: Laboratorio de Programacion I - Clase 1

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.

Page 12: Laboratorio de Programacion I - Clase 1

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.

Page 13: Laboratorio de Programacion I - Clase 1

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.

Page 14: Laboratorio de Programacion I - Clase 1

TABLERO DE GOBSTONESDESPLAZAMIENTO POR EL TABLERO

Para desplazarse por el tablero utilice las flechas del teclado.

N

S

EO

Page 15: Laboratorio de Programacion I - Clase 1

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+ =

Page 16: Laboratorio de Programacion I - Clase 1

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

Page 17: Laboratorio de Programacion I - Clase 1

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

Page 18: Laboratorio de Programacion I - Clase 1

BLOQUE DE COMANDOSoBloque = { comando1

comando2etc. }

Ejemplo:

Diseñar un bloque que coloque una bolita de cada color en la celda actual.

Page 19: Laboratorio de Programacion I - Clase 1

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

Page 20: Laboratorio de Programacion I - Clase 1

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!

Page 21: Laboratorio de Programacion I - Clase 1

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

Page 22: Laboratorio de Programacion I - Clase 1

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

Page 23: Laboratorio de Programacion I - Clase 1

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

Page 24: Laboratorio de Programacion I - Clase 1

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

Page 25: Laboratorio de Programacion I - Clase 1

¡¡¡ 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”.

Page 26: Laboratorio de Programacion I - Clase 1

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.

Page 27: Laboratorio de Programacion I - Clase 1

pensemos …

Antes de ejecutar el programa…

Page 28: Laboratorio de Programacion I - Clase 1

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

Page 29: Laboratorio de Programacion I - Clase 1

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.

Page 30: Laboratorio de Programacion I - Clase 1

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

Page 31: Laboratorio de Programacion I - Clase 1

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)

Page 32: Laboratorio de Programacion I - Clase 1

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

Page 33: Laboratorio de Programacion I - Clase 1

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

Page 34: Laboratorio de Programacion I - Clase 1

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)