Pages

sexta-feira, 1 de julho de 2016

Algoritmo para calcular o determinante de uma matriz.

Podemos calcular o determinante de qualquer matriz desde que essa seja quadrada, ou seja, que a matriz tenha o mesmo número de linhas e de colunas (seja uma matriz de ordem n x n).

algoritmo "determinante"
var
     m, cont,linha,linha1,coluna: inteiro
    cont1, cont2:real
    mat:vetor [1..5,1..5] de real
    
inicio
       para linha de 1 ate 3 passo 1 faca
           para coluna de 1 ate 3 passo 1 faca
                escreva("Informe um número: ")
                leia(mat[linha,coluna])
           fimpara
      fimpara

       cont2 <- 0
       cont <- 0
       cont1 <- 0
      para linha de 1 ate 3-1 faca
          se(mat[linha,linha] = 0)entao
                 para linha1 de linha ate 3 faca
                      se(mat[linha1,linha] <> 0)entao
                           para coluna de 1 ate 3 faca
                                cont2 <- mat[linha, coluna]
                                 mat[linha, coluna]<-mat[linha1, coluna]
                                 mat[linha1, coluna] <- cont2
                           fimpara
                           linha1 <- 3
                      fimse
                 fimpara
                 cont<- cont +1
          fimse
          
        se(mat[linha,linha] <> 0)entao
             para linha1 de linha+1 ate 3 faca
                    cont1 <- (-1.0) * mat[linha1, linha] /  mat[linha,linha]
                    para coluna de linha ate 3 faca
                          mat[linha1, coluna] <- mat[linha1, coluna] + (cont1 * mat[linha, coluna])
                    fimpara
             fimpara
        fimse
          
      fimpara
      cont2 <- 1.0
       para linha de 1 ate 3 faca
            cont2 <- cont2 *  mat[linha, linha]
       fimpara
       
       escreva("Determinante:")
    se(cont mod 2 = 0)entao
        escreva( cont2)
    senao
        escreva(-1.0 * cont2)
    fimse

fimalgoritmo


Duvidas ou Trabalhos para fazer entre em Contato: Email: marcofernando71@gmail.com

0 comentários:

Postar um comentário