Está en la página 1de 4

Pontificia Universidad Católica de Chile

Escuela de Ingeniería
Departamento de Ciencia de la Computación

IIC1103 – Introducción a la Programación


2 - 2018

Enunciado Tarea 1

Recordatorio:

Fecha de entrega: Martes 25 de Septiembre de 2018, a las 23:59 hrs.

Foro de consulta: https:piazza.com/uc.cl/spring2018/20182

Este trabajo es estrictamente personal. Recuerda leer la Política de Integridad Académica del DCC
disponible en http://www.ing.uc.cl/ciencia-de-la-computacion/programas/licenciatura/
politica-de-integridad-academica/. Se usará un software anti-plagio para detectar similitud entre có-
digos.

¡Atención!
Ten en consideración que no se recibirán entregas fuera del plazo.
Es tu responsabilidad subir entregas parciales de tu tarea (submissions). Se revisará solamente la mejor
versión que hayas subido. Revisa la sección Entrega para las instrucciones de entrega de tu trabajo.

Objetivo

Aplicar conocimientos adquiridos en clases incluyendo asignación de variables, operaciones y expresiones, in-
teracción con usuarios mediante input y output, control de flujo (if, elif, else), ciclos (while) y funciones.

Enunciado
Para esta tarea tendrás que implementar un programa en la plataforma Hackerrank que sea capaz de reci-
bir instrucciones y llevarlas a medida que se reciben. La tarea está dividida en varias partes para que puedas
construir paso a paso tu programa y revisar de forma iterativa su correcta implementación. Los detalles de
cada parte se encuentran en su respectivo ejercicio de Hackerrank.

Link al contest: https://www.hackerrank.com/tarea-1-2018-2

A continuación se muestra un listado de los comandos que tendrás que implementar para esta tarea, una des-
cripción del mapa del supermercado, y un listado de las funciones que se te entregarán para la parte 3 en ade-
lante. Los detalles de cada función se encuentran en los enunciados de los problemas de Hackerrank.

1
Listado de comandos
Comando Acción
Op 1 Mostrar Reserva
Op 2 Cargar Batería
Op 3 Mostrar Velocidad
Op 4 Cambiar Velocidad
Op 5 Apuntar Abajo
Op 6 Apuntar Arriba
Op 7 Apuntar Derecha
Op 8 Apuntar Izquierda
Op 9 Avanzar Abajo
Op 10 Avanzar Arriba
Op 11 Avanzar Derecha
Op 12 Avanzar Izquierda

Mapa
El mapa que tendrás que imprimir a partir de la parte 3 luce así:

Donde las X representan estanterías, los bordes del mapa son las paredes del supermercado y las letras U, D, L
y R indican la posición actual del robot y hacia donde apunta, de acuerdo a la siguiente descripción:

U Arriba
D Abajo
L Izquierda
R Derecha

Funciones base
Estas funciones te ayudarán a solucionar la tarea y te permitirán probar tu programa fuera de la plataforma,
para que puedas revisar que tus funciones y tu programa estén funcionando como tú esperas.

girar_derecha(): esta función gira al robot en 90o en sentido horario. Por ejemplo, si el robot está
apuntando hacia arriba, luego de ejecutar esta función quedará apuntando hacia la derecha.

2
girar_izquierda(): esta función gira al robot en 90o en sentido antihorario. Por ejemplo, si el robot
está apuntando hacia arriba, luego de ejecutar esta función quedará apuntando hacia la izquierda.

avanzar(): esta función mueve al robot exactamente un espacio en la dirección en la que apunta en un
momento determinado.

dibujar_mapa(): esta función retorna un string que contiene la descripción del mapa actual del super-
mercado con el robot incluido, tal como aparece en la sección Mapa.

obtener_direccion(): esta función retorna la dirección a la que el robot apunta actualmente. El valor
retorno de esta función es una de las letras U, D, R y L según corresponda.

configurar_robot(posicion): esta función configura la posición inicial del robot dentro del supermer-
cado. Recibe como entrada un string con el formato (X, Y). Debes utilizarla para las parte 4 y 5.

Entrega
La entrega se realiza mediante la plataforma Hackerrank. Basta con que hagas Submit de tu código en cada
parte del contest para que se guarde tu entrega. Tu nota se calculará de acuerdo al puntaje que consigas en
cada ejercicio.

puntos
El contest tiene un total de 600 puntos, los cuales se traducen a nota como T 1 = 100 + 1.

Indicaciones generales
1. En algunas partes se te entrega un código base. Este código NO debe ser modificado. Si encuentras que
hay algún error en el código base debes informarlo mediante el foro para que sea corregido a la brevedad.

2. Recuerda que la tarea es estrictamente individual. Cualquier situación de copia será sancionada seve-
ramente según dicta el código de honor de la universidad, el cual se detalla al final de este documento.

3. NO hagas la tarea a última hora, pues Hackerrank se cierra automáticamente cuando se cumple el
plazo por lo que corres el riesgo de no terminarla a tiempo. NO se aceptarán entregas atrasadas ni
entregadas por otros medios.

4. Puedes enviar tu tarea todas las veces que estimes conveniente, pero solo se almacenará y revisará la
mejor entrega, es decir, la que tenga el mayor puntaje.

3
Política de Integridad Académica
Los alumnos de la Escuela de Ingeniería deben mantener un comportamiento acorde al Código de Honor de
la Universidad:

“Como miembro de la comunidad de la Pontificia Universidad Católica de Chile me comprometo a respetar los
principios y normativas que la rigen. Asimismo, prometo actuar con rectitud y honestidad en las relaciones
con los demás integrantes de la comunidad y en la realización de todo trabajo, particularmente en aquellas
actividades vinculadas a la docencia, el aprendizaje y la creación, difusión y transferencia del conocimiento.
Además, velaré por la integridad de las personas y cuidaré los bienes de la Universidad”

Los alumnos de la Escuela de Ingeniería de la Pontificia Universidad Católica de Chile deben mantener un
comportamiento acorde a la Declaración de Principios de la Universidad. En particular, se espera que manten-
gan altos estándares de honestidad académica. Cualquier acto deshonesto o fraude académico está prohibido;
los alumnos que incurran en este tipo de acciones se exponen a un Procedimiento Sumario. Es responsabilidad
de cada alumno conocer y respetar el documento sobre Integridad Académica publicado por la Dirección de
Docencia de la Escuela de Ingeniería.

Específicamente, para los cursos del Departamento de Ciencia de la Computación, rige obligatoriamente
la siguiente política de integridad académica. Todo trabajo presentado por un alumno para los efectos de la
evaluación de un curso debe ser hecho individualmente por el alumno, sin apoyo en material de terceros. Por
trabajo se entiende en general las interrogaciones escritas, las tareas de programación u otras, los trabajos de
laboratorio, los proyectos, el examen, entre otros. Si un alumno copia un trabajo, obtendrá nota final 1.1 en el
curso y se solicitará a la Dirección de Docencia de la Escuela de Ingeniería que no le permita retirar el curso de
la carga académica semestral. Por copia se entiende incluir en el trabajo presentado como propio partes hechas
por otra persona.

Obviamente, está permitido usar material disponible públicamente, por ejemplo, libros o contenidos tomados
de Internet, siempre y cuando se incluya la referencia correspondiente.

Lo anterior se entiende como complemento al Reglamento del Alumno de la Pontificia Universidad Católica
de Chile. Por ello, es posible pedir a la Universidad la aplicación de sanciones adicionales especificadas en dicho
reglamento.

También podría gustarte