Computing">
AED1-TP1-Introducción A La Programación Mediante Programación Por Bloques
AED1-TP1-Introducción A La Programación Mediante Programación Por Bloques
AED1-TP1-Introducción A La Programación Mediante Programación Por Bloques
Objetivos:
1. Introducir a los alumnos en la utilización de metodologías y herramientas accesibles para aprender
conceptos de programación mediante actividades entretenidas y amenas, buscando fortalecer el
pensamiento computacional vinculado a la resolución de problemas.
2. Incorporar un marco conceptual que incluye dos grupos de conceptos técnicos: las herramientas
conceptuales y las del lenguaje, fundamentales y transversales a todos los paradigmas y lenguajes.
3. Consolidar un método de resolución de problemas para abordar la abstracción, descomposición en partes
y legibilidad en las soluciones que se proponen.
En esta actividad práctica se consolidarán las diferentes Los distintos desafíos (problemas) se resolverán
herramientas del lenguaje: utilizando un método de resolución de problemas que
- Primitivas (Instrucciones que el autómata sabe incorpora las herramientas conceptuales:
hacer) - Estrategia de solución y división en subtareas
- Procedimientos - Legibilidad (elección de nombres adecuados) y
- Repetición simple - Recorridos de algorítmica básica
- Alternativa condicional y
- Repetición condicional
1. PRIMITIVAS - PROCEDIMIENTOS
Objetivo: Introducir el concepto de orden o instrucción que un autómata (la computadora) debe realizar para
lograr un objetivo predefinido.
Objetivos:
- Comprender que un comando o primitiva es una acción que genera un efecto (reproducir un sonido, pintar
a una imagen, mover un objeto, etcétera) y que las secuencias de comandos permiten encadenar (o
componer) comandos de forma ordenada.
- Comprender que un programa es una secuencia de comandos y que ejecutar o correr un programa
consiste en hacer que el autómata produzca un efecto al interpretarlo.
- Organizar secuencias de comandos ajustadas a un fin específico.
- Distinguir entre instrucciones primitivas y procedimientos.
a) Descargar e instalar
La versión que se usará durante este curso es la 1.13.2a
Descargar el instalador de: https://tinyurl.com/PilasBloquesInstalador
Guía de Trabajos Prácticos 1
- Hacer clic en el ícono “Segundo Ciclo”, aparecerá la interfaz con los desafíos, que se muestra en la Fig. 3:
El desafío consiste en indicar la secuencia de acciones (programa) que logrará cumplir el objetivo. Para ello,
las primitivas se arrastran y se encastran en el bloque principal (ver Fig. 4).
Para comprobar el programa, se oprime el botón “Ejecutar”. Una vez realizada las acciones el botón se
convierte a “Reiniciar” (ver Fig. 5).
1.3. Procedimientos
Recordamos: Procedimiento: es un conjunto de primitivas expresadas en el orden adecuado para crear
una nueva tarea.
Ejercicio 1: Abrir la actividad El gato en la calle. Aparecerá la interfaz que se muestra en la Fig. 7.
La consigna es lograr que el gato avance, se acueste a dormir, se levante, salude y vuelva al inicio.
En este desafío, aparece otro componente de programación “Mis procedimientos”.
Un procedimiento permite crear bloques agrupando primitivas. Por ejemplo, podemos crear un procedimiento
Dormir, que agrupa acciones primitivas: Acostarse, Cerrar los Ojos, Soñar.
Solución propuesta:
La siguiente solución contempla la creación y utilización de los procedimientos Dormir y Despertar, como se
muestra en la Fig. 8
Ejercicio 2: Explorar otras actividades que el gato pueda realizar. Por ejemplo: saludar, avanzar, volver, saludar,
avanzar o avanzar, saludar, avanzar, saludar, volver. De este modo, observarán que distintas secuencias
producen resultados diferentes.
Como el ejercicio está pensado para ejercitar estas variantes, no tiene la leyenda de que se cumplió el objetivo.
Repasando:
Un comando o “primitiva” es una acción que genera un efecto.
Un programa es una secuencia de comandos.
Correr o ejecutar un programa es hacer que un autómata realice los comandos de un programa.
Se pueden definir nuevos bloques (procedimientos) para realizar secuencias específicas.
La denominación adecuada de los procedimientos contribuye a la legibilidad.
La definición de la estrategia y la división en tareas facilita la comprensión de la solución global.
2. REPETICIÓN SIMPLE
Para finalizar:
En un programa se pueden repetir secuencias de comandos tantas veces como sea necesario
Usar el bloque Repetir ayuda a generar programas más compactos y legibles.
En general, cuando un comando (o una secuencia de comandos) se repite se debe usar el bloque
Repetir.
En el casillero en blanco del bloque se indicará el número de veces que se deben repetir los
comandos.
La invocación a un procedimiento principal (bloque “Saltar 30 veces”) hace más legible la solución
que se busca.
Objetivos
- Ejercitar la resolución de problemas mediante programas.
- Establecer comparaciones entre las diversas maneras posibles de resolver un problema.
- Reforzar los conceptos de repetición y separación en procedimientos.
Para resolver los problemas planteados, es conveniente aplicar un método, que podrá ser aplicado
sistemáticamente. En primer lugar, es necesario determinar claramente el objetivo (qué se desea obtener
como resultado), y luego establecer una estrategia para lograrlo, expresándola en términos de subtareas o
módulos. Con esto se establece QUÉ hacer. Luego se procederá a indicar CÓMO se hace cada subtarea.
Ejercicio 2: Tito enciende las luces. Construya un programa en el cual Tito encienda todas las luces del
escenario (Fig. 11).
Solución propuesta:
Objetivo: Encender todas las luces
Estrategia:
• Ubicarse al inicio de la primera diagonal
• Encender luces de la diagonal
• Ubicarse al inicio de la segunda diagonal
• Encender luces de la diagonal
Se define un solo procedimiento un solo procedimiento para “encender la diagonal”, y dos
procedimientos diferentes para ubicar al autómata al inicio de cada diagonal.
El bloque Repetir se usa para repetir el conjunto de acciones o primitivas que se realiza más de una
vez (por ejemplo, para llegar a cada foco de la diagonal es necesario: Prender la luz, Mover a la
derecha, Mover arriba).
En este punto aparece el concepto de “patrón”, como secuencia de primitivas que se realizan más de
una vez. Es importante identificar estos patrones al analizar la estrategia que implementarán.
El principal objetivo de estas actividades lúdicas es incorporar un método de resolución de problemas que
sirva para asimilar con mayor facilidad la tarea de programar. El método consiste en la aplicación rigurosa de
los pasos que se muestran en la Tabla 1, aplicados a dos actividades ejemplos:
− Determinar el CÓMO
o las primitivas
o los procedimientos
o las repeticiones
➔ Codificar
Los ejercicios deben ser resueltos utilizando los conceptos dados, y aplicando el método de resolución de
problemas.
En la evaluación de las actividades realizadas por los alumnos, el docente tendrá en cuenta:
- Si definieron una estrategia previa,
- Si identificaron patrones (secuencias que se repiten),
- Si subdividieron la estrategia de solución en partes,
- Si esas partes (procedimientos) tienen un nombre adecuado (verbo en infinitivo indicado el propósito
del procedimiento),
- Si realizaron la verificación correspondiente.
3. ALTERNATIVA CONDICIONAL
3.1.1.ESCENARIOS CAMBIANTES
Objetivos
- Identificar los cambios que se producen en un escenario dado.
- Utilizar correctamente los comandos necesarios para ejecutar alternativas condicionales.
- Definir los programas adecuados a escenarios cambiantes.
- Establecer comparaciones entre las diversas maneras de resolver un problema.
- Reforzar los conceptos de separación en procedimientos.
- Definir los programas adecuados a escenarios cambiantes.
Resolver las siguientes actividades correspondientes a desafíos de PilasBloques:
Ejercicio 1: El mono y las bananas. Hacer que el mono coma la banana (si hay banana),
Ejecutar varias veces la actividad. Podemos ver que el escenario, en algunos casos muestra la banana y en
otros no. Decimos que tenemos un “escenario cambiante”.
Por tanto, la solución debe incluir la evaluación de la situación para hacer una cosa u otra de acuerdo a la
posición de los elementos del escenario.
Para manejar esto se utiliza el control Alternativa:
Este bloque ejecuta los comandos que contiene siempre y cuando se cumpla
la condición indicada por el Sensor, en este caso: ¿Hay banana acá?
Solución
propuesta:
Con esta explicación, continuar resolviendo las siguientes actividades correspondientes a desafíos de
PilasBloques:
Ejercicio 2: La elección del mono. Construya un programa en el cual el mono coma una manzana cuando hay
una manzana y que coma una banana cuando hay una banana.
Para resolver este ejercicio, no alcanza con el bloque SI, dado que son 2 frutas: banana o manzana, por tanto,
deben usar el control Si-sino
Gracias a la Alternativa condicional, la cual consta de dos partes: una condición y una acción. (Si se cumple la
condición, entonces será realizada la acción), podemos hacer que nuestro programa sea válido para escenarios
cambiantes.
Ejercicio 3: Tres naranjas Ejercicio 4: Tito recargado Ejercicio 5: El desierto multifrutal
4. REPETICIÓN CONDICIONAL
Este ítem, al igual que el anterior está enfocado en escenarios cambiantes. En este caso, la variación que debe
considerarse tiene que ver con secuencias cuya cantidad de elementos no es conocida de antemano: cada
escenario podrá tener diferente cantidad.
Objetivos
- Distinguir entre escenarios con secuencias de tamaño fijo y escenarios con secuencias de tamaño
variable.
- Comprender la noción de repetición condicional y reconocer las dos partes de las que consta toda
repetición condicional.
- Identificar la estructura de un problema y utilizar esa información para resolverlo.
Ejercicio 1: Súper Tito 1. El autómata (Tito) tiene que encender las luces de cada casilla hasta llegar al final.
Para determinar cómo es el escenario, primero hay que ejecutar varias veces la actividad.
Podemos observar que varía el número de celdas hasta llegar al final.
Para afrontar esta situación aparece un nuevo control, Repetir hasta que, que requiere no una cantidad fija
para repetir como antes sino un SENSOR que le indique la ocurrencia de un suceso, en este caso, si llegó al
final.
Se utiliza el control Repetir hasta que, que ejecutará las primitivas que se incluyen en el bloque (Prender Luz
y Mover abajo), hasta que, se cumpla la condición expresada por el sensor ¿Llegué al final?
Solución propuesta:
Iniciar recorrido: usualmente, posicionarse en el primer elemento, y realizar las inicializaciones que
correspondan.
Condición de fin de recorrido: condición que indique cuándo se acabaron los elementos a procesar.
Procesar elemento actual: el procesamiento propiamente dicho de un elemento por vez.
Pasar al siguiente elemento: la forma de pasar al siguiente elemento de la secuencia, si existe.
Finalizar recorrido: en los casos en que fuera necesario, retornar la información pedida, volver a
una posición dada, etc.
Actividades: Resolver estas actividades, recordando que deben aplicar el método de resolución de
problemas.
Ejercicio 2: Super Tito 2: Variante del anterior, el escenario presenta ahora algunas celdas sin luz.