Estás en:   ArielOrtiz.com > Informática industrial > Proyecto final: Regla de Cramer

Proyecto final: Regla de Cramer

Objetivos

Durante esta actividad:

Esta actividad promueve las siguientes habilidades, valores y actitudes: capacidad para resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.

Descripción de la Actividad

De manera individual o en parejas, escribe un programa completo en lenguaje C llamado cramer.c que implemente la regla de Cramer para resolver un sistema de tres ecuaciones lineales con tres incógnitas.

El programa debe pedir al usuario el nombre del archivo de texto que contiene la matriz de coeficientes y sus respectivos términos independientes. Por ejemplo, dado el siguiente sistema de ecuaciones:

2x1 − 3x2 + 4x3 = 3.25
10x1 − 5x2 + x3 = 4.5
x1 + 2x2 + x3 = 0.75

El contenido del archivo correspondiente sería:

  2.0  -3.0  4.0  3.25
 10.0  -5.0  1.0  4.5
 -1.0   2.0  1.0  0.75

Posteriormente, el programa debe leer el archivo y resolver el sistema de ecuaciones, desplegando en la pantalla la determinante (D) de la matriz de coeficientes, las determinantes para cada incógnita (D(x1), D(x2) y D(x3)), así como los valores de cada incógnita (x1, x2 y x3). Si la determinante de la matriz de coeficientes es cero, debe desplegar un mensaje de error indicando que el sistema no tiene solución.

Ejemplo 1

Archivo de entrada:

4 -1  1 -5
2  2  3 10
5 -2  6  1

Salida:

D = 55
D(x1) = -55
x1 = -1
D(x2) = 165
x2 = 3
D(x3) = 110
x3 = 2

Ejemplo 2

Archivo de entrada:

  2.0  -3.0  4.0  3.25
 10.0  -5.0  1.0  4.5
 -1.0   2.0  1.0  0.75

Salida:

D = 79
D(x1) = 39.5
x1 = 0.5
D(x2) = 19.75
x2 = 0.25
D(x3) = 59.25
x3 = 0.75

Ejemplo 3

Archivo de entrada:

1  1  1  1
2  2  2  2
3  3  3  3

Salida:

Sin solucion!

Para puntos extra...

El programa debe poder resolver un sistema de N ecuaciones con N incógnitas, en donde 1 ≤ N ≤ 10. Para este caso, el archivo de entrada comienza con un número entero que indica el valor de N.

Ejemplo 4

Archivo de entrada:

4

  3  5 -10 -1  12
 -1 -2  -3 -4   6
  1  1   1  1   5
 -3  5  12  7  -8

Salida:

D = 228
D(x1) = 1140
x1 = 5
D(x2) = 912
x2 = 4
D(x3) = 684
x3 = 3
D(x4) = -1596
x4 = -7

Ejemplo 5

Archivo de entrada:

6

 2 -3  4 -5  6 -7 -192
10 -5  1  0  1 -7 -256
-1  2  1  1  5 -3   32
 0  4 10 -8  2 -1   58
-4 -2 -1 -2  4  1   55
 1 -1 -1 -1  1  1   30

Salida:

D = 12771
D(x1) = 51084
x1 = 4
D(x2) = 102168
x2 = 8
D(x3) = 191565
x3 = 15
D(x4) = 204336
x4 = 16
D(x5) = 293733
x5 = 23
D(x6) = 536382
x6 = 42

Ejemplo 6

Archivo de entrada:

1

10 5

Salida:

D = 10
D(x1) = 5
x1 = 0.5

Ejemplo 7

Archivo de entrada:

2

 0.5  2.5  6
 4    5   -6

Salida:

D = -7.5
D(x1) = 45
x1 = -6
D(x2) = -27
x2 = 3.6

Ejemplo 8

Archivo de entrada:

10

  10  -3   4  15 -20   1 -11  -3   7  -9  -2
  -5   7   2   1  -4   2   1 -10 -19  25  29
  -3  -2  -5   7  10   9   5   7 -12   1  -7
   4  -1   1   1   0   6   7  11 -19  -2  -9
  -1  -2  -3  -4  -5   6  -7  -8   9  10  29
   2  -2   2  -2  -2   3   3  -3  -3   3   8
  10  -9   8  -7   6   5  -4  -3  -2   1  12
   0   1   0  -1   0   1   0   1   0  -1   2
   1   0   1   0   1   0   1   0  -1   0   7
   6  -6   6  -6  -6   6   6  -6  -6   6  18

Salida:

D = 2.46054e+08
D(x1) = 1.23027e+09
x1 = 5
D(x2) = 9.84218e+08
x2 = 4
D(x3) = 7.38163e+08
x3 = 3
D(x4) = 4.92109e+08
x4 = 2
D(x5) = 2.46054e+08
x5 = 1
D(x6) = 4.92109e+08
x6 = 2
D(x7) = 7.38163e+08
x7 = 3
D(x8) = 9.84218e+08
x8 = 4
D(x9) = 1.23027e+09
x9 = 5
D(x10) = 1.47633e+09
x10 = 6

¿Qué se debe entregar?

El archivo fuente de lenguaje C debe incluir en la parte superior un comentario con el nombre y matrícula de los autores del proyecto. Por ejemplo:

/*
 +--------------------------
 | Ramiro González 1166666 
 | Gonzalo Ramirez 1166667
 +--------------------------
 */

Sube el archivo cramer.c al Sistema de Entrega de Tareas Automatizado. Basta que una sola persona suba el proyecto en caso de tratarse de una pareja. No se aceptan proyectos por ningún otro medio.

Fecha límite: Martes, 18 de mayo.

Evaluación

Esta actividad se evaluará usando los siguientes criterios:

−10 No se incluyó un comentario con los nombres y matrículas de los autores en el archivo fuente.
−80 No se utilizó la regla de Cramer en el desarrollo de proyecto.
DA Si se detecta plagio o fraude.
0-100 Dependiendo de la funcionalidad del programa.
© 1996-2010 por Ariel Ortiz Ramírez (ariel.ortiz@itesm.mx)
Desarrollado en Django | Licencia de Creative Commons | XHTML válido | CSS válido