UNIVERSIDAD DE COSTA RICA I CICLO DE 2000 ESCUELA DE CIENCIAS DE LA COMPUTACION E INFORMATICA CI-0202 Principios de Informática LABORATORIO Nº4 (Semana del 27 al 30 de marzo) Para este laboratorio deberá utilizar el código de la Tarea No. 2 para calcular si un año es bisiesto. Además utilizará una función de biblioteca para generar números aleatorios, de acuerdo con las sugerencias que se dan a continuación. El programa utilizará una función generadora de números aleatorios rand() y su generadora srand(), que en Quick C se puede definir entre las directivas de la siguiente forma: #define aleatorio(min, max) ((rand()%(int)(((max)+1) - (min))) + (min)) inline int aleatorio(int min, int max) { // C++ return (rand() % (max + 1 - min) + min); } Luego, al inicio del programa y antes de utilizar la función aleatorio() deberá inicializar la "semilla" para generar los números aleatorios como se indica en las líneas siguientes: /* Inicializar el generador de números aleatorios usando la hora. */ srand( (unsigned)time(NULL)); aleatorio(min, max) // Da un número aleatorio entre min y max. // Ud. deberá reemplazar min y max por los años límites. Haga un programa interactivo que haga lo siguiente: - Que lea un número n y luego haga n iteraciones con los siguientes cálculos en cada iteración: - obtenga un número aleatorio A entre 1600 y 3000. - Si el año A es bisiesto, incremente en uno el contador de bisiestos; en caso contrario, incremente el contador de años no bisiestos. - Que imprima la estadística de años bisiestos y no bisiestos. - Lea otro n. (El programa deberá detenerse cuando n es cero). La salida del programa deberá ser similar a la siguiente: Escriba un n (0 para terminar): 100000 En 100000 iteraciones hubo 24900 años bisiestos y 75100 no bisiestos. El porcentaje de años bisiestos es del 24.90% Escriba un n (0 para terminar): 2000000 En 200000 iteraciones hubo 590800 años bisiestos y 1409200 no bisiestos. El porcentaje de años bisiestos es del 24.59% ... Escriba un n (0 para terminar): 0 ¡Adiós! Juntamente con el disquete que contenga el archivo fuente y el archivo objeto, deberá entregar impreso, en forma sencilla, el pseudocódigo del programa, la impresión del programa fuente y la impresión de los resultados de prueba utilizando la tecla PrintScreen.