Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
algoritmo "determinantes" // Função : Determinantes // Autor : Francinaldo // Data : 22/03/2016 // Seção de Declarações var n,i,j,f,g,s:inteiro end:caractere run,cal:logico q,sinal,som,som_,det:real temp:vetor[1..20] de real mat:vetor[1..20,1..20] de real inicio repita limpatela sinal<-1 escreval("Olá. Este algoritmo calcula o determinante de uma dada matriz n x n.") repita escreval("Imforme um valor menor ou igual a 20 para n:") leia(n) ate (n>0) e (n<=50) escreva(" ") para s de 1 ate n faca escreva(s:2," ") fimpara escreval para i de 1 ate n faca escreva(" ") para s de 1 ate n faca escreva("----") fimpara escreval para j de 1 ate n faca se j=1 entao escreva(i:2," |") fimse escreva(" |") fimpara escreval fimpara escreva(" ") para s de 1 ate n faca escreva("----") fimpara escreval para i de 1 ate n faca para j de 1 ate n faca escreval("Entre com o termo na posição [",i,",",j," ]:") leia(mat[i,j]) se mat[i,j]-int(mat[i,j])<>0 entao in<-falso fimse limpatela run<-verdadeiro escreva(" ") para s de 1 ate n faca escreva(s:2," ") fimpara escreval para f de 1 ate n faca escreva(" ") para s de 1 ate n faca escreva("----") fimpara escreval para g de 1 ate n faca se g=1 entao escreva(f:2," |") fimse se run entao escreva ((mat[f,g]):3,"|") senao escreva(" |") fimse se (f=i)e(g=j)entao run<-falso fimse fimpara escreval fimpara escreva(" ") para s de 1 ate n faca escreva("----") fimpara escreval fimpara fimpara cal<-verdadeiro para i de 1 ate n faca som<-0 som_<-0 para j de 1 ate n faca som<-som+mat[i,j] som_<-som_+mat[j,i] fimpara se (som=0)ou(som_=0) entao det<-0 cal<-falso fimse fimpara se cal entao s<-1 repita para i de s ate n faca se mat[i,s]<>0 entao para f de s ate i faca se mat[f,s]=0 entao para j de 1 ate n faca temp[j]<-mat[f,j] mat[f,j]<-mat[i,j] mat[i,j]<-temp[j] sinal<-(-1*sinal) fimpara fimse fimpara fimse fimpara para i de s+1 ate n faca q<-mat[i,s] para j de s ate n faca mat[i,j]<-mat[i,j]-(q/mat[s,s])*mat[s,j]) fimpara fimpara s<-s+1 ate s>n det<-mat[1,1] para s de 2 ate n faca det<-det*mat[s,s] fimpara det<-det*sinal fimse escreval("----------------------------------") escreval("O determinante da matriz é",det) escreval escreval("Tecle enter para calcular novamente ou insira qualquer tecla para encerrar:") leia(end) ate end<>"" fimalgoritmo
Compartilhar