Está en la página 1de 15

M4 L3. Turtle.

Enunciados condicionales

Guías metodológicas.
Turtle. Enunciados condicionales
🚀TRAMA:
El departamento de policía local ha contactado a ProTeam. El jefe del departamento
necesita colocar cámaras en la calle para poder reconocer los objetos de la infraestructura
urbana; por ejemplo, señales de tráfico. Estos elementos del entorno deben ser representados en
el software.

Discutiendo el pedido, los desarrolladores han razonado que el módulo turtle y los
enunciados condicionales deben ser utilizados.

⚠️ RESUMEN:
El objetivo de la lección es estudiar y aplicar de manera práctica las capacidades del
módulo turtle en la renderización de los primitivos gráficos.

Durante la lección, los estudiantes repasan las funciones del módulo turtle y resuelven las
tareas de la trama para crear objetos del entorno usando un enunciado condicional.

💾 ENLACES Y ACCESORIOS:
- presentación para la lección;
- ejercicios en la plataforma: parte 1, parte 2.

🎯 RESULTADOS EDUCATIVOS DE LA LECCIÓN


Después de la lección, los estudiantes: El resultado se ha conseguido
cuando los estudiantes:

● establecerán el ángulo de rotación de turtle ● han participado en la discusión y


en grados y las coordenadas de un punto realizado preguntas de
para moverlo a una cierta distancia; aclaración;
● indicarán en la pantalla el punto de ● han propuesto soluciones para las
referencia del sistema de coordenadas de tareas que requieren el uso de
posicionamiento de turtle; una estructura algorítmica
● usarán las funciones forward(), left(), right(), condicional;
goto() para mover la tortuga; ● han listado las funciones del
● usarán las funciones pensize(), penup(), módulo turtle apropiadas para el
pendown(), speed() para establecer los renderizado de figuras;
parámetros del renderizado de las figuras; ● han realizado los ejercicios en la
● programarán estructuras algorítmicas plataforma;
condicionales para el renderizado de figuras ● han respondido las preguntas del
por un actor. maestro durante la etapa de
repaso.

ESTRUCTURA DE LECCIÓN RECOMENDADA


1
M4 L3. Turtle. Enunciados condicionales

Tiemp Etapa Objetivos de la etapa


o

5 min Trama. ❏ Establecer una tarea de la trama: programar un conjunto de


Discusión: objetos de entorno urbano que serán identificados por
"Renderizado de figuras cámaras y automóviles autónomos.
con el análisis de ❏ Llegar a la necesidad de analizar los datos del usuario usando
condición" un enunciado condicional.

10 min Competencias ❏ Recordar y repasar el material aprendido de los temas


"Módulo gráfico Turtle" y "Renderizado de figuras en ciclos".

10 min "Lluvia de ideas": ❏ Demostrar el renderizado de figuras diferentes dependiendo


"Renderizado de figuras de una cierta condición.
con el análisis de ❏ Analizar dos tareas de la trama:
condición" ❏ Llenar a la necesidad de usar un enunciado condicional y
crear diagramas de flujo;
❏ examinar el código de ejemplo del programa

20 min Plataforma: ❏ Organizar la finalización del ejercicio "Policía: tareas" en la


"Policía: tareas" plataforma.

5 min. Descanso ❏ Ayudar a recuperar la concentración.

10 min "Lluvia de ideas": ❏ Demostrar el renderizado de figuras diferentes dependiendo


"Renderizado de figuras de una cierta condición.
con el análisis de ❏ Analizar dos tareas de la trama:
condición" ❏ Llenar a la necesidad de usar un enunciado condicional
y crear diagramas de flujo;
❏ examinar el código de ejemplo del programa

25 min Plataforma: ❏ Organizar la finalización del ejercicio "Policía: tareas 2" en la


"Policía: tareas 2" plataforma.

5 min Fin de la lección. Reflexión ❏ Pasar una entrevista técnica sobre los temas de la sesión de
lluvia de ideas.
❏ Ofrecer un ejercicio adicional y "documentación" en la
plataforma.

2
M4 L3. Turtle. Enunciados condicionales

Trama. Discusión: "Renderizado de figuras con el análisis de condición"


(5 min.)

Abra la presentación. Los desarrolladores no necesitan computadoras todavía.

"¡Hola, colegas! Hemos recibido un pedido importante del departamento de policía de


nuestra ciudad. Pronto, un sistema de grabación de video de incidentes será instalado en
las calles. Para que funcione, deben añadir los objetos del entorno urbano a la base de
datos; por ejemplo, pueden ser edificios, señales de tráfico, emblemas de empresas
urbanas. Al mismo tiempo, el sistema debe conocer las propiedades del objeto; por
ejemplo, las diferentes luces del semáforo. ¿Están listos para realizar el pedido?"

Considere una tarea con un marcador que muestre la velocidad. En la imagen GIF,
demuestre que el actor renderiza objetos diferentes dependiendo de la velocidad ingresada.

Discuta el conjunto de herramientas requerido para resolver la tarea: ¿Qué comandos del
módulo turtle necesitarán para renderizar estas imágenes? ¿Qué debe hacerse para permitir que
el actor renderice objetos diferentes dependiendo de los datos ingresados?

Deberá llegar a la necesidad de utilizar un enunciado condicional. Resuma que muchas


tareas requieren la síntesis de varias herramientas a la vez; por ejemplo, un módulo gráfico y
estructuras algorítmicas.

Establezca un objetivo para el día y anuncie lo que necesitará realizarse.

Competencias
(10 min)

Organice la confirmación de competencias. Para el día actual de trabajo, nos basaremos en


los materiales de la lección anterior de la lluvia de ideas.

Sesión de lluvia de ideas: "Renderizado de figuras con el análisis de


condición"
(10 min)

Usando la presentación, hable sobre las formas para renderizar figuras diferentes
dependiendo de los datos recibidos. Señale que, aunque cada tarea puede ser completada de
varias maneras, los desarrolladores deben buscar la más simple.

Discuta la tarea que involucra el análisis de la velocidad del coche.

3
M4 L3. Turtle. Enunciados condicionales

● Pida a los desarrolladores que sugieran una forma para completar la tarea. ¿Cómo se
pueden mostrar las figuras diferentes usando un enunciado condicional? Intente crear
un algoritmo para completar la tarea.
● Examine el diagrama de flujo de búsqueda de la solución. Anime a los desarrolladores a
crear una función para renderizar los objetos.
● Demuestre un fragmento del programa de referencia (solo contiene parte de los
comandos para renderizar el signo de exclamación). ¿Fue posible usar otro tipo de
enunciado condicional (por ejemplo, if-else)? ¿Cómo cambiaría la estructura del
programa en este caso?

Realice preguntas de comprensión del código y pase a la siguiente tarea.

Discuta la tarea con la interfaz en modo noche y día. De igual manera, sugiera introducir
sus propias funciones para renderizar los objetos gráficos y moverlos en ramas diferentes del
enunciado condicional. Tenga en cuenta que es posible usar un enunciado condicional con varias
ramas (if-elif-else) y, por ejemplo, renderizar el Sol y terminar el programa después de obtener la
hora del "Día".

Haga preguntas para verificar si los niños entienden cómo funciona el programa y
procedan a completar la tarea de la trama en la plataforma.

Plataforma: "Policía: tareas"


(20 min)

Organice a los niños para que realicen ejercicios de renderización en la plataforma.


Recuerde a los desarrolladores que la función hideturtle() se requiere en el nivel de comprobación
automática. En algunas tareas no hay comprobación automática (en este caso, una notificación
de inicio aparecerá).

Puede encontrar respuestas a los ejercicios al final de las guías metodológicas.

4
M4 L3. Turtle. Enunciados condicionales

Descanso
(5 min.)

Pida a los desarrolladores que apaguen sus computadoras. El propósito del descanso es
redirigir su atención y calentar. Organice una de las actividades físicas sugeridas.

Sesión de lluvia de ideas: "Renderizado de figuras con el análisis de


condición"
(10 min)

Siga discutiendo las tareas de renderizar figuras con el uso del enunciado condicional y la
creación de funciones. Tenga en cuenta que los desarrolladores están lidiando con tareas no
rutinarias y, probablemente, la administración de ProTeam debería considerar su transferencia a
una nueva posición (desarrollador en vez de desarrollador junior).

Discuta la tarea de rellenar la base de datos de objetos urbanos con el contorno del
edificio administrativo. Formule la idea de la solución y compárela con el diagrama de flujo
propuesto por el desarrollador Colin. Muestre que ambas vallas pueden ser renderizadas usando
la misma función (el color de la valla puede ser transmitido como un argumento). Discuta el
código del ejemplo, realice preguntas de comprensión sobre el programa y proceda a la tarea
siguiente.

De igual manera, discuta la tarea con un patrón de base cuadrada. Al discutir una posible
solución, señale que crear una función que renderice un cuadrado con un color y una longitud de
lado predefinida simplifica significativamente el programa. Haga preguntas para verificar si los
niños entienden cómo funciona el programa y procedan a completar la tarea de la trama en la
plataforma.

5
M4 L3. Turtle. Enunciados condicionales

Plataforma: "Policía: tareas 2"


(25 min)

Organice a los niños para que realicen ejercicios de renderización en la plataforma.


Recuerde a los desarrolladores que la función hideturtle() se requiere en el nivel de comprobación
automática. En algunas tareas no hay comprobación automática (en este caso, una notificación
de inicio aparecerá).

Puede encontrar respuestas a los ejercicios al final de las guías metodológicas.

Fin del día de trabajo. Reflexión


(5 min.)

Use la presentación para resumir el día de trabajo. Realice una entrevista técnica con las
preguntas de los materiales de la sesión de lluvia de ideas.

Ofrezca ejercicios extra para mejorar la eficiencia y la documentación teórica.

6
M4 L3. Turtle. Enunciados condicionales

Respuestas de ejercicios

Tarea 1. "Policía: tareas"


1.1. Coincidencia correcta:

1.2. Texto de programa correcto.

from turtle import *


def star ():
pensize(2)
color("red")
begin_fill()
for i in range(5):
forward(100)
left(144)
end_fill()
star()
hideturtle()
exitonclick()

1.3. Texto de programa:

from turtle import *


pensize(2)
color("red")
begin_fill()
circle(50)

7
M4 L3. Turtle. Enunciados condicionales

end_fill()
goto(-32,37)
color("white")
begin_fill()
forward(65)
left(90)
forward(20)
left(90)
forward(65)
left(90)
forward(20)
end_fill()
hideturtle()
exitonclick()

1.4. Texto de programa:

from turtle import *


def day():
pensize(2)
color("yellow")
begin_fill()
for i in range(18):
forward(100)
left(100)
end_fill()

def night():
pensize(2)
color("bisque")
begin_fill()
circle(50)
end_fill()

answer = input("¿Qué hora del día es ahora (día/noche)?")


if answer == "día":
day()
if answer == "noche":
night()
hideturtle()
exitonclick()

Bonificación 1. Opción de respuesta correcta:

8
M4 L3. Turtle. Enunciados condicionales

Bonificación 2. Texto de programa:


from turtle import *

def speed_ok():
color("green")
begin_fill()
circle(50)
end_fill()

def speed_over():
color("red")
penup()
goto(0,-70)
pendown()
begin_fill()
circle(18)
end_fill()

penup()
goto(-10,-10)
pendown()
begin_fill()
forward(20)
left(80)
forward(100)
left(100)
forward(55)
left(100)
forward(100)
end_fill()

speed = int(input("Ingresar la velocidad del transporte:"))


if speed <= 60:
speed_ok()

9
M4 L3. Turtle. Enunciados condicionales

if speed > 60:


speed_over()
hideturtle()
exitonclick()

Ejercicio 2. "Policía: tareas 2"


2.1. Coincidencia correcta:

2.2. Texto de programa:


from turtle import *

def fence_link():
pensize(2)
color("black","orange")
begin_fill()
left(90)
forward(100)
right(30)
forward(42)
right(120)
forward(42)
right(30)
forward(100)
right(90)
forward(42)
left(180)

10
M4 L3. Turtle. Enunciados condicionales

end_fill()

penup()
goto(-150,0)
pendown()
for i in range(6):
fence_link()
forward(42)

hideturtle()
exitonclick()

2.3. Texto de programa:


from turtle import *
def fence(color_f):
color(color_f)
pensize(3)
penup()
goto(-215, 0)
pendown()
for i in range(4):
left(90)
forward(50)
right(90)
forward(25)
left(90)
forward(50)
right(90)
forward(25)
right(90)
forward(50)
left(90)
forward(25)
right(90)
forward(50)
left(90)
forward(25)

answer = input("Ingresar el edificio: el edificio principal/recepción para los residentes")


if answer == "edificio principal":
fence("blue")
if answer == "recepción para los residentes":
fence("green")
hideturtle()
exitonclick()

2.4. Texto de programa:

11
M4 L3. Turtle. Enunciados condicionales

from turtle import *


def red_light_on():
color("red")
penup()
goto(0,100)
pendown()
begin_fill()
circle(35)
end_fill()
def red_light_off():
color("red")
penup()
goto(0,100)
pendown()
circle(35)
def yellow_light_on():
color("yellow")
penup()
goto(0,0)
pendown()
begin_fill()
circle(35)
end_fill()
def yellow_light_off():
color("yellow")
penup()
goto(0,0)
pendown()
circle(35)
def green_light_on():
color("green")
penup()
goto(0,-100)
pendown()
begin_fill()
circle(35)
end_fill()
def green_light_off():
color("green")
penup()
goto(0,-100)
pendown()
circle(35)
answer = input("¿Qué luz del semáforo hay ahora, rojo/amarillo/verde")
if answer == "rojo":
red_light_on()
yellow_light_off()
green_light_off()

12
M4 L3. Turtle. Enunciados condicionales

if answer == "amarillo":
red_light_off()
yellow_light_on()
green_light_off()
if answer == "verde":
red_light_off()
yellow_light_off()
green_light_on()
hideturtle()
exitonclick()

Bonificación 1. Texto de programa:

from turtle import *


penup()
goto(0,-150)
pendown()
color("brown")
pensize(20)
left(90)
forward(200)

pensize(10)
length = 10
color("green")
for i in range(26):
forward(length)
length = length + 5
left(90)
hideturtle()
exitonclick()

Ejercicio adicional "Policía: tareas adicionales"

1.1. Coincidencia correcta:

13
M4 L3. Turtle. Enunciados condicionales

1.2. Programa libre de errores:

from turtle import*


def pizza():
color("black","orange")
begin_fill()
left(60)
forward(160)
right(108)
forward(100)
right(108)
forward(160)
end_fill()

def pepperoni():
begin_fill()
color("black","salmon")
circle(10)
end_fill()

pensize(2)
penup()
goto(-50,-30)
pendown()
pizza()
penup()

14
M4 L3. Turtle. Enunciados condicionales

goto(-10,15)
pendown()
pepperoni()
penup()
goto(45,40)
pendown()
pepperoni()
penup()
goto(20,65)
pendown()
pepperoni()

hideturtle()
exitonclick()

1.3. Texto de programa:

from turtle import*


pensize(15)
color("red")
circle(70)

penup()
goto(-35,45)
pendown()
color("black")
write("60",font=('Arial', 50, 'normal'))

hideturtle()
exitonclick()

15

También podría gustarte