Ex de Fund2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

FACULTAD DE INGENIERA EN ELECTRICIDAD Y COMPUTACIN

PRIMERA EVALUACIN I TRMINO 2010 2011

Nombre: ________________________________________ Matrcula: ___________

TEMA 1 (20 puntos) Implemente la funcin long rusa(long n1, long n2) que retorna el producto de n1 por n2 utilizando el mtodo de multiplicacin rusa. Para hallar el producto de n1 por n2, hay que sumar el valor de n1 cuando su respectivo n2 es impar. Luego n1 se duplica a la vez que n2 se reduce a su mitad entera. El algoritmo contina hasta que n2 se convierta en 1. Por ejemplo: Para multiplicar 35 por 23 se tiene la siguiente prueba de escritorio. n1 35 70 140 280 560 n2 23 11 5 2 1 suma 35 105 245 245 n2 es par, no se suma el 280 805 el resultado es 805

Nota: Asuma que n1 y n2 son mayores a cero. TEMA 2 (40 puntos) Implemente la funcin bool cedulaValida ( int ced[ ] ); donde el arreglo ced es de tamao 10 y contiene en cada posicin un dgito de la cdula. Esta funcin retorna true si la cdula es vlida sino retorna false. Para que una cdula sea vlida debe cumplir TODAS las condiciones siguientes: Las 2 primeras posiciones corresponden a la provincia donde fue expedida. Estos dos primeros dgitos forman un nmero que no ser mayor que 24 ni menor a 1. El tercer dgito es menor que 6. El ltimo dgito (verificador) debe ser igual a result (nmero obtenido aplicando la frmula del registro civil). Frmula del registro civil 1. Usa un arreglo de coeficientes A. A 2 1 2 1 2 1 2 1 2 0

2. Multiplica las posiciones del arreglo A, por las correspondientes posiciones del arreglo ced. Si el resultado de alguna multiplicacin es mayor que 9 se suman sus dgitos. A ced A*ced 2 1 2 1 7 7 2 1 2 1 0 0 2 0 0 1 3 3 2 4 8 1 0 0 2 6 12 3 0 5 0
Si el resultado de la multiplicacin es mayor que 9 se suman sus dgitos.

3. Se suman los resultados de las multiplicaciones parciales. A este resultado le llamaremos sum. Para el ejemplo: 2+7+2+0+0+3+8+0+3+0=25. 4. Se obtiene el residuo de dividir sum para 10. A este valor le llamaremos residuo. Para el ejemplo, residuo es 5. 5. Finalmente, se obtiene result. Si residuo es 0, result es 0; caso contrario result es 10 residuo.
Elaborado por: CVaca, V.Cedeo, C.Falcones, F.Rosero, J.Rodrguez, E.Ricaurte, A.Lpez,E.Ortiz y A.Tapia

TEMA 3 (40 puntos) Una compaa desea implementar la versin electrnica del JUEGO DE LA OCA para 2 jugadores. El juego de la oca se realiza utilizando un tablero con 63 posiciones y 2 dados. Este juego se realiza por turnos. Inicia el jugador 1. Las posiciones del tablero estn numeradas del 1 al 63 y en algunas de ellas hay un dibujo. Oca: en las posiciones mltiplo de 7 aparece el dibujo de una oca. Cuando se cae en una oca, se debe avanzar hasta la siguiente posicin en la que hay una oca. Laberinto: si el jugador cae en la posicin 43, est obligado a retroceder a la posicin 30 donde est dibujado un laberinto. En cada turno se debe: Mostrar por pantalla el mensaje De oca a oca y tiro porque me toca para mantener la tradicin del juego original. Lanzar los dados y avanzar sobre el tablero el nmero de posiciones que sea igual a la suma de los dados. Esto se realiza para el jugador que tiene el turno. Mostrar por pantalla la posicin actual del jugador. Una vez que el jugador ha cado en una posicin, realizar lo indicado de acuerdo al dibujo del tablero, su turno termina y pasa el turno al siguiente jugador.

La partida contina con los jugadores avanzando en el tablero, como se ha descrito, hasta que un jugador llega a la ltima posicin o al lanzar los dados su ubicacin sobrepasa la ltima posicin; en esta situacin se dice que ese jugador lleg al Jardn de la Oca " con lo cual ese jugador gana la partida. Al finalizar se muestra el ganador y para cada jugador: las posiciones en el tablero y el nmero de lanzamientos realizados. Ud. deber implementar: a) La funcin int juega (int posJugador); recibe la posicin actual y retorna la nueva posicin del jugador segn las reglas. b) El procedimiento posicionJugador(int posJugador); el cual muestra en pantalla un mensaje que indica la posicin en la que se encuentra el jugador. Si la posicin en el tablero tiene un dibujo (oca, laberinto) el mensaje tambin lo indicar. c) La funcin int sigteOca(int posicion); la cual retorna el nmero de la posicin de la siguiente oca del tablero. Si no hay ms ocas retorna -1. d) El programa principal que simule el juego de la oca. Use las funciones y procedimientos anteriores.

Elaborado por: CVaca, V.Cedeo, C.Falcones, F.Rosero, J.Rodrguez, E.Ricaurte, A.Lpez,E.Ortiz y A.Tapia

También podría gustarte