Categoría: Evaluaciones

Ejercicios de examen

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

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