-
Lenguaje
PSeInt (Pseudocódigo)
-
Descripción
Resuelve sistemas de ecuaciones con el método de Gauss-Jordan.
Por ejemplo para resolver el siguiente sistema de ecuaciones:2x + y - z = 8 -3x - y + 2z = -11 -2x + y + 2z = -3
Ingrese los siguientes datos:
Ingrese el número de ecuaciones (n): 3
Ingrese la literal de la variable 1: x
Ingrese la literal de la variable 2: y
Ingrese la literal de la variable 3: z
Ingrese el coeficiente de la variable 'x' de la ecuación 1: 2
Ingrese el coeficiente de la variable 'y' de la ecuación 1: 1
Ingrese el coeficiente de la variable 'z' de la ecuación 1: -1
Ingrese la constante de la ecuación 1: 8
Ingrese el coeficiente de la variable 'x' de la ecuación 2: -3
Ingrese el coeficiente de la variable 'y' de la ecuación 2: -1
Ingrese el coeficiente de la variable 'z' de la ecuación 2: 2
Ingrese la constante de la ecuación 2: -11
Ingrese el coeficiente de la variable 'x' de la ecuación 3: -2
Ingrese el coeficiente de la variable 'y' de la ecuación 3: 1
Ingrese el coeficiente de la variable 'z' de la ecuación 3: 2
Ingrese la constante de la ecuación 3: -3
Solución:
x = 2
y = 3
z = -1
Presione una tecla para continuar . . .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Algoritmo ProcesoGaussJordan
Escribir Sin Saltar "Ingrese el número de ecuaciones (n):";
Leer n;
Dimension matriz[n,n+1];
Dimension literales[n];
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir Sin Saltar "Ingrese la literal de la variable ", i, ":";
Leer literales[i];
FinPara
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir Sin Saltar "Ingrese el coeficiente de la variable ", literales[j], " de la ecuación ", i, ":";
Leer matriz[i,j];
FinPara
Escribir Sin Saltar "Ingrese la constante de la ecuación ", i, ":";
Leer matriz[i,n+1];
FinPara
Escribir "";
Para i<-1 Hasta n Con Paso 1 Hacer
Si matriz[i,i]=0 Entonces
Escribir "Error: división entre cero.";
Escribir "";
FinSi
Para k<-1 Hasta n Con Paso 1 Hacer
Si k<>i Entonces
termino <- matriz[k,i]/matriz[i,i];
Para j<-1 Hasta n+1 Con Paso 1 Hacer
matriz[k,j] <- matriz[k,j]-termino*matriz[i,j];
FinPara
FinSi
FinPara
FinPara
Escribir "Solución:";
Escribir "";
Para i<-1 Hasta n Con Paso 1 Hacer
termino <- matriz[i,n+1]/matriz[i,i];
Escribir literales[i], " = ", termino;
FinPara
FinAlgoritmo
Escribir Sin Saltar "Ingrese el número de ecuaciones (n):";
Leer n;
Dimension matriz[n,n+1];
Dimension literales[n];
Para i<-1 Hasta n Con Paso 1 Hacer
Escribir Sin Saltar "Ingrese la literal de la variable ", i, ":";
Leer literales[i];
FinPara
Para i<-1 Hasta n Con Paso 1 Hacer
Para j<-1 Hasta n Con Paso 1 Hacer
Escribir Sin Saltar "Ingrese el coeficiente de la variable ", literales[j], " de la ecuación ", i, ":";
Leer matriz[i,j];
FinPara
Escribir Sin Saltar "Ingrese la constante de la ecuación ", i, ":";
Leer matriz[i,n+1];
FinPara
Escribir "";
Para i<-1 Hasta n Con Paso 1 Hacer
Si matriz[i,i]=0 Entonces
Escribir "Error: división entre cero.";
Escribir "";
FinSi
Para k<-1 Hasta n Con Paso 1 Hacer
Si k<>i Entonces
termino <- matriz[k,i]/matriz[i,i];
Para j<-1 Hasta n+1 Con Paso 1 Hacer
matriz[k,j] <- matriz[k,j]-termino*matriz[i,j];
FinPara
FinSi
FinPara
FinPara
Escribir "Solución:";
Escribir "";
Para i<-1 Hasta n Con Paso 1 Hacer
termino <- matriz[i,n+1]/matriz[i,i];
Escribir literales[i], " = ", termino;
FinPara
FinAlgoritmo