Modelos de final,
profesores Argibay y Maidana, Facultad Regional Haedo, 2004, 2006, 2008
Cargar los nombres de los 12 participantes de un concurso (string de 30 caracteres). Posteriormente mostrar cada uno centrado en la pantalla durante 5 segundos (cada nombre aparece solo en la pantalla borrando el anterior). Este proceso es rotativo, es decir, luego del último sigue el primero durante 3 vueltas.
Cuando terminan los 5 segundos de cada nombre se lee en el port 400H la información proveniente de un sofómetro (medidor de ruido) destinado a medir el nivel de aplausos. Imprimir la lista de los participantes ordenada en forma decreciente de popularidad
______________________________________________________________
Se recibirán por el port 200H los datos del escrutinio de una votación. La cantidad de candidatos es 8. El dato que se ingresara por el port tiene la siguiente forma: bit 7: Fin del escrutinio, bit 6, 5 y 4: Nº del candidato votado y bit 0: validación de la información
El bit 0 alternará entre “0” y “1” por cada dato recibido. Leer el mismo valor, significa que el dato aun no cambio. El bit 7 en 1 indica que finalizo el ingreso de votos. Se sabe que no hay más de 100000 de votos
Se pide:
a) ingresar los nombres de los candidatos en orden de código (0 a 7), string de 20 caracteres
b) permitir el ingreso de datos mediante el escrutinio
c) imprimir el resultado de la elección (nombre de candidato y votos) ordenando en forma decreciente de votos
______________________________________________________________
Se recibirán datos de 7 bits por el port 0x200 desde una placa de adquisición de datos. Se considera que un dato es valido cuando el bit más significativo del mismo port pasa de 0 a 1. Inicialmente esta en 0. Después de leer el dato, hay que mandar a la placa de adquisición de datos un 0x00 por el port 0x300, para avisarle que mande el próximo dato valido
Realizar un programa que reciba los datos y muestre en pantalla la cantidad de repeticiones ocurridas por cada uno, en forma ordenada por repeticiones de mayor a menor. El fin del programa ocurrirá cuando lleguen en forma consecutiva dos datos con el valor 0xFF
______________________________________________________________
La base de datos de una empresa de repuestos de automóviles, está compuesta de los siguientes datos: código de articulo (int), descripción (string de 30), modelo automóvil (string 10), cantidad (int), si es nacional, precio en $(float) y si es importado, precio en u$s (float) y nombre del importador (string de 20). Total de datos 100. Realizar un programa que haga lo siguiente:
a) Ingresar datos a la base por teclado
b) Se recibe por el port 0x201 (byte mas significativo) y 0x202, el código de un articulo. Mostrar en pantalla los datos disponibles de ese artículo en la base. La validez de los datos recibidos la da el cambio de estado de 0 a 1 del bit menos significativo del port 0x300. se termina la operación cuando el bit más significativo de ese port se pone en 1 (inicialmente en 0)
______________________________________________________________
Se reciben datos de presión (bits 0 a 5 del 0x400) y temperatura (bits 6 y 7 del 0x400 y bits 0 a 3 del 0x300) de un recipiente provenientes de una placa de adquisicion de datos. Se sabe que un dato es valido cuando los bits más significativos del port 0x300 están en 111, el resto del tiempo permanecen en cero. El experimento finaliza cuando el bit 4 del port 0x500 se pone en uno (normalmente permanece en 0)
a) Mostrar en pantalla la temperatura máxima
b) Cuando un dato supera un valor de presión que se ingresa previamente por teclado, mandar un “000” por los tres bits menos significativos del port 0x500 sin afectar los otros bits
c) Cada vez que se recibe un dato valido, avisar a la placa invirtiendo el bit 4 del port 0x500 sin afectar los otros bits
- Off-topic:
- Espero sirvan de algo