2Eva_IT2011_T3 Cuadrado semimágico

2da Evaluación I Término 2011, Agosto 30, 2011 /ICM00794

Tema 3 (25 puntos). Llamemos cuadrado «semi-mágico» a una matriz cuadrada conteniendo números de tal manera que cada suma parcial de la primera fila, última fila, primera columna, última columna y cada una de las dos diagonales, producen el mismo resultado.

Ejemplo:
1 3 6 2 = 12
7 4 1 4
1 6 4 3
3 4 2 3 = 12
 =  =  =
12 12 12 12

Escriba un programa que solicite: el tamaño n del cuadrado y el máximo de intentos a realizar, para llenar aleatoriamente una matriz de nxn con enteros positivos de una cifra, hasta que la matriz sea un cuadrado «semi-mágico».

Muestre la matriz resultante y la cantidad de intentos realizados, si se logró el objetivo.

Rúbrica: generación de matriz (5 puntos), determinar si es semi-mágico (15 puntos), control de intentos y resultados (5 puntos)

2Eva_IT2011_T2 Votar por nombre del puente

2da Evaluación I Término 2011, Agosto 30, 2011 /ICM00794

Tema 2 (35 puntos). Al finalizar la construcción del Cuarto Puente, el Ministerio de Transporte y Obras Públicas nombrará al complejo vial mediante votaciones electrónicas entre cuatro nombres.

Realice un programa que permita administrar las votaciones mediante el siguiente menú:

  1. Ingresa y valida voto.- se registra cédula, nombre y voto. Se descarta el registro si el voto es repetido; puede validar usando la función del tema anterior.
  2. Muestra registrados y descartados. – Presenta los contadores de votos registrados y descartados por reintento del votante.
  3. Resultado de votación.- Muestra los resultados de la votación y el ganador.
  4. Salir.
Ejemplo de Nombres:
 (1) Unidad Nacional
 (2) Carlos Pérez Perazo
 (3) Rafael Mendoza Avilés
 (4) Otro por presentar….

Sugerencia: Pedir los datos y registrarlos solamente si vota por primera vez. Copiar las cédulas válidas en un vector y usar la función enlista(,) del tema anterior para validar las cédulas repetidas.
Referencia: “Un concurso eliminará los nombres de tres viaductos” www.eluniverso.com – 30. Agosto. 2011

Rúbrica: Menú (5 puntos). Definición y uso de estructura de datos (5 puntos). Validación de votos y uso de función (10 puntos). Mostrar registrados y descartados (5 puntos). Resultados de votación (10 puntos)  

2Eva_IT2011_T1 Buscar valor en lista

2da Evaluación I Término 2011, Agosto 30, 2011 /ICM00794

Tema 1 (15 puntos). Realice una función enlista(número,vector) que reciba un número entero y un vector que contiene una lista de números, revise si el número se encuentra en el vector.
Las respuestas serán: si esta en lista (1), si no está en lista (0).

i vector(i)
1 456
2 654
3 234
4 987
5 876
Ejemplo:
>> enlista(789,vector)
 ans= 0
>> enlista(234,vector)
 ans=1

Rúbrica: Definición de función (5 puntos), revisión (5 puntos), respuestas (5 puntos)

 

2Eva_IIT2010_T4 Elegir representante con 50% votación

2da Evaluación II Término 2010, Febrero 01, 2011 /ICM00794

Tema 4 (30 puntos). Un grupo de n personas debe elegir a su representante.

Será elegido si tiene al menos la mitad de los votos, caso contrario se deberá repetir la votación desde el inicio.

Cada persona es identificada con un número entero entre 1 y n y cualquiera de las personas puede ser elegida.

Escriba un programa para el proceso electoral con el siguiente menú:

  1. Inicializar votación: Poner contadores y registros de n votos en cero para nueva votación.
  2. Ingresar los votos: se ingresa el número identificador del votante y luego el identificador de su candidato. Validar que el votante realice un solo voto.
  3. Determinar ganador: si lo hubo, mostrar cuál fue y si la votación cumple con mayoría requerida.
  4. Mostrar estado de votación: Muestra cantidad de votos realizados y la cantidad que aún no votan.
  5. Salir

Sugerencia: Use un vector de n componentes para almacenar el conteo de votos de cada una de las n personas. Utilice otro vector para registrar quienes ya han votado.

Rúbrica: Menú (5 puntos). Ingreso y validación (10 puntos). Ganador y validar mayoría (10 puntos). Mostrar estado (5 puntos).

 

2Eva_IIT2010_T3 Validar registro de revocatoria en CNE

2da Evaluación II Término 2010, Febrero 01, 2011 /ICM00794

Tema 3 (25 puntos). El Consejo Nacional Electoral (CNE) para iniciar un proceso de revocatoria de mandato de alcaldes, requiere en la solicitud la presentación de al menos el 10% de firmas del registro electoral.

Para realizar la revisión de los datos presentados para este proceso se dispone de:

  • Las cédulas del padrón en un arreglo de tamaño n
  • Las cédulas de solicitantes de la revocatoria en un arreglo lista de tamaño m

a) Realice una función registrados(padrón, lista) que indique cuántas de las cédulas de la lista están registradas en el padrón. Suponga que no hay datos repetidos.

i Padrón(i) j lista(j)
1 0912345678 1 0987654321
2 0987654321 2 0567896543
3 0754321234
4 0765432456 m
5 0567896543
n

b) Realice un programa que solicite el ingreso de los arreglos padrón y lista, usando las funciones únicos() del tema anterior y registrados() , valide los datos de la lista para informar si los datos cumplen con al menos el 10% del padrón.

Referencia: “11 procesos de revocatoria se decidirán en febrero”. Enero 12, 2011. – “El presidente del CNE sugiere una reforma para normar la revocatoria”. Diciembre 16, 2011. http://www.eluniverso.com

Rúbrica: Definición y uso de las funciones (10 puntos). Algoritmo “registrados” (10 puntos). Programa integral (5 puntos)

 

2Eva_IIT2010_T2 Mostrar valores únicos en vector

2da Evaluación II Término 2010, Febrero 01, 2011 /ICM00794

Tema 2 (20 puntos) Realice la función únicos(vector) que recibe un vector de n enteros y entrega otro vector conformado por los elementos no repetidos.

Considerar que el tamaño del vector resultante puede ser menor al tamaño del vector ingresado.

i vector(i) j resultado(j)
1 12345 1 12345
2 64279 2 64279
3 12345 3 74351
4 74351 4 67531
5 12345 m 5 76524
6 67531
n 7 76524

Rúbrica: Definición de la función (5 puntos). Determinar elementos no repetidos (5 puntos). Vector sin elementos repetidos (10 puntos).


vector = [12345, 64279, 12345, 74351, 12345, 67531, 76524]
unicos = [12345, 64279, 74351, 67531, 76524]

2Eva_IIT2010_T1 Juego con fichas rojas y azules

2da Evaluación II Término 2010, Febrero 01, 2011 /ICM00794

Tema 1 (25 puntos) El “Juego Lucky” utiliza cuatro fichas rojas (‘R’), una ficha azul (‘A’) y un dado.

  • LuckySe cubren cada ficha con un vaso y aleatoriamente se alinean los vasos.
  • Al reemplazar la ficha azul por el valor del dado y las rojas por 0 se formará un número equivalente.
  • El jugador puede realizar dos cambios de posición entre los vasos sin levantarlos.
  • Al cambiar las posiciones se informa al jugador si el número equivalente: aumentó, es igual o disminuyó.
  • Al final, se descubren las fichas mostrando los puntos logrados, formado por el número equivalente.

a) Realice una función puntos(cadena,valor) que reciba una cadena de caracteres entre ‘R’ y ‘A’, reemplace la letra ‘R’ por 0 y la letra ‘A’ por valor, entregue el equivalente numérico de puntos obtenidos.

b) Escriba un programa que simule el juego preguntando cuántas rondas se jugarán, al final mostrará los puntos acumulados por el jugador.

Ejemplo:
>> puntos('RRRAR',5)
 ans = 50
>> puntos('RARRR',5)
 ans = 5000

Nota: Utilice una cadena de caracteres para simular las fichas y sus posiciones.

Rúbrica: Definición y uso de función (10 puntos). Cambio de posiciones (5 puntos). Mostrar cambios de valor (5 puntos). Programa integral (5 puntos)

2Eva_IT2010_T3 Registrar donantes ONTOT

2da Evaluación I Término 2010. Agosto 31, 2010 /ICM00794

Tema 3 (40 puntos). El Ministerio de Salud junto al “Organismo Nacional de Trasplante de Órganos y Tejidos (ONTOT)” requiere implementar programa para gestionar los donantes de órganos y tejidos, que registre, consulte y muestre resultados de donantes inscritos mediante el menú mostrado.

La consulta por estado permite listar los nombres de los donantes por estado, y el Total de donantes presenta el número de donantes aceptados por tipo de sangre.

MENU
 1. Ingreso de donantes
 2. Ingresar estado con prueba medica
 3. Consulta por estado de donantes
 4. Total de donantes/tipo de sangre
 5. Salir
La información registrada
por donante es:
Nombre, cédula, año de nacimiento, Tipo de sangre y Estado.
El tipo de sangre
se clasifica como:
(1) O-, (2) O+, (3) A-, (4)A+, (5)B-, (6)B+, (7)AB-, (8)AB+
El estado del donante
se modifica luego de
realizar las pruebas médicas, siendo:
(1) Inscrito, sin pruebas médicas y predeterminado al ingresar un donante.
(2) Aceptado
(3) Rechazado

Referencia: “1.400 personas inscritas para donar sus órganos”. 20 de Agosto 2010. www.eluniverso.com

Rúbrica: Menú (5 puntos). Ingreso de datos (5 puntos), Cambio de estado (5 puntos), consulta por estado (10 puntos), cantidad por tipo de sangre (15 puntos)

2Eva_IT2010_T2 Operaciones infix – postfix

2da Evaluación I Término 2010. Agosto 31, 2010 /ICM00794

TEMA 2 (30 puntos) Las expresiones aritméticas en notación INFIX establece que en medio de los operandos (números) debe existir un operador aritmético conocido (+, –, *, /).  HP 42S

Las expresiones aritméticas en notación POSTFIX establece que primero se colocan los operandos y luego el operador.
Suponga que solamente tendrá como operandos aritméticos los números de una sola cifra.

a) Escriba la función validainfix(cadena), la cual recibe una cadena de 3 caracteres para una operación aritmética y verifica que: los 2 operandos aritméticos están en las posiciones inicial y final; y existe un operador aritmético en el medio. La función devuelve 1 si es una cadena válida y 0 si no lo es.

b) Escriba la función cambiapostfix(cadena), la cual recibe una cadena de 3 caracteres, previamente validada usando validainfix(cadena), y cambia la notación de INFIX a POSTFIX. En caso de que la validación no es correcta, se dará el mensaje de “error”.

INFIX POSTFIX
2 + 3 2 3 +
9 – 6 9 6 –
5 * 4 5 4 *
8 / 7 8 7 /

Rúbrica: Definición de funciones (5 puntos). Validación de números y operadores (15 puntos), cambio de notación (10 puntos).

2Eva_IT2010_T1 Capacitación de empleados

2da Evaluación I Término 2010. Agosto 31, 2010 /ICM00794

TEMA 1 (30 puntos) El plan de capacitación de personal de una empresa consiste en impartir m cursos de varios temas para n empleados, quienes pueden participar en el orden que prefieran.

Al final del mes, la participación de los empleados se registra en una matriz como completado (1) y no tomado (0).Realizar un programa que registre la participación de los empleados en los cursos, determine y muestre:

a) ¿Cuáles empleados (número) tienen todos los cursos aprobados?, pueden ser varios empleados, y

b) ¿Cuál fue el curso con más participantes?, considere solo uno.

capacitacion (e,c) Curso
empleado 1 2 3 completados
1 1 0 0 1
2 1 1 1 3
3 0 0 1 1
4 1 1 1 3
n=5 0 0 0 0

Nota: Cada empleado participa una vez en cada curso.
Rúbrica: Ingreso de datos en matriz (5 puntos), parte a) (15 puntos), parte b) (10 puntos).