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