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.
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.
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
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
Archivo de entrada:
1 1 1 1 2 2 2 2 3 3 3 3
Salida:
Sin solucion!
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.
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
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
Archivo de entrada:
1 10 5
Salida:
D = 10 D(x1) = 5 x1 = 0.5
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
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
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.
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. |