Materia
Ejercicios


Tarea 1: La Tortuga Pintora

Objetivos de aprendizaje

Después de resolver la tarea 1, usted será capaz de:

  • Imprementar un programa que requiera de entradas y salidas.
  • Diseñar e implementar programas simples usando algunas sentencias elementales de Python (asignaciones, if, for y while).
  • Entender el proceso de desarrollar y probar un programa en el computador usando las herramientas de desarrollo del lenguaje (intérprete, consola, IDE).
  • Usar el módulo Turtle para hacer dibujos sencillos.

Enunciado

La tarea consiste en desarrollar un programa que permita dar instrucciones a una tortuga con el objetivo de que esta realice ilustraciones a color. La tortuga y las funciones que la manejan se encuentran disponibles en el módulo Turtle de Python. Para ello será necesario importar el módulo (revisa la documentación que hemos preparado).

El siguiente es un ejemplo del funcionamiento del programa:

../../_images/mario.png

La imagen final resultante es:

../../_images/mario_image.png

Para realizar sus pinturas, la tortuga cuenta con tres tipos de rectángulos cuyas dimensiones y color pueden ser definidos por el usuario (por medio de un menú de consola) antes de ingresar su dibujo. Los distintos tipos de rectángulos se representan en el programa con las letras A, B, y C (en mayúsculas). Además, si se ingresa la tecla espacio en la secuencia de entrada, la tortuga deja un rectángulo sin pintar, quedando así del mismo color que el lienzo.

Qué hay que implementar

Al iniciar el programa se mostrará un menú de opciones al usuario. Desde este menú, el usuario podrá seleccionar una de las 4 opciones que se listan a continuación:

  1. Ingresar dibujo
  2. Modificar colores
  3. Modificar dimensiones de los rectangulos
  4. Salir

La opción 1 permite que el usuario ingrese secuencias compuestas de las letras A, B, C y espacios, para que la tortuga pinte con los colores correspondientes. El programa sólo debe admitir estos caracteres en las secuencias, cualquier secuencia que contenga un caracter distinto a los mencionados debe ser ignorada. Antes de ingresar las secuencias, debe asegurarse de borrar cualquier dibujo hecho con anterioridad. (revise la documentación).

La opción 2 pregunta al usuario los 3 colores a utilizar. Los colores pueden ser ingresados por nombre o por su valor en representación hexadecimal. Usted debe proporcionar colores por defecto en caso de que el usuario no los ingrese.

La función color(c) del módulo turtle admite varias formas de representación de colores. Entre ellas los colores con nombre y la representación hexadecimal.

  • Colores con nombre: pueden ser ingresados como string con su nombre. Para ver una lista de colores con sus respectivos nombres haga clic aquí
  • Colores en representación hexadecimal: pueden ser ingresados como un string de la forma #XXYYZZ donde cada par de caracteres corresponde a un número hexadecimal de 8 bits que varia entre 0 y FF. Existen numerosas aplicaciones web que permiten seleccionar colores con el mouse y entregan su representación hexadecimal. Para obtener el color en su respectiva representación hexadecimal haga clic aquí
Menu principal

    1) Ingresar dibujo.
    2) Modificar colores.
    3) Modificar dimensiones de los rectangulos
    4) Salir.

    Ingrese una opción: 2
    Ingrese la paleta de colores:
    Color A: red4
    Color B: goldenrod1
    Color c: gold4

La opción 3 permite que el usuario elija las dimensiones de los rectángulos que utiliza la tortuga para pintar. Usted debe proporcionar dimensiones por defecto en caso que el usuario no las ingrese.

Menu principal

    1) Ingresar dibujo.
    2) Modificar colores.
    3) Modificar dimensiones de los rectangulos
    4) Salir.

    Ingrese una opcion: 3
    Ingrese las dimensiones de los rectangulos (numeros enteros).
    Ancho: 5
    Alto: 5

La opción 4 termina la ejecución del programa.

Además de aparecer al comienzo, el menú debe volver a mostrarse cada vez que se termine de realizar una de sus opciones. Entonces la única forma de terminar el programa (además de cerrar la ventana), debería ser la opción 4.

Para terminar el dibujo, el usuario debe ingresar una secuencia en blanco (sólo presionar la tecla Enter), ante lo cual la tortuga deberá ubicarse bajo el dibujo. Finalmente, el programa debe indicar los colores y el porcentaje de rectángulos de cada color usados en el dibujo (sin contar los espacios).

Ayuda

Te recomendamos hacerte miembro del grupo facebook Tarea 1: La tortuga pintora. Ahí te encontrarás con ayudantes que podrán resolver tus dudas.

Entrega

La fecha de entrega es el Sábado 19 de Octubre a las 23:00 hrs.

La tarea debe ser resuelta en equipos de dos o tres personas, de lo contrario habrá penalización en la nota.

Sólo uno de los integrantes del equipo debe subir la tarea en la sección Aula Virtual de la plataforma Moodle, ingresando al campus que corresponda. ¡No la suba a la sección de su paralelo!

Se debe entregar un archivo con el nombre tarea-1-RUT.py, reemplazando RUT por el RUT del integrante que subirá la tarea. Sólo debe ir el RUT sin el dígito verificador.

Por ejemplo: tarea-1-18000123.py.

Al principio del archivo se debe poner un comentario indicando los RUT de los integrantes del equipo, como en el siguiente ejemplo:

# Integrantes:
# 18000123-0 Perico Los Palotes
# 18000456-7 Fulanita de Tal
# 18000890-k Federico Santa Maria

No se puede subir ningún archivo adicional.

Evite dejar para última hora la entrega de la tarea. Cerca del plazo final, la plataforma seguramente estará sobrecargada.

No se recibirá tareas fuera de plazo, ni por correo electrónico.

Nota

Inscripción para obtener la nota de las tareas

  • Recuerde que para que todos los miembros del equipo sean evaluados, deben estar matriculados en “Alumnos de CAMPUS” (donde CAMPUS es el campus al cual usted pertenece).

Políticas de copia

Usted puede discutir la tarea con compañeros de otros grupos, pero bajo ningún motivo puede compartir o copiar el código de su tarea. Cada equipo debe escribir su propio código.

Las políticas de copia de la asignatura rigen para la tarea.

En caso de tener problemas con el desarrollo de la tarea, consulte a su profesor o asista a las ayudantías.