Está en la página 1de 9

EPyL - Primer Instancia de Evaluación de Programación

Trabajo Práctico Grupal


Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi

Forma de trabajo
El trabajo práctico (TP) es grupal, por lo tanto los 3/2 integrantes serán evaluados. En el
caso de que algún integrante no participa o abandone la materia, en el coloquio que es
individual esto se termina por definir.

El TP se realizará fuera del horario de clase, mientras que las consultas respecto de éste se
canalizarán al correo personal del docente, o por el medio que el mismo disponga para las
consultas.

Tengan en cuenta que se pueden dividir las tareas, para llegar en tiempo y forma a la
fecha de entrega, pero que todos deben comprender las soluciones entregadas, ya
que en el coloquio cualquiera debería poder defenderlo.

Forma de entrega
La entrega del TP es grupal. Es decir, solo uno de los integrantes deberá subir los archivos
a la Tarea del Campus correspondiente a su grupo (el nombre de la tarea identifica al
grupo).

- Deberá entregar un archivo por cada ejercicio dado en el TP.


- Los archivos tiene que ser .PDF
- Incluir en la primer hoja del primer archivo una carátula con el Nombre y Apellido,
DNI y nro de grupo que corresponda.
- Una vez adjuntado los archivos en la Tarea, realizar clic en el botón “Enviar Tarea”
- Tenga en cuenta la fecha y hora límite de entrega de la tarea que figura en el
Campus. Pasado ese tiempo no se recibirán TPs y quedarán como Ausentes.

A modo de ejemplo, la entrega debería figurar como:

Hoja 1 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi

Criterios de corrección
Es importante utilizar los buenos criterios de programación a la hora de escribir nuestro
código. Los siguientes puntos se tendrán en cuenta para la corrección del TP, por lo que
sugerimos que

● Estructurar sólidamente sus razonamientos. La descripción de su solución (código)


tiene que cumplir con la solución del problema planteado.
● Realizar un análisis criterioso y dividir adecuadamente sus tareas.
● Comunicar de forma clara y simple con nombres representativos y descriptivos.
● Utilizar comentarios, Propósitos y precondiciones (en los casos que son necesarios).
● Usar indentación en el código.
● Estar atentos a la reutilización de código para simplificar.
● Uso adecuado de la sintaxis: Instrucciones y utilizar correctamente las estructuras
de: repetición - condicional - procedimientos - programas.
● Usar adecuadamente Operadores lógicos
● Testea / revisa para no tener errores lógicos u errores en tu código

Hoja 2 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi

Consignas

Ejercicio 1
Vasili Kandinsky (1866-1944) fue un pintor ruso, precursor de la abstracción en pintura, y
teórico del arte. Teorizó sobre el punto, la línea y el plano; considerando a estos como los
tres elementos primarios de la imagen.

Se pide que realice un programa que dibuje este cuadro. El programa debe ser realizado
siguiendo los buenos criterios de programación aprendidos en la materia. Puede empezar y
terminar de pintar en cualquier celda que desee, y pueden no ser la misma celda.

Hoja 3 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi

Ejercicio 2

Se pide definir el procedimiento DetectarTresEnLineaVerticalRojo(), el mismo deberá


recorrer un tablero como el del dibujo (6x3) buscando tres en línea, tres celdas rojas
alineadas verticalmente, y una vez que las encuentre deberá despintar la línea y seguir con
el recorrido.
Tener en cuenta que el dibujo ya viene pintado, pero no sabemos cómo.

Figura inicial Figura final

Hoja 4 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi

Ejercicio 3
Aerolíneas Osh es una compañía aérea que opera vuelos comerciales y de carga,
transportando diariamente a pasajeros argentinos y de otras nacionalidades.
Para todas sus rutas internacionales, opera aviones Airbus A320. El A320 posee un cabina
que acomoda 152 pasajeros en 3 clases (como muestra el Anexo: Mapa de asientos del
Airbus A320):

● Económica

● Ejecutiva

● Primera

Cada clase está formada por un determinado número de filas y asientos.


Además, será la primera aerolínea que empleará al robot Atlas para ayudar a los tripulantes
de cabina en la operación de algunas tareas básicas durante el vuelo, además de asistir a
los pasajeros.
El robot Atlas posee un conjunto de instrucciones que le permiten realizar tareas dentro del
avión.
Aerolíneas Osh nos contrató para que programemos a Atlas en la ejecución de las distintas
tareas que podrá realizar en la cabina de pasajeros del A320. Entre las tareas que puede
realizar encontramos:

● Abrir y cerrar las puertas del avión.

● Entregar auriculares.

● Servir la comida a los pasajeros.

● Entregarles formularios de migración.

● Rociar toda la cabina con desinfectante.

Nuestra tarea como desarrolladores será utilizar el mapa de asientos (que es un ejemplo de
la distribución de pasajeros en un vuelo) e implementar (es decir, llevar a cabo) los
siguientes procedimientos, que luego, serán transferidos y descargados al robot para que
las ejecute. Estas tareas están relacionadas con la atención de pasajeros durante el vuelo y
el aterrizaje del avión.
Para ello se pide definir los siguientes procedimientos:
Procedimientos

1. AjustarCinturonSiHayPasajero(): Ajusta el cinturón de seguridad al pasajero. Debe


haber un pasajero en el asiento. Antes de controlar, el robot debe estar ubicado en el
pasillo mirando a la ventanilla, del lado que controlará.

2. AjustarCinturonesEn3Asientos(): Ajustar el cinturón de seguridad a los pasajeros

Hoja 5 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi
(si los hay), en la hilera de 3 asientos.

3. AjustarCinturonesEnFilaDe6Asientos(): Ajusta el cinturón de seguridad a los


pasajeros (si los hay), de una fila completa.

4. ServirComidaAPasajero(): Atlas sirve comida al pasajero. El vuelo lleva personas


que son vegetarianas y personas que comen de todo. Por ello, y respetando una
regla de cortesía de la aerolínea, el robot entrega un plato de lasagna de verdura a
los pasajeros que son vegetarianos, y a los que no lo son, les ofrece un plato de
pollo.
A medida que Atlas va sirviendo la comida, el stock de platos de lasagnas y platos
de pollo se va agotando. Debido a esto, antes de entregar cada plato (sin importar
qué plato es) debe controlar si hay. Puede ocurrir que, si se queda sin lasagna, Atlas
deberá entregar una ensalada de tomate. Si se queda sin pollo, entonces ofrece en
su lugar un sandwich de jamon y queso.

5. EntregarFormularioDeMigracion(): Atlas entrega un formulario de migración al


pasajero extranjero (no Argentino).

6. ServirComidaYEntregarFormularioDeMigracion(): El robot sirve la comida y


entrega el formulario de migración a un pasajero. Debe haber un pasajero en el
asiento.

7. ServirComidaYEntregarFormulariosEnElAvion(): Sirve la comida y entrega el


formulario de migración a todos los pasajeros del vuelo. Por indicación del comisario
de a bordo, la tarea debe realizarse en el siguiente orden:

a. Primera Clase.
b. Clase Ejecutiva.
c. Clase Económica.

8. PrepararParaAterrizaje(): Atlas ajusta el cintuón de seguridad a todos los pasajeros


del avión. Por recomendación del comandante, la tarea debe realizarse en el
siguiente orden:

a. Clase Económica.
b. Clase Ejecutiva.
c. Primera Clase.

9. AbrirPuertasParaDesembarque(): Donde Atlas debe abrir sólo las puertas


izquierdas del avión en el siguiente orden:

a. Abrir las puertas delanteras.


b. Abrir las puertas traseras.

Para definir a cada uno de estos procedimientos se cuenta con el siguiente conjunto de
instrucciones y condiciones:

Hoja 6 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi
Instrucciones

● AbrirPuerta: Abrir la puerta del avión. cinturón de seguridad, entre otras


El robot debe estar mirando en la cosas más... El robot debe estar
dirección de la puerta. mirando en dirección a la ventanilla.
● GirarIzquierda: Manteniendo la ● ObservarAsientoVentanilla: Ordena
posición actual, gira 90° el robot a la al robot apuntar todos sus detectores
izquierda, con todos sus detectores de de movimiento y cámaras al asiento
movimiento y cámaras a la espera de de la ventanilla, para poder interactuar
la próxima instrucción. con un pasajero (si hay) para, por
● GirarDerecha: Manteniendo la ejemplo, poder entregarle objetos o
posición actual, gira 90° el robot a la ajustarle el cinturón de seguridad,
derecha, con todos sus detectores de entre otras cosas más... El robot debe
movimiento y cámaras a la espera de estar mirando en dirección a la
la próxima instrucción. ventanilla.
● AvanzarFila: Avanzar una fila hacia ● AjustarCinturon: Ajusta el cinturón
adelante, en la dirección de avance de seguridad a un pasajero sentado
del robot. en un asiento. Debe hacer un
● UbicarRobotEnParteTraseraDelAvio pasajero en el asiento.
n: Posiciona al robot en el centro de la ● UbicarRobotEnEconomica: Ubicar a
parte trasera del avión, mirando hacia Atlas en el pasillo de la fila N.º 30 del
la parte delantera. avión, mirando hacia la parte
● UbicarRobotEnParteCentralDelAvio delantera.
n: Posiciona al robot en el centro de la ● UbicarRobotEnEjecutiva: Ubicar a
parte central del avión (fila 11), Atlas en el pasillo de la fila N.º 10 del
mirando hacia la parte delantera. avión, mirando hacia la parte
● UbicarRobotEnParteDelanteraDelAv delantera.
ion: Posiciona al robot en el centro de ● UbicarRobotEnPrimera: Ubicar a
la parte delantera del avión, mirando Atlas en el pasillo de la fila N.º 1 del
hacia la parte trasera. avión, mirando hacia la parte trasera.
● ObservarAsientoPasillo: Ordena al ● EntregarFormulario: Entregar un
robot apuntar todos sus detectores de formulario de migración al pasajero.
movimiento y cámaras al asiento del Debe haber un pasajero en asiento
pasillo, para poder interactuar con un actual.
pasajero (si hay) para, por ejemplo, ● ServirSandwich: Entregar/dejar un
poder entregarle objetos o ajustarle el sándwich en el asiento actual.
cinturón de seguridad, entre otras ● ServirPollo: Entrega un plato de pollo
cosas más... El robot debe estar en el asiento actual.
mirando en dirección a la ventanilla. ● ServirEnsaladaTomate:
● ObservarAsientoMedio: Ordena al Entregar/dejar una ensalada en el
robot apuntar todos sus detectores de asiento actual.
movimiento y cámaras al asiento del ● ServirLasagna: Entregar/dejar un
medio, para poder interactuar con un plato de lasagna de verdura en el
pasajero (si hay) para, por ejemplo, asiento actual.
poder entregarle objetos o ajustarle el

Condiciones

● hayPasajero?: Denota VERDADERO Denota VERDADERO si la


si hay un pasajero sentado en el nacionalidad de origen es Argentina,
asiento actual, FALSO en caso FALSO en caso contrario.
contrario.
● esDeNacionalidadArgentina?:

Hoja 7 de 9
EPyL - Primer Instancia de Evaluación de Programación
Trabajo Práctico Grupal
Programación - 1er Cuatrimestre – 2020

Grupo-C11-Pi
● hayStockDePollo?: Denota de verdura, FALSO en caso contrario.
VERDADERO si hay stock de platos ● esVegetariano?: Denota
de pollo, FALSO en caso contrario. VERDADERO si el pasajero es
● hayStockDeLasagna?: Denota vegetariano, FALSO en caso
VERDADERO si hay stock de lasagna contrario.

Hoja 8 de 9
Mapa de asientos del Airbus A320:

También podría gustarte