1Eva_IIIT2003_T2 Verificar números triangulares

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

Tema 2. (25 puntos) Considere la secuencia de números triangulares, cuyo nombre refleja su ley de formación:

1, 3, 6, 10, …


Escriba un algoritmo en seudo-código que indique si un número natural t, ingresado por teclado, es triangular.

Esto es, si es de la forma:

t = \sum_{i=1}^{n}i

para algún número natural n

Rúbrica: identificación de piso en operación (5 puntos), cálculo de usados (5 puntos), control de pisos construidos (5 puntos), validar s es triangular (5 puntos), algoritmo estructurado (5 puntos)

Referencia: Número triangular. Wikipedia

2Eva_IIIT2003_T2 Raíz cuadrada por Newton, recursiva

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

Tema 2. La raíz cuadrada de un número real x mayor que 0 se puede obtener a través de una aproximación n-ésima de una función f según el método de Newton, el cual establece lo mostrado:

f(1) = \frac{x}{2} f(2) = 0.5\Bigg(f(1) + \frac{x}{f(1)}\Bigg) f(3) = 0.5\Bigg(f(2) + \frac{x}{f(2)}\Bigg)

f(n) = 0.5\Bigg(f(n-1) + \frac{x}{f(n-1)}\Bigg)

a) Escriba una función recursiva f que reciba dos parámetros:

  • x (el número del cual se desea calcular la raíz cuadrada) y
  • n (el número de aproximaciones).

Esta función debe retornar la raíz cuadrada de x para la n-ésima aproximación.

b) Escriba un programa que permita el ingreso de un número real x y que, mediante sucesivas llamadas a la función f, muestre los resultados del cálculo de la raíz cuadrada de dicho número para cada una de las 10 primeras aproximaciones (n = 1, 2, 3, .. , 10).

Nota: considere aplicar una bandera como indicador que la raiz no es posible para números negativos o cero. Tampoco es posible para n menores que 1

Referencia: https://es.wikipedia.org/wiki/Ra%C3%ADz_cuadrada


Ejemplo:

ingrese x: 9
aproximación n-esima: 10
 i , f(i)
0 nan
1 4.5
2 3.25
3 3.0096153846153846
4 3.000015360039322
5 3.0000000000393214
6 3.0
7 3.0
8 3.0
9 3.0
10 3.0
>>> 

2Eva_IIIT2003_T1 Juego de dados por sumas

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

Tema 1. En un juego se lanza un dado 5 veces y se gana cuando la suma de puntos obtenida en los dos primeros lanzamientos es igual a la obtenida en los restantes tres.

Ejemplo:

>>juego()
dado = [3, 2, 1, 3, 1]
sumas = [5, 5]
ans=1

>>juego()
dado = [2, 4, 5, 2, 1]
sumas = [6, 8]
ans=0

a) Escriba una función, denominada juego(), que simule los cinco lanzamientos del dado y retorne dos posibles valores:
1, si se trata de un jugada ganadora y
0 en caso contrario.

b) Escriba un programa en C/C++ que permita realizar 1000 jugadas diferentes sucesivas mediante llamadas a la función juego, y que muestre por pantalla el porcentaje de jugadas ganadoras.

1Eva_IIIT2003_T1 Prueba de escritorio, conceptos

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

Tema 1.

a) (10 puntos) Complete la siguiente Tabla de números escritos en diferentes bases numéricas:

Decimal Binario Octal Hexa- decimal
1568
A2D

b) (15 puntos) Muestre el contenido de los 10 valores del vector X al finalizar la siguiente secuencia de instrucciones:

Para j ← 1 hasta 3, incremento 1
    X[j] ← j - 1
fin
Para j ← 4 hasta 10, incremento 1
    X[j] ← X[j-3] - X[j-2] + X[j-1]
fin
Tabla para Prueba de Escritorio
j 1 2 3 4 5 6 7 8 9 10
X[j]

Rúbrica: literal a (2 puntos cada casilla). literal b, manejo de indices (2 puntos), manejo de vectores (5 puntos), interpretación de operaciones (5 puntos), valores completos (2 puntos).

1Eva_IIT2003_T4 Juego con icosaedros

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

Tema 4. (30 puntos) Se requiere implementar un juego por computadora que consiste en generar aleatoriamente el lanzamiento de 2 icosaedros (poliedro regular de 20 caras triangulares).

Las caras están identificadas por color (azul, blanco, rojo o negro) y un número entero (1, 2, 3, 4 o 5).

Una vez lanzados y se han detenidos los dos icosaedros (lanzamientos simulados), considere las siguientes reglas para el juego:

  • Se observan las caras de la base:
  • Si coinciden los colores de las bases, el jugador gana 10 centavos.
  • Si coinciden los números de las bases, el jugador gana 10 centavos.
  • Si coinciden los colores y los números de las bases, el jugador gana 50 centavos.
  • Si la suma de los números de las bases es impar, el jugador gana 5 centavos más.

Para iniciar el juego, se debe presionar el número 1.

Para seguir jugando se debe presionar el número 2, y

Para terminar el juego se debe presionar el número 3.

Al final del juego se deberá mostrar el total pagado al Jugador y la cantidad de lanzamientos realizados.

A continuación se muestra una ejecución en pantalla del algoritmo que se debe construir:

Presione 1 para iniciar el juego: 1
 Icosaedro 1: 2 de color rojo
 Icosaedro 2: 4 de color rojo
 Jugador GANO 10 centavos

Presione 2 para lanzar, 3 para salir: 2
 Icosaedro 1: 3 de color azul
 Icosaedro 2: 3 de color negro
 Jugador GANO 10 centavos

Presione 2 para lanzar, 3 para salir: 2
 Icosaedro 1: 4 de color blanco
 Icosaedro 2: 4 de color blanco
 Jugador GANO 50 centavos

Presione 2 para lanzar, 3 para salir: 2 
 Icosaedro 1: 3 de color negro
 Icosaedro 2: 4 de color negro
 Jugador GANO 15 centavos

Presione 2 para lanzar, 3 para salir: 3
 El jugador GANO 85 centavos en 4 Lanzamientos

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.