UNIVERSIDAD DE COSTA RICA CI-0202 Principios de Informática ESCUELA DE CIENCIAS DE LA Profesor Adolfo Di Mare COMPUTACION E INFORMATICA Examen Nº 4 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] Considere el siguiente programa: #include #include int main(void) { int ln = 0; for (int j = (999 % 3); j <= (222 / (2 % 3)); ++j) { if ((j % 6) == 3) { cout << " ==> " << setw(3) << j; ++ln; if (ln==7) { cout << endl; ln = 0; } } } return 0; } 1.a [15 pts] Indique cuál es el rango que recorre la variable "j". 1.b [10 pts] Explique para qué sirve la variable "ln". 1.c [25 pts] Muestre cuál es el resultado de ejecutar este programa. 2) [50 pts] Un cuadrado mágico es una matriz en que la suma los números de las filas y las columnas, o de la diagonal, siempre es la misma. Por ejemplo, los siguientes son cuadrados mágicos: +---+---+---+ | 8 | 1 | 6 | 1 1 1 1 1 +---+---+---+ 1 1 1 1 1 | 3 | 5 | 7 | 1 1 1 1 1 +---+---+---+ 1 1 1 1 1 | 4 | 9 | 2 | 1 1 1 1 1 +---+---+---+ Dado una matriz de tamaño NxM se define como un "círculo" dentro de la matriz M con centro (i,j) y radio "r" a todos los valores que están a "r" o menos saltos de M[i][j]. Por ejemplo, aquí se muestra la matriz M de tamaño 5x6 al lado de su círculo de radio 2 y centro M[3][4] == 34: 00 01 02 03 04 05 10 11 12 13 14 15 12 14 20 21 22 23 24 25 23 24 25 El centro del círculo sí es parte 30 31 32 33 34 35 32 33 <> 35 del círculo 40 41 42 43 44 45 43 44 45 50 51 52 53 54 55 52 54 Note que como la matriz se termina en la columna 5, no hay más valores hacia la derecha de esa columna. Además, los valores que están dentro del "círculo" sólo son los que están en dirección directa vertical, horizontal o diagonal. Para este problema use la siguiente definición de la Matriz: typedef int Matrix[25][25]; Implemente la función booleana: Es_Circulo_Magico(const Matrix M, int r, int i, int j); que determina si el círculo de centro (i,j) y radio "r" que está dentro de la matriz "M" es un círculo mágico, en el que las sumas horizontales, verticales y diagonales alrededor del centro del círculo dan siempre el mismo número. (Si le queda más fácil hacer su trabajo, implemente su función sin tomar en cuenta el valor "r" que indica el radio del círculo mágico dentro de la matriz).