2Eva_IIT2003_T4 Contar palabras en un archivo

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

Tema 4
a) Escriba una función cuenta_palabra() en C/C++ que reciba una cadena de caracteres y determine cuántas palabras contiene. Suponga que las palabras están separadas por un espacio en blanco.

b) Escriba un programa de prueba en C/C++ que llame a dicha función para determinar cuántas palabras contienen las primeras 20 líneas del archivo de texto “A:\datos.txt”. El programa también deberá indicar cuál es la palabra más larga de entre las contenidas en esas 20 primeras líneas.

 

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.

1Eva_IIT2003_T3 Personas asignadas a proyectos

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

Tema 3. (25 puntos)

En una Matriz de orden nxm se quiere representar la relación de n personas y m proyectos. Los datos de la matriz pueden ser:

1: Persona asignada al proyecto,
0
: Persona no asignada al proyecto.

Escriba un algoritmo que realice lo siguiente:

a) Lea y valide los datos de la matriz.

b) Para cada proyecto, liste cuántas personas han sido asignadas.

c) Liste cuáles son las personas que No están Asignadas a proyecto alguno.

m
Matriz 1 2 3
1 0 1 0
2 1 0 0
3
Personas n 4

1Eva_IIT2003_T2 Sumar términos de progresión geométrica

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

Tema 2. (20 puntos) Escriba un algoritmo que muestre por pantalla el resultado de la suma S de los términos de una progresión geométrica, de primer término a y razón r, con valores de i desde 0 hasta n.

El algoritmo debe solicitar al usuario los valores de a, n y r, y validar que r sea diferente de 1.

S = \sum_{i=0}^{n} a + ar + ar^2 + ar^3 + ... + ar^n

Referencia: UCC+1,Predicen la evolución de la progresión geométrica del COVID-19

2Eva_IIT2003_T2 Mostrar un triángulo de Pascal

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

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

Muestre por pantalla la matriz de Pascal 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.

Sugerencia: Usando una matriz cuadrada, en la primera columna y la diagonal llene de unos. Luego realice las operaciones en la parte triangular inferior.

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.