3Eva_IIIT2003_T2 Socios del club por género

Mejoramiento III Término 2003 – 2004. Abril, 2004 /ICM00794

Tema 2. Dispone de tres vectores que contienen el nombre, el género y la edad de cada uno de los miembros de un club juvenil. Los valores de género: masculino y femenino se representan por su inicial mediante ‘M‘ y ‘F‘ respectivamente.

Escriba un programa en C/C++ que usando un menú realice lo siguiente:

a) Ingrese el nombre, el género y la edad de cada uno de los miembros del club. El ingreso finaliza cuando el usuario ya no desea seguir ingresando más datos (se deberá hacer una pregunta pertinente luego del ingreso de un miembro).

b) Genere dos nuevos vectores, denominados HOMBRES y MUJERES, los cuales deberán contener los nombres de todos los varones y de todas las damas, respectivamente.

c) Muestre por pantalla los nombres de los integrantes con la menor edad en el club.


Ejemplo de ejercicio en Python

un nombre:  Maria
genero M/F: F
edad:   18
finalizar 0/1:0
un nombre:  Pedro
genero M/F: M
edad:   19
finalizar 0/1:0
un nombre:  Ana
genero M/F: F
edad:   19
finalizar 0/1:0
un nombre:  Juan
genero M/F: M
edad:   20
finalizar 0/1:1
hombres:  ['Pedro', 'Juan']
mujeres:  ['Maria', 'Ana']
>>> 

3Eva_IIIT2003_T1 Funciones lógicas pyq y poq

Mejoramiento III Término 2003 – 2004. Abril, 2004 /ICM00794

Tema 1. Analice las dos siguientes formas de expresiones lógicas:

a. (p ∧ q)
b. (p ∨ q)

donde p y q son variables proposicionales que pueden tomar los valores 0 ó 1.

Escriba una función denominada pyq() y otra función denominada poq(), que reciban 2 variables proposicionales como parámetros y devuelvan un 1 si la expresión lógica respectiva es verdadera o 0 si es falsa.

Escriba un programa en C/C++ que reciba valores para p y q y use las funciones anteriores para evaluar las siguientes expresiones:

1. (p ∧ q) ∨ (p ∧ q)
2. p ∨ (p ∧ q)

3Eva_IT2003_T6 Prueba de escritorio, algoritmo

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

Nota.- En este examen deben desarrollarse un total de 4 temas. El desarrollo de los temas 1, 2 y 3 es obligatorio. UD. puede seleccionar un solo tema de entre los restantes (4, 5 o 6). Cada tema tiene igual ponderación (25%).

Tema 6. Dado el siguiente fragmento de programa:

float A[5]={1,2,4,6,8};
int i;
float *p;
for (i=0;i<5;i++){
    p=&A[i];
    *p=*p+i;
}

¿Cuál es el contenido del vector A[] luego de ejecutar dicha secuencia de instrucciones?

 A[]
 i
 p

3Eva_IT2003_T5 Calcular área de f(x) por Montecarlo

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

Nota.- En este examen deben desarrollarse un total de 4 temas. El desarrollo de los temas 1, 2 y 3 es obligatorio. UD. puede seleccionar un solo tema de entre los restantes (4, 5 o 6). Cada tema tiene igual ponderación (25%).

Tema 5. El área bajo la curva de una función f puede estimarse mediante el método de Montecarlo, que consiste en lo siguiente:

  • Establecer un rectángulo tal que x Є [a,b]; y Є [0,d], tal que y=f(x)
  • Generar un numero n de puntos aleatorios tal que a<x<b, 0<y<d.
  • Indicar cuántos de estos puntos caen bajo la curva y=f(x)
  • El área bajo la curva puede estimarse mediante la relación:
\frac{\text{Area bajo la curva}}{\text{Area bajo el rectangulo}} = \frac{\text{numero de puntos bajo la curva}}{n}

Escriba un programa en C/C++ que lea las dimensiones a, b, d de la posición del rectángulo, genere aleatoriamente n pares ordenados dentro de ese rectángulo e indique cuántos puntos están bajo la curva y=f(x)=xe-(x/2) en el intervalo [0,2]

3Eva_IT2003_T4 Prueba de escritorio, funciones

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

Nota.- En este examen deben desarrollarse un total de 4 temas. El desarrollo de los temas 1, 2 y 3 es obligatorio. UD. puede seleccionar un solo tema de entre los restantes (4, 5 o 6). Cada tema tiene igual ponderación (25%).

Tema 4. Dada la siguiente definición para una función denominada misterio():

int misterio(int m,int n){
    if (m==0)
        return n+1;
    else
        if (n==0)
            return misterio(m-1,1);
        else
            return misterio(m-1, misterio(m,n-1));
}
m
n

Realice una prueba de escritorio (paso por paso), para mostrar el resultado de la ejecución de la sentencia: misterio(1,1)

3Eva_IT2003_T3 Reportar notas desde un archivo

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

Tema 3. Se tienen los datos de 20 estudiantes almacenados en ‘c:\notas\entrada.dat’. En el archivo, la estructura de cada registro para cada estudiante estudiante es:

entrada.dat: 
matricula (9 caracteres),apellido (10 caracteres), nota1 (entero), nota2 (entero), faltas (entero)

Lea los datos de los estudiantes almacenados en ‘c:\notas\entrada.dat’, y genere el archivo ‘c:\notas\salida.dat’, donde para cada estudiante se consideran los siguientes datos:

salida.dat:
matricula (9 caracteres), apellido (10 caracteres), promedio (entero), estado (tipo caracter).
  • Promedio almacena el promedio de las 2 mejores notas.
  • Estado puede tomar el valor «A» si el estudiante aprueba, o «R» si reprueba.

Un estudiante aprueba cuando el promedio es mayor o igual que 60 y el numero de faltas es menor que el 40% del total de clases dictadas (definido con una constante NUM_CLASES).
Un estudiante reprueba en caso de no cumplir tal requisito de aprobación.

3Eva_IT2003_T2 Verificar un cuadrado mágico

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

TEMA 2. Un cuadrado mágico es una matriz cuadrada de orden n, tal que sus elementos son los números 1, 2, 3, 4, …, n2; sin repeticiones y ubicados de tal manera que la suma de los elementos de cada fila es igual a la suma de los elementos de cualquier columna e igual a la suma de los elementos de las diagonales.

Por ejemplo, la matriz siguiente es un cuadrado mágico de tercer orden.

4 9 2
3 5 7
8 1 6
Ejemplo:
Es un cuadrado mágico: 1

Escriba un programa en C/C++ que permita leer los elementos de una matriz nxn, tal que n<10 y verifique si el cuadrado es mágico.

3Eva_IT2003_T1 Raíces enteras positivas del polinomio

Mejoramiento I Término 2003 – 2004. Septiembre 16, 2003 /ICM00794

Tema 1. Encuentre el número de raíces enteras positivas y diferentes menores que 20 que hay en la ecuación polinómica p(x)=0, donde:

p(x) = – 336x + 356x + 208x  – 337x4   + 127x5  + 19x6 + x7

término 1 2 3 4 5 6 7
coeficiente [término] -336 356 208 -337 127 -19 1

a) Escriba una función num_raices que:

  • reciba el grado del polinomio y un arreglo entero con los coeficientes de la ecuación y
  • retorne el número de raíces enteras positivas y diferentes menores que 20, de dicha ecuación.

b) Escriba un programa en C/C++ que permita leer el grado y los coeficientes del polinomio p(x), llame a la función num_raices y presente el resultado.

3Eva_IT2002_T3 Determinar productos iguales entre vendedores

Mejoramiento I Término 2002 – 2003. Septiembre 24, 2002 /ICM00794

Tema 3. Suponga que existen en una unidad de almacenamiento los archivos :

‘A:\vendedor1.txt’ y
A:\vendedor2.txt’

que contienen los registros de artículos de cada uno de los vendedores con la siguiente información:

 

código de un artículo (entero) y 
nombre del artículo (10 caracteres)

a) Escriba un programa en C++ que lea desde el teclado dos listas conteniendo los códigos de los artículos que ofrecen dos vendedores.
Luego las almacene en los archivos descritos.
Cada lista puede tener hasta 20 códigos.

b) Compare y muestre ¿cuales son los nombres de los artículos que están ofreciendo ambos vendedores?

Sugerencia: almacene las listas en arreglos de una dimensión, encuentre la intersección de las dos listas y busque los nombres en el archivo A:\DATOS.

3Eva_IT2002_T2 Determinar primo permutable

Mejoramiento I Término 2002 – 2003. Septiembre 24, 2002 /ICM00794

Tema 2. Se dice que un número de dos cifras es primo permutable si al intercambiar sus cifras sigue siendo primo.

Ejemplos:
 37 es primo y 73 es primo
 17 es primo y 71 es primo
 19 es primo y 91 no es primo, no es primo permutable
 etc.

a) Escriba una función para determinar si un número es primo.

b) Use esta función en un programa que seleccione aleatoriamente números de dos cifras hasta encontrar un número primo permutable.

Sugerencia: Para cada número generado separe los dígitos y obtenga el número con las cifras intercambiadas. Llame dos veces a la función indicada y termine cuando ambos números sean primos.