Sei sulla pagina 1di 2

Ciclo 2018-I Ing.

Alberto Flor Rodríguez

Práctica Calificada – Construcción de Software II

1) Parte I
a) Problema 0: Instalación y configuración
Instala y configura adecuadamente el IDE de desarrollo ya sea Eclipse, NetBeans, etc.
b) Problema 1: Inicializar el repositorio

Importa cuidadosamente el código del proyecto que se trabajará en esta práctica.

c) Problema 2: Primera implementación con el método mayUseCodeInAssignment


i) Revisa el código contenido en RulesOf6005.java en el paquete rules. La tarea es implementar el
método:

mayUseCodeInAssignment(
boolean writtenByYourself, boolean availableToOthers,
boolean writtenAsCourseWork, boolean citingYourSource,
boolean implementationRequired)

ii) Una vez implementado el método, correr el método main en Rules6005.java.


iii) Correr las pruebas unitarias sobre este método.
iv) Añade tus propias pruebas y realiza las correcciones necesarias.
d) Problema 3: Realiza una copia del Repositorio en tu propia cuenta de GIT
2) Parte II: Turtle graphics y el lenguaje Logo
Logo es un lenguaje de programación desarrollado por MIT que originalmente fue utilizado para
mover un robot alrededor del espacio. Turtle Graphics, se agregó a Logo, permitiendo a los
programadores realizar una serie de comandos para que una “tortuga” dibuje su trayectoria.
En el resto de este laboratorio se utilizará una versión simple de Turtle Graphics para Java que
contiene un subconjunto restringido del lenguaje Logo:
 Forward(units): Mueve la tortuga en la dirección actual un número concreto de píxels,
donde units es un entero, siguiendo con la convención de Logo la tortuga inicia mirando
hacia arriba.
 Turn(degrees): Gira a la tortuga en un ángulo en dirección del reloj, donde degrees es un
número de precisión doble.

Puede revisar estas definiciones en la clase Turtle.java.

a) Problema 4: Revisa el código de la clase TurtleSoup.java en el paquete turtle.


La tarea es implementar el método drawSquare(Turtle turtle, int sideLength), utilice los métodos
mencionados en el punto anterior.
Una vez que ha terminado de implementar el método, corre la clase TurtleSoup.java y revisa el
Canvas.
b) Problemas 5 – 10: Para los siguientes ejercicios, NO debe cambiar las definiciones de los métodos a
implementar.
i) Dibuje Polígonos:
(1) Implemente el método calculateRegularPolygonAngle: el cual debe calcular los ángulos de
un polígono regular.
(2) Correr las pruebas en TurtleSoupTest: El método que evalúa a
calculateRegularPolygonAngle debe superar la prueba.

Construcción de Software II
Ciclo 2018-I Ing. Alberto Flor Rodríguez

(3) Implemente calculatePolygonSidesFromAngle: Esto vendría a ser el método inverso de la


última función.
(4) Implemente drawRegularPolygon: Utiliza el método calculateRegularPolygonAngle. Para
probar el funcionamiento, cambie en el método main la llamada a drawRegularPolygon y
verifica que funcione como espera.
ii) Cálculo de Dirección:
(1) Implemente calculateHeadingToPoint: Este método calcula el parámetro de giro para
poder llegar hacia un punto, con la dirección actual como parámetro adicional. Por
ejemplo, si la tortuga está en (0,1) direccionado a 30 grados, y debe llegar al (0,0), necesita
un giro adicional de 150 grados, así si se tiene calculateHeadingToPoint(30,0,1,0,0) debería
retornar 150.0.
(2) Implemente calculateHeadings: Asegúrese de utilizar calculateHeadingToPoint en este
método. Puede referirse a la documentación oficial de Java para entender el uso de la
interface java.utils.List. Recuerda que para una lista de n puntos, tendrás un total de n-1
ajustes de dirección, esta lista deberá ser utilizada como puntos guía para la tortuga en su
paso por cada punto. Por ejemplo, si las listas de ingreso fueran xCoords=[0,0,1,1] y
yCoords=[1,0,0,1] (que representan los puntos (0,1),(0,0),(1,0) y (1,1)), el valor de retorno
debería ser [180.0, 270.0, 270.0].
c) Problema 11: Arte Personal:
i) Implemente el método drawPersonalArt: en este método, tiene la libertad de dibujar cualquier
trayectoria que desee. Su trabajo será evaluado en la estética del gráfico y el código utilizado
para realizarlo. El arte no necesita ser muy complejo, pero debería ser más que utilizar unas
simples líneas. Utilice métodos de ayuda, loops, etc. En lugar de simplemente listar números y
asignar direcciones.
Únicamente para el método drawPersonalArt, puede utilizar el método color de Turtle para
cambiar el color del trazo. Utilice sólo los colores previstos. Tiene aquí algunos ejemplos de los
gráficos que puede trazar:

Construcción de Software II

Potrebbero piacerti anche