Materia
Ejercicios


anterior | siguiente

Tarea 1: La Tortuga Constructora

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 desarrolar 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 que esta construya un edificio.

La tortuga y las funciones que la manejan se encuentran disponibles en el módulo Turtle de Python. (Revisa la documentación que hemos preparado).

El siguiente es un ejemplo del funcionamiento del programa:

    Ingrese costo del bloque de concreto: 500
    Ingrese costo del bloque de vidrio: 400
    Ingrese costo del bloque de tejado: 300
> CCCVVT
> CVCVCVT
> CCCVCVCT
> VVCCCT
    La torre ingresada no es válida
> CVCCCT
> CCT
>
    Altura de la torre más alta: 8
    El costo de constuir el edificio es: 13200

La imagen final resultante es la siguiente:

tareas/2013-1/../../_static/edificio-1.png

La tortuga cuenta con tres tipos de bloques de material para construir el edificio: \(Concreto\), \(Vidrio\) y \(Tejado\), los cuales en el programa se representan por las letras \(C\), \(V\) y \(T\), respectivamente (en mayúsculas).

Los materiales tienen una forma definida. El concreto tiene forma cuadrada con una equis al centro, el vidrio es un cuadrado y por último el tejado es un triángulo equilátero.

En la siguiente imagen se presenta la forma de los bloques:

tareas/2013-1/../../_static/formabloques.png

Ayuda: Recordar las propiedades geométricas de triángulos y cuadrados para la construcción de los bloques en \(Turtle\).

Qué hay que implementar

Al iniciar el programa se le solicitará al usuario el costo de los 3 bloques utilizados para la construcción del edificio. Luego el programa debe solicitar el ingreso de los bloques para comenzar la construcción del edificio. La forma de construir el edificio es por torres de bloques. El Usuario debe ingresar una cadena de valores (letras C, V y T) para que la tortuga construya una torre con dichos materiales. La secuencia ingresada será construida de manera vertical en el orden en que fue ingresada.

Por ejemplo, la secuencia CCCVCVCT indica que la torre está construida por 3 bloques de concreto, luego un bloque de vidrio, uno de concreto, uno de vidrio, uno de concreto y finalmente en la cima de la torre un bloque de tejado.

Para la construcción del edificio debe tener presente las siguientes restricciones:

  • La secuencia ingresada debe iniciar con un bloque de concreto, de lo contrario representa una torre inválida y no se construirá.
  • La secuencia ingresada debe terminar con un bloque de tejado y solo debe haber uno de estos bloques en la secuencia ingresada, de lo contrario representa una torre inválida y no se construirá.
  • Solo se pueden ingresar los valores asociados a los bloques de material, es decir, las letras C,V y T en mayúsculas. Cualquier otro valor ingresado representa una torre inválida y no se construirá.

En cualquiera de los casos anteriores la tortuga no debe moverse, se debe desplegar un mensaje indicando que la torre es inválida y solicitar una nueva secuencia, hasta que sea una secuencia válida.

Para terminar la construcción del edificio, el usuario debe ingresar una secuencia en blanco, (presionar enter solamente), ante lo cual la tortuga debe bajar hasta posicionarse bajo la primera torre que construyó. Finalmente el programa debe indicar:

  • Qué torre del edificio es la más alta (considere que todos los bloques tienen la misma altura y que cada bloque tiene una altura de 1). En caso de que no se haya construido ninguna torre la máxima altura a indicar es cero.
  • Indicar el costo asociado a la construciión del edificio, considerando el costo de cada bloque que se ingresó al inicio del programa.

Entrega

La fecha de entrega es el Jueves 18 de Abril 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.

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.