Ejercicios de repaso Primer Parcial


  1. Escriba un programa que repetidamente lea valores para a, b y c y calcule las raíces del polinomio ax^2+bx+c. Tenga en cuenta todos los casos posibles.
  2. El límite cuando i tiende a infinito de la siguiente sucesión es la raíz cuadrada de a.
    x0 = 1, xi+1 = 1/2 ( xi + a/xi )
    Implemente una función (prototipo double my_sqrt( double x ); ) que calcule la raíz cuadrada de x usando un algoritmo basado en la sucesión anterior.
  3. Implemente una versión recursiva de la función del problema anterior.
  4. Escriba una función que reciba un entero n y retorne verdadero o falso de acuerdo a si n es primo o no.
    Nota: según los matemáticos mas recalcitrantes, n es primo si tiene exactamente cuatro divisores que son 1, -1, n y -n. Note que según la nota 1, -1 y 0 no son primos.
  5. El momento n-ésimo (mn) de una distribución de probabilidad f(x) se define como la suma (o integral, si la distribución es continua) de f(x)*(x-m1)^n. Una forma de estimar esta suma (o integral) es reemplazarla por una suma sobre una muestra finita de valores tomados de la distribución f(x). Calcule los momentos 0, 1, 2, 3 y 4 de la distribución plana entre -0.5 y 0.5 (use la función rand() para generar esa distribución).
  6. Implemente una función que sume y otra que multiplique dos matrices cuadradas de rango n.
    #define N 5
    void sumaMat( double a[][N], double b[][N], double suma[][N] ); /* suma = a + b */
    void multMat( double a[][N], double b[][N], double mult[][N] ); /* mult = a * b */

    Nota: recuerde que el elemento mult[i][j] de la matriz producto es la suma sobre k de a[i][k] * b[k][j].