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

 

1Eva_IIT2003_T1 Cambiar Decimal a Octal

Parcial II Término 2003 – 2004. Diciembre 09, 2003 /ICM00794

Tema 1. (25 puntos) Para realizar la conversión de un número que está en una determinada base a su equivalente decimal, debe emplearse la siguiente regla:

N = diBi + . . . + d4B4 + d3B3 + d2B2 + d1B1 + d0B0 
En donde: B: Base del sistema de numeración original
di: dígito en la posición i, con i = 0, 1, 2, …
(0 es la posición menos significativa)

Octal
Decimal
Ejemplo: para convertir 7648 a base 10: 
N = 7 x 82 + 6 x 81 + 4 x 80 = 50010

a) Escriba un Algoritmo que permita obtener el equivalente decimal (base 10) de un numero octal (entero de hasta 4 dígitos) ingresado por teclado.

Suponga que ya existe la función EsOctal(n), cuyo parámetro n es un valor entero y retorna 2 posibles valores:
1 = verdadero,
0 = falso,
según sea que n es válido o no en ese sistema de numeración.

b) Realice la prueba de escritorio del algoritmo construido en el literal a) para el siguiente ejemplo: 10348 = N10

Referencia: Bases Numéricas Introducción

1Eva_IT2003_T5 Revisar respuestas correctas

Parcial I Término 2003 – 2004. Julio 08, 2003 /ICM00794

Tema 5. (25 puntos) Un examen consta de 30 preguntas de opción múltiple. Cada pregunta tiene 5 respuestas para elegir, de las cuales solo una es correcta.

Los resultados del examen y la información concerniente al estudiante pueden representarse de la siguiente forma:

  • ANSWER es un vector que contiene las respuestas correctas del examen,
  • SCORE es una matriz cuyas filas son las respuestas dadas por n estudiantes a las 30 preguntas y
  • El vector NAME está compuesto por los nombres de ellos.

Las respuestas de cada pregunta se codifican entre 1 y 5, si se señala más de una respuesta o no se señala ninguna, se escribe 6.

Escriba un algoritmo en seudo-código cuya salida sean los nombres de los estudiantes que aprobaron.

Nota: Para aprobar se requiere al menos un 60% de respuestas correctas.

1Eva_IT2003_T4 Lado mayor de un polígono

Parcial I Término 2003 – 2004. Julio 08, 2003 /ICM00794

Tema 4. (25 puntos) Escriba un algoritmo en pseudocódigo que le permita al usuario ingresar en dos vectores X, Y las coordenadas de los vértices de un polígono de n lados en el plano, y determine cuál es la magnitud mayor de los lados.

Sugerencia: Considere la fórmula de distancia entre dos puntos
P1(X1, Y1) y P2(X2, Y2) en el plano.

d(P_1,P_2) = \sqrt{(x_2-x_1)^2+(y_2-y_1)^2}

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.

1Eva_IT2003_T3 Operaciones sucesivas hasta 1

Parcial I Término 2003 – 2004. Julio 08, 2003 /ICM00794

Tema 3 (25 puntos) Dado un número n entero positivo, el siguiente procedimiento aplicado repetidamente al número lo modifica hasta que finalmente toma el valor de 1:

a) Si es par, divídalo para dos
b) Si es impar, multiplíquelo por tres y súmele 1

Diseñe un diagrama de flujo que encuentre cuál es el número entre 1 y 100 que requiere más repeticiones del procedimiento anterior hasta convertirlo en 1.

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

1Eva_IT2003_T2 Verificar una inducción matemática

Parcial I Término 2003 – 2004. Julio 08, 2003 /ICM00794

Tema 2. (15 puntos) Por el proceso de Inducción Matemática se puede demostrar la siguiente propiedad:

1^3 + 2^3 + 3^3 + \text{...}+ n^3 = \Big[ \frac{n(n+1)}{2}\Big]^2 \forall n \in \mathbb{N}

Realice un programa que valide el ingreso de un valor n entero (10 n 50) y verifique si cumple tal propiedad.

Sugerencia: calcule ambos lados de la ecuación y compare resultados.

Rúbrica: suma de serie al cubo (5 puntos), formula derecha y comparación (5 puntos). Revisión de la propiedad (5 puntos)

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.