2Eva_IIT2003_T3 Funciones eudoxus recursivas

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

Tema 3. Los números de Eudoxus se definen mediante la siguiente formulación:

{x[0] = 1
{x[i] = y[i] + y[i-1] , i>=1

{y[0] = 0
{y[i] = x[i-1] + y[i-1] , i>=1

a) Escriba las funciones recursivas eudoxusX(i) y eudoxusY(i) que permitan generar cada par ordenado(xi, yi).

b) Adicionalmente escriba un programa de prueba que, utilizando las funciones anteriores, muestre los pares ordenados generados recursivamente para 0≤in, donde n es un valor entero leído previamente.

2Eva_IIT2003_T2 Mostrar un triángulo de Pascal

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

Tema 2. Escriba un programa en C/C++ que permita almacenar en una matriz las primeras n filas del triángulo de pascal  (n<20).

Muestre por pantalla la matriz generada.

ejemplo:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
…. …. …. …. …. ….

A partir de la tercera fila, los elementos dentro del triángulo se obtienen sumando los dos elementos anteriores de la fila anterior.
Por ejemplo, 6=3+3.

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. imitadornumeros

  • 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. emcriptarcandado

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.