UNIVERSIDAD DE COSTA RICA CI-0202 Principios de Informática ESCUELA DE CIENCIAS DE LA Profesor Adolfo Di Mare COMPUTACION E INFORMATICA Examen Nº 2 Carnet: ________ Nombre: __________________________________ Duración: Ochenta minutos. Lea bien el examen antes de hacerlo. El examen es a libro abierto. Cuenta la redacción y la ortografía. Puede hacer el examen con lápiz. Resuelva dos de las preguntas. ¡No haga más de lo que se le pide! 1) [50 pts] Escriba la función BaseInversa( int num, int base ) que toma el número "num" y le extrae los dígitos en la base "base", desde el último al primero, y los graba en el flujo de salida "cout" (no importa: grabe los números en orden inverso). Grabe cada dígito en decimal y sepárelo del siguiente con un punto, como en .1.12.3.34.12. o en .1.0.1.1. 2) [50 pts] Haga un programa que lea y lea números enteros del teclado, los que pueden ser de uno o más dígitos, y que pare cuando la suma de todos los dígitos de los números sea 666. Eso sí, si el número es positivo, sume los dígitos, pero si es negativo, réstelos. Imprima los mensajes para ingresar y emitir los datos. 3) [50 pts] bool Palindromo( const char hilera[] ) es la función que retorna "true" si la "hilera" se lee igual a la derecha que a la izquierda, pero omitiendo los espacios en blanco ' '. Programe la función Palindromo(). - Puede usar la función unsigned strlen( const char hilera[] ). - Puede ignorar las diferencias entre mayúsculas y minúsculas. - Puede suponer que nunca aparecen 2 o más espacios en blanco seguidos. Palindromo("radar") ==> true Palindromo("Dabale arroz a la Zorra el Abad") ==> true Palindromo("rabanote") ==> false Palindromo("1 23 45 43 2 1") ==> true Palindromo("como moco") ==> false Palindromo("como omoc") ==> true