Después de resolver la Tarea 1, usted será capaz de:
La tarea consiste en desarrollar un programa que sirva de ayuda para los futuros astrónomos que visitarán nuestro país, quienes disponen de la información de las constelaciones (posición inicial y tamaño de los lados). Tu deber es ayudarlos a descifrar la información que ellos poseen dibujando las constelaciones en el plano polar del hemisferio norte y obtener la distancia a la cual se ubica una constelación de otra. Para lograr esto deberán apoyarse en el módulo Turtle de Python.
Su misión consiste en desempaquetar un String que contiene toda la información de las constelaciones. El String tiene la siguiente forma:
Los primeros caracteres indican la posición inicial en donde se debe comenzar a dibujar la constelación, cumpliéndose que, cada String contiene el caracter x y a continuación el valor asociado (valor entero), luego se tiene el caracter y seguido de su respectivo valor. Los valores anteriores indican la posición en donde comienza la constelación, en los eje coordenados x e y.
Luego en el String vienen las instrucciones que se deben seguir para dibujar la constelación. Dentro de estas instrucciones se pueden encontrar los caracteres r, l y c seguidos de sus respectivos valores (enteros), los cuales, dependiendo del caracter que los antecede, indican:
- r girar a la derecha cierto ángulo (de acuerdo al valor que lo acompaña).
- l girar a la izquierda cierto ángulo (de acuerdo al valor que lo acompaña).
- c indica que se debe trazar una recta cuyo largo depende del valor que lo acompaña (en pixeles).
Un ejemplo con la estructura antes mencionada es:
El programa debe ser capaz de reconocer al menos 4 de las siguientes constelaciones (para la revisión se puede ingresar cualquiera de estas constelaciones y el programa debiera ser capaz de graficarlas en el plano)
leo = "x320y25r62c95l5c46r142c50r110c33x320y25l186c28l36c24r49c19r61c29r75c15"
cancer = "x200y0l70c63r35c33l180c33r110c59"
canisminor = "x146y140l29c25"
osamenor = "x-2y-232r74c41l40c26l25c28r84c16r94c31r99c17"
aries = "x-235y41r54c9l40c19l54c76"
cepheus = "x-128y-237r47c49r112c41r70c55r118c43r5c63r131c54"
cassioppeia = "x-102y-147r181c24l60c18r68c24l105c26"
canismajor = "x70y344r12c56r36c20l80c23l180c23l20c55r70c31r180c31r1c26"
gemini = "x142y38r138c20r89c63l9c27l25c9l22c12x142y38r76c42l30c20r8c38r87c18"
auriga = "x-10y-23r50c54l136c48l102c38r80c64r69c38r93c54r41c38"
piscis = "x-256y127r99c44l7c40r5c42l48c18l15c14r44c20x-256y127r56c12l15c19r14c17l3c39r17c19l9c66r4c26r103c25l118c18l26c25l94c19l76c21"
No desaprovechen el tiempo e intenten avanzar cada vez que puedan y crean sea necesario. Pueden revisar la documentación que hemos preparado para ustedes sobre el módulo Turtle y sus funciones.
La fecha de entrega es el Miércoles 6 de Abril a las 23:00 hrs, vía Aula.
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 Tareas de la plataforma Aula, ingresando al campus que corresponda.
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.
Se recibirán tareas con un máximo de 1 día de retraso (este día de retraso tiene descuentos, ver Rúbrica de evaluación), fuera de este plazo, no se recibirán tareas. No se recibirán tareas por correo electrónico.
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, asista a las ayudantías o consulte en el grupo de facebook.