2Eva_IIT2003_T1 Funciones ordena 3 dígitos y veces dado

Final II Término 2003 – 2004. Febrero 10, 2004 /ICM00794

Tema 1a. Escriba una función ordena en C/C++ que reciba como parámetros tres números enteros distintos a, b y c , y los modifique e intercambie internamente de modo que al finalizar la ejecución de la función se cumpla que los contenidos de a, b, c sean tales que a<b<c.

Las variables a, b y c utilizadas No deben ser globales. Use punteros.

Tema 1b. Escriba una función dado_aleatorio en C/C++ que reciba como parámetro un número entero n que representa una de las posibles caras de un dado (1≤n≤6) y simule la cantidad de veces que se lanza el dado (aleatoriamente) hasta que se obtenga el número n.

Escriba un programa de prueba que muestre la cantidad de veces que se necesitan hasta que salga cada una de las caras superiores del dado e indique cuál fue la cara más difícil (que necesitó más intentos para salir).

 

2Eva_IT2003_T4 Registro de carros en archivo

Final I Término 2003 – 2004. Septiembre 02, 2003 /ICM00794

Tema 4. (25 puntos) Escriba un programa en C/C++ que cumpla con los siguientes numerales:

a) Lea desde el teclado y almacene en un archivo ‘a:\carros.dat’ los siguientes datos de un total de NUM_CARS (constante entera global) vehículos:

Placa: (Cadena de 6 caracteres)
Año: (entero)
Tipo: (A: auto, C: camioneta)
Marca: (cadena de 10 caracteres)
Color: (cadena de 10 caracteres)
Precio: (dato real en dólares)

b) Muestre por pantalla las placas de autos cuyos datos están almacenados en ‘a:\carros.dat’ , tales que su año sea mayor a 1995, su color sea rojo y su precio menor a 6000 dólares.

2Eva_IT2003_T3 Encriptar una frase cada 3 letras

Final I Término 2003 – 2004. Septiembre 02, 2003 /ICM00794

Tema 3. (25 puntos) Para encriptar una frase se puede seguir el siguiente procedimiento:

  • Recorrer la cadena en grupos de 3 caracteres e intercambiar el primero con el tercero.
  • Si el último grupo tiene menos de 3 caracteres no se modifica.
Ejemplo:
>> encripta('el saber no ocupa lugar')
      ans = ' lebas re onuco apgular'

Diseñe una función encripta(frase) que reciba como parámetro dicha frase y la encripte con el procedimiento descrito.

Escriba un programa en C/C++ que lea una frase con un máximo de 80 caracteres, la encripte usando la función y muestre el resultado.

2Eva_IT2003_T2 Función recursiva f(n)

Final I Término 2003 – 2004. Septiembre 02, 2003 /ICM00794

Tema 2. (25 puntos) Escriba una función recursiva f en C/C++ tal que:

f(n) ={1/2, si n=0 ó n=1
      {1/2*[f(n-1) + f(n-2)], si n es impar mayor que 1
      {1/2*[f(n-1) - f(n-2)], si n es par mayor que 1

Escriba un programa en C/C++ que determine el mayor valor de la función f para n=0, 1, 2, 3, 4, 5

2Eva_IT2003_T1 Funciones promedio, mayor y menor

Final I Término 2003 – 2004. Septiembre 02, 2003 /ICM00794

Tema 1. (25 puntos) Escriba 3 funciones en C/C++, denominadas promedio, mayor y menor, las cuales reciben como parámetro un arreglo de 12 números reales y retornen, respectivamente:

  • el promedio de los elementos del vector,
  • el mayor de los elementos del vector y
  • el menor de los elementos del vector.

Escriba un programa en C/C++ que almacene en un arreglo las temperaturas medias de los 12 meses del año (datos de tipo float ingresados desde el teclado); luego llame a las 3 funciones anteriores a fin de mostrar por pantalla:

  • la temperatura anual promedio,
  • la diferencia de temperaturas entre el mes mas caluroso y el mes mas frío.

2Eva_IIT2002_T4 Juego del Imitador

Final II Término 2002 – 2003. Febrero 13, 2002 /ICM00794

Tema 4. (25 puntos) En el juego del “Imitador” pueden participar dos personas para probar su memoria en el que por medio de turnos alternos se prueba la capacidad de recordar una secuencia numérica entera (0-9) de cada jugador.  imitaodr numero secuencia

  • Se empieza mostrando un numero aleatorio entero.
  • El primer jugador solo deberá digitar este número, luego se muestra un segundo numero aleatorio, se cambia el turno y el otro jugador deberá digitar el primero y el segundo numero aleatorio.
  • Se muestra un nuevo numero aleatorio y el siguiente jugador deberá digitar los números aleatorios anteriores mas el último mostrado.
  • El juego continua hasta que uno de los dos participantes se equivoca en la secuencia y se declara al otro participante como ganador.

El juego presenta en pantalla para cada jugada lo siguiente:

  • El jugador que tiene el turno,
  • La cantidad de números de la secuencia a digitar y
  • El orden del dígito que se esta esperando por teclado.

2Eva_IIT2002_T3 Encriptar PIN(4 dígitos)

Final II Término 2002 – 2003. Febrero 13, 2002 /ICM00794

Tema 3. (20 puntos) Una compañía de telecomunicaciones tiene sospechas de que sus datos están siendo interceptados y desea transmitirlos de manera segura usando algoritmos de encriptación de tal forma que solo la pueda entender el destinatario. encriptar candado imagen

Toda su información se transmite como enteros de 4 dígitos.

El asesor de seguridad informática le recomienda seguir los siguientes pasos:

  • A cada dígito súmele siete.
  • Al resultado de esta suma, divídelo para 10 y extráigale el residuo.
  • El valor resultante reemplaza al dígito original
  • Intercambie el primer dígito con el tercero y el segundo con el cuarto.
Ejemplo: 
 >> encripta(1254)
 ans= 2189

a) Escriba una función encripta() que reciba numero entero de 4 dígitos (entre 1000 y 9999) y que retorne el mismo numero entero encriptado correspondientemente

b) Escriba un Programa que pida al usuario una clave de acceso (entero de 4 dígitos), verifique que sea válida en rango). Encripte la clave de acceso y la muestre en pantalla.

2Eva_IIT2002_T2 Clientes en Banco A y Banco B

Final II Término 2002 – 2003. Febrero 13, 2002 /ICM00794

Tema 2. (35 puntos) El archivo ‘a:\DATOS1.TXT’ contiene la información de los clientes del banco A en el siguiente formato:

char cedula[10], char nombre[60], int cuenta

cuenta es un valor lógico que indica si tiene una cuenta corriente, lo contrario significa que tiene cuenta de ahorros.

El archivo a:\DATOS2.TXT contiene la información de los clientes del banco B en el siguiente formato:

char cedula[10], char nombre[60], int préstamo

préstamo es un valor lógico que indica si tiene un préstamo, lo contrario significa que no tiene deudas.

Elabore un programa que:

a) Lea los dos archivos desde el disco (disquete). (10 puntos)

b) Seleccione los clientes que tienen cuenta de ahorros y préstamo. (15 puntos)

c) Muestre un reporte por pantalla con la cédula y el nombre de los clientes que tienen cuenta de ahorros y préstamo. (10 puntos).

Nota: Dentro de un mismo archivo no existen clientes repetidos. El número de clientes máximo es 100, pero el número puede ser menor de acuerdo a si el cliente tiene o no préstamo o cuentas en el banco y puede ser leído en el archivo antes de leer el primer cliente.

2Eva_IIT2002_T1 Verificar si es «Número perfecto»

Final II Término 2002 – 2003. Febrero 13, 2002 /ICM00794

Tema 1. (20 puntos) Un número perfecto es aquel que es igual a la suma de todos sus divisores, con excepción del mismo.

Ejemplo:
 6 es perfecto porque, 
   sus divisores son: 1, 2, 3 (6 no se considera).
   1+2+3=6

a) Defina una función llamada perfecto(x) que retorne 1 si x es un número perfecto o 0 en caso de que no lo sea.

b) Para probar la función, genere en el programa principal m pares de números aleatorios con valores entre 1 y n inclusive (m y n deben ser previamente pedidos por teclado), y muestre cuántas de estas parejas tienen su suma igual a un número perfecto.

2Eva_IIT2001_T4 Control de habitaciones en una clínica

Final II Término 2001 – 2003. Febrero 5, 2002 /ICM00794

Tema 4. clinica torre ambulancia

En una clínica existen 100 habitaciones.

Los pacientes al ingresar a la clínica se les asigna una habitación, mientras que al darles de alta se deja libre la habitación.

a) Crear dos estructuras de datos en C/C++, para lo cual se conoce los siguiente:

  • Paciente: Cédula (10 caracteres), Nombre (50 caracteres), código de habitaciones (entero).
  • Habitación: Código (entero), Ocupada (1=Sí,  0=No)
Paciente
cédula nombre código
1234 Juan 2
456 Maria 8
Habitación
código 1 2 7 8
ocupada 0 1 0 1

b) Escriba un programa en C/C++ que permita ingresar la información de pacientes y habitaciones, con el siguiente menú:

1. Ingresar habitaciones
2. Ingresar y asignar pacientes a las habitaciones
3. Dar de alta a los pacientes de las habitaciones
4. Salir

Nota.- Las restricciones son las siguientes:
No se puede asignar un paciente a una habitación que está ocupada.
No se puede liberar una habitación que no esté ocupada.