INF135-Rally-Nro-3.pdf

5
INF135 LENGUAJE DE PROGRAMACIÓN 3er Rally – Trabajo Colaborativo Horario: 0341 – Prof. David Allasi COLORVILLE Un simple juego de niños usa un tablero que es una secuencia de cuadrados coloreados. Cada jugador tiene una pieza de juego. Los jugadores alternan turnos, sacando cartas de un “deck” el cual contiene cartas generadas al azar. Los jugadores mueven su pieza hacia adelante en el tablero hacia el siguiente cuadrado que haga pareja con el color de la carta que han sacado del deck, o hacia adelante hasta el último cuadrado en el tablero si no hay un cuadrado con el que emparejar siguiendo la descripción anterior. Un jugador gana si su pieza está en el último cuadrado del tablero. Es posible que no exista ganador después de sacar todas las cartas. En este problema los colores se representan las letras mayúsculas A-Z, a continuación se presenta un ejemplo. R Y G P B R Y G B R P O P Considere el siguiente deck de cartas: R, B, G, Y, P, B, P, R Para 3 jugadores, el juego procede como sigue: Jugador 1 saca R, se mueve al 1er cuadrado Jugador 2 saca B, se mueve al 5to cuadrado Jugador 3 saca G, se mueve al 3er cuadrado Jugador 1 saca Y, se mueve al 2do cuadrado Jugador 2 saca P, se mueve al 11vo cuadrado Jugador 3 saca B, se mueve al 5to cuadrado Jugador 1 saca P, se mueve al 4to cuadrado Jugador 2 saca R, Gano! (no hay R’s al frente de esta pieza así que va hasta el último cuadrado). Usando la misma tabla y el mismo deck de cartas, pero con 2 jugadores, el jugador 1 gana después de 7 cartas. Con 4 jugadores, no hay ganador después de utilizar todas las 8 cartas. Se le pide a Ud. elaborar un programa en C que permita simular este juego, para ello debe solicitar al usuario que ingrese la siguiente información: el número de jugadores, el número de cuadrados en el tablero y el número de cartas en el deck. Una vez leído los datos, debe generar aleatoriamente el tablero y el deck, de acuerdo a lo indicado en el juego. Luego debe realizar la simulación del juego e indicar paso a paso como se van moviendo los jugadores y al final indicar si hay ganador o no. Debe tener las siguientes consideraciones: El número máximo de jugadores es 4, el número máximo de cuadrados en el tablero es 79 y el número máximo de cartas en el deck es de 200.

Transcript of INF135-Rally-Nro-3.pdf

  • INF135 LENGUAJE DE PROGRAMACIN 3er Rally Trabajo Colaborativo Horario: 0341 Prof. David Allasi

    COLORVILLE

    Un simple juego de nios usa un tablero que es una secuencia de cuadrados coloreados. Cada jugador tiene una pieza de juego. Los jugadores alternan turnos, sacando cartas de un deck el cual contiene cartas generadas al azar. Los jugadores mueven su pieza hacia adelante en el tablero hacia el siguiente cuadrado que haga pareja con el color de la carta que han sacado del deck, o hacia adelante hasta el ltimo cuadrado en el tablero si no hay un cuadrado con el que emparejar siguiendo la descripcin anterior. Un jugador gana si su pieza est en el ltimo cuadrado del tablero. Es posible que no exista ganador despus de sacar todas las cartas. En este problema los colores se representan las letras maysculas A-Z, a continuacin se presenta un ejemplo.

    R Y G P B R Y G B R P O P

    Considere el siguiente deck de cartas: R, B, G, Y, P, B, P, R Para 3 jugadores, el juego procede como sigue: Jugador 1 saca R, se mueve al 1er cuadrado Jugador 2 saca B, se mueve al 5to cuadrado Jugador 3 saca G, se mueve al 3er cuadrado Jugador 1 saca Y, se mueve al 2do cuadrado Jugador 2 saca P, se mueve al 11vo cuadrado Jugador 3 saca B, se mueve al 5to cuadrado Jugador 1 saca P, se mueve al 4to cuadrado Jugador 2 saca R, Gano! (no hay Rs al frente de esta pieza as que va hasta el ltimo cuadrado). Usando la misma tabla y el mismo deck de cartas, pero con 2 jugadores, el jugador 1 gana despus de 7 cartas. Con 4 jugadores, no hay ganador despus de utilizar todas las 8 cartas. Se le pide a Ud. elaborar un programa en C que permita simular este juego, para ello debe solicitar al usuario que ingrese la siguiente informacin: el nmero de jugadores, el nmero de cuadrados en el tablero y el nmero de cartas en el deck. Una vez ledo los datos, debe generar aleatoriamente el tablero y el deck, de acuerdo a lo indicado en el juego. Luego debe realizar la simulacin del juego e indicar paso a paso como se van moviendo los jugadores y al final indicar si hay ganador o no. Debe tener las siguientes consideraciones: El nmero mximo de jugadores es 4, el nmero mximo de cuadrados en el tablero es 79 y el nmero mximo de cartas en el deck es de 200.

  • INF135 LENGUAJE DE PROGRAMACIN 3er Rally Trabajo Colaborativo Horario: 0341 Prof. David Allasi

    FACIL DE DECIR?

    Un password seguro es algo delicado. Los usuarios prefieren passwords que sean fciles de recordar (como amigo), pero este password puede ser inseguro. Algunos lugares usan un generador randmico de passwords (como xvtpzyo), pero los usuarios toman demasiado tiempo recordndolos y algunas veces lo escriben en una nota pegada en su computador. Una solucin potencial es generar password pronunciables que sean relativamente seguros pero fciles de recordar. FnordCom est desarrollando un generador de passwords. Su trabajo en el departamento de control de calidad es probar el generador y asegurarse de que los passwords sean aceptables. Para ser aceptable, el password debe satisfacer estas tres reglas: 1. Debe contener al menos una vocal. 2. No debe tener tres vocales consecutivas o tres consonantes consecutivas. 3. No debe tener dos ocurrencias consecutivas de la misma letra, excepto por ee o oo. (Para el propsito de este problema, las vocales son 'a', 'e', 'i', 'o', y 'u'; todas las dems letras son consonantes.) Note que estas reglas no son perfectas; habrn muchas palabras comunes/pronunciables que no son aceptables. La entrada consiste en una o ms potenciales passwords, uno por lnea, seguidas por una lnea conteniendo una palabra 'end' que seala el fin de la entrada. Cada password tiene como mnimo una y como mximo veinte letras de largo y est formado por solo letras en minscula. Por cada password, despliegue si es o no aceptable, usando el formato mostrado en el ejemplo de salida. Considere que se van a ingresar como mximo 20 passwords a evaluar. Ejemplo de entrada a tv ptoui bontres zoggax wiinq eep houctuh end Ejemplo de salida is acceptable. is not acceptable. is not acceptable. is not acceptable. is not acceptable. is not acceptable. is acceptable. is acceptable.

  • INF135 LENGUAJE DE PROGRAMACIN 3er Rally Trabajo Colaborativo Horario: 0341 Prof. David Allasi

    EL VOTO PUCP

    Nuestra universidad cuenta con un sistema de gobierno mediante el cual las autoridades son elegidas segn las regulaciones de su estatuto y los reglamentos. Este ao, se realizarn las elecciones para elegir al rector y vicerrectores. El rector es el representante legal de la Universidad, que preside sus rganos de gobierno, dirige la vida acadmica y ejerce la gestin administrativa institucional. La universidad cuenta tambin con tres vicerrectores: Acadmico, de Investigacin y Administrativo. Sobre el rector y vicerrectores:

    Su mandato dura cinco aos.

    El rector puede ser reelegido por nica vez para el periodo inmediato siguiente

    Los vicerrectores pueden ejercer un mximo de dos periodos como vicerrector. Quines los eligen?, Los miembros de la Asamblea Universitaria. Se les pide elaborar un programa en C++ que implemente las siguientes funcionalidades: Parte a: Administracin del proceso de Elecciones Mostrar un men con las siguientes opciones:

    1. Registro de candidatos 2. Registro de voto de eleccin 3. Ver resultado de votos 4. Salir

    Al seleccionar la opcin 1, se deber de solicitar el ingreso de la siguiente informacin: Ingresar la cantidad de candidatos, para el problema se define un mximo de 7 candidatos y un mnimo de 4, validado el correcto nmero de candidatos se debe de ingresar UNA LETRA que representar a un determinado candidato. Recuerde que tendr que realizar la validacin de que la LETRA que representa al candidato NO se repita ms de una vez y as poder ser almacenada en un ARREGLO. Terminado el registro de candidatos se debe de volver a mostrar el men de opciones inicial. Parte b: Registrar Votos Mostrado el men de opciones, al seleccionar la opcin 2, se deber de verificar que se tiene creada una lista de candidatos, caso contrario se debe de mostrar el mensaje de error correspondiente y mostrar nuevamente el men de opciones. De obtener una validacin correcta se deber solicitar se ingrese la cantidad de votos a registrar. La cantidad de votos debe de ser mayor a 9 hasta un mximo de 20.

  • INF135 LENGUAJE DE PROGRAMACIN 3er Rally Trabajo Colaborativo Horario: 0341 Prof. David Allasi En cada registro de voto se deber mostrar la lista de candidatos segn el orden en que se registraron. Por ejemplo:

    Lista de candidatos: 1. Candidato A 2. Candidato C 3. Candidato B 4. Candidato D 5. Candidato E

    Ingrese su voto:

    Cada voto ser almacenado en un ARREGLO en donde cada posicin representar la cantidad de votos obtenidos por cada candidato. Arreglo de Votos:

    2 5 1 1 2

    Candidato A Candidato C Candidato B Candidato D Candidato E Terminado el registro de votos, se deber volver a mostrar el men de opciones. Parte c: Resultado de los votos Mostrado el men de opciones, al seleccionar la opcin 3, se deber de verificar que se tienen registrados los votos, caso contrario se debe de mostrar el mensaje de error correspondiente y mostrar nuevamente el men de opciones. De obtener una validacin correcta se deber mostrar el resultado de los votos. Segn la cantidad de votos y en el orden en que se procese el ARREGLO de votos, se deber mostrar el siguiente resultado

    Resultado de los Votos

    Rector -> Candidato C: 5 votos Vice rector Acadmico -> Candidato A: 2 votos Vice rector de Investigacin -> Candidato E: 2 votos Vice rector Administrativo -> Candidato B: 1 voto

    Mostrado el resultado de los votos, se deber volver a mostrar el men de opciones. De seleccionar la Opcin 4, se deber terminar el programa.

  • INF135 LENGUAJE DE PROGRAMACIN 3er Rally Trabajo Colaborativo Horario: 0341 Prof. David Allasi

    VENTA DE BOLETOS DE BUS Implemente un programa que ayude a la boletera de una lnea de buses interprovinciales en la venta de boletos. Un bus tiene 40 asientos y, cada vez que vende uno, ste queda marcado y por tanto ya no puede ser vendido, adems deber mostrar la cantidad de asientos vendidos y los asientos que faltan por vender. En caso haya vendido todos los asientos debe mostrar un mensaje adicional indicando Ya se vendieron todos los asientos. Para terminar de vender boletos debe ingresar como asiento a comprar el nmero 0.

    Si todo estuviera OK su programa debera mostrar algo como lo siguiente: Los estados de los asientos son: LIBRE=0, VENDIDO=1

    Cual asiento quieres comprar?: 12

    Asiento 01= 0 Asiento 02= 0 Asiento 03= 0 Asiento 04= 0

    Asiento 05= 0 Asiento 06= 0 Asiento 07= 0 Asiento 08= 0

    Asiento 09= 0 Asiento 10= 0 Asiento 11= 0 Asiento 12= 1

    Asiento 13= 0 Asiento 14= 0 Asiento 15= 0 Asiento 16= 0

    Asiento 17= 0 Asiento 18= 0 Asiento 19= 0 Asiento 20= 0

    Asiento 21= 0 Asiento 22= 0 Asiento 23= 0 Asiento 24= 0

    Asiento 25= 0 Asiento 26= 0 Asiento 27= 0 Asiento 28= 0

    Asiento 29= 0 Asiento 30= 0 Asiento 31= 0 Asiento 32= 0

    Asiento 33= 0 Asiento 34= 0 Asiento 35= 0 Asiento 36= 0

    Asiento 37= 0 Asiento 38= 0 Asiento 39= 0 Asiento 40= 0

    Asientos vendidos : 01

    Asientos no vendidos : 39

    Cual asiento quieres comprar?: 1

    Asiento 01= 1 Asiento 02= 0 Asiento 03= 0 Asiento 04= 0

    Asiento 05= 0 Asiento 06= 0 Asiento 07= 0 Asiento 08= 0

    Asiento 09= 0 Asiento 10= 0 Asiento 11= 0 Asiento 12= 1

    Asiento 13= 0 Asiento 14= 0 Asiento 15= 0 Asiento 16= 0

    Asiento 17= 0 Asiento 18= 0 Asiento 19= 0 Asiento 20= 0

    Asiento 21= 0 Asiento 22= 0 Asiento 23= 0 Asiento 24= 0

    Asiento 25= 0 Asiento 26= 0 Asiento 27= 0 Asiento 28= 0

    Asiento 29= 0 Asiento 30= 0 Asiento 31= 0 Asiento 32= 0

    Asiento 33= 0 Asiento 34= 0 Asiento 35= 0 Asiento 36= 0

    Asiento 37= 0 Asiento 38= 0 Asiento 39= 0 Asiento 40= 0

    Asientos vendidos : 02

    Asientos no vendidos : 38

    Cual asiento quieres comprar?: 41

    Asiento fuera del rango del autobus.

    Asientos vendidos : 02

    Asientos no vendidos : 38

    Cual asiento quieres comprar?: 0