FATORAÇÃO LU.

Slides:



Advertisements
Apresentações semelhantes
Estruturação de Linguagens (Pascal e C++)
Advertisements

Linguagem de Programação I
Linguagem PASCAL Definição e Tipos de Dados
Linguagem PASCAL Estruturas de Controle
COMPARAÇÃO MÉTODOS DIRETOS E ITERATIVOS
Programas e Microprogramas
Pesquisa de Informação
Arquitetura de Sistemas Operacionais
Universidade Federal do Pará Serviço Público Federal Centro de Ciências Exatas e Naturais Departamento de Informática Abril/2001.
Estrutura de Dados I Profº.: ABC Sampaio
PROGRAMAÇÃO MODULAR (com uso de subprogramas) prof
Introdução à Linguagem PASCAL Prof. Luis Otavio Alvares
Adaptado de material da profa. Maria Aparecida Livi
Algoritmos e Programação Estruturada Conceitos básicos
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Algoritmos com seleção
{Exemplo de um programa PASCAL} uses CRT; var
Algoritmos e Estruturas de Dados II
Sincronização e Comunicação entre Processos
O Portal do Estudante de Computação
O Portal do Estudante de Computação
O Portal do Estudante de Computação
GAUSS COM PIVOTEAMENTO
O Portal do Estudante de Computação
Paradigmas de programação
João Lucas de Oliveira Torres
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
Variáveis, Tipos de Dados e Constantes
Estruturas de Controlo em Pascal
O Portal do Estudante de Computação
Prof. Dr. Marcelo Duduchi
Exercícios de revisão.
MÉTODO JACOBI.
Sub-programas. Mecanismo de composição de programas Sub-programa está para peça de LEGO assim como um programa está para a construção.
Estrutura de Dados Unidade 16 Simulação da função Fatorial utilizando recursão – 16.1 Prof. Dr. Roberto Ferrari Jr.
Introdução a Programação COM 100 Aula 07 Procedimentos.
Introdução a Programação COM 100
Ponteiros em Pascal Variáveis ponteiros são aquelas que guardam o endereço de outra, possibilitando o acesso a seu conteúdo. Declaração em Pascal:  var.
O que é o Delphi ? Uma IDE (Integrated Development Enviroment)
Introdução ao uso de vatores na linguagem PASCAL.
Programação e Estrutura de Dados
Paradigmas de Programação - prof Gláucya Carreiro Boechat1 Elaborando um Programa Prof.: Gláucya Carreiro Boechat Universidade.
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Computação Eletrônica
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Linguagem Pascal Prof. Sérgio Rodrigues.
Linguagem PASCAL1 Módulo 3 Estrutura de Dados.. Linguagem PASCAL2 Arrays (“Variáveis compostas homogêneas”) n Arrays unidimensionais: identificador: array.
LINGUAGENS DE PROGRAMAÇÃO
“Introdução a Computação” Capítulo II Estruturas de Dados
VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)
Computação Eletrônica
Professor Ulisses Vasconcelos
Estruturas de Dados + Algoritmos = Programas
Técnicas de Programação I
Computação Eletrônica Variáveis Reais e Booleanas.
Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural.
Subprogramas : Procedimentos (procedures) em Pascal
Programação de Computadores - 1
Introdução à Programação
AULA 09 PROGRAMAÇÃO I. Estruturas de Dados Heterogêneas 10/08/2010 Programação I 2 Objetivo: Estudar os tipos de dados heterogêneos:  Registros;  Arrays.
MODULARIZAÇÃO Existem dois tipos de sub-programas –Procedures (procedimentos).Não retorna valores –Functions (funçöes). Retorna valores.
MODULARIZAÇÃO Técnica utilizada e tida como vantajosa na confecção de programas. Consiste em dividir o programa em diversos módulos ou sub-programas, de.
Computadores vs. Programas / Algoritmos Computadores vs. Programas -> Algoritmos O tratamento de problemas através do computador geralmente envolve uma.
Estruturas de repetição ou ciclos
Programação e Sistemas da Informação 48 tempos IPTrans, Novembro 2009 Prof. Marisa Gomes.
Lógica de Programação Curso Técnico em Informática – Escola Olímpio Professor Marcelo Josué Telles
SUB-ROTINAS EM PASCAL PROGRAMAÇÃO MODULARIZADA 252.
Matrizes.
Vetores.
Transcrição da apresentação:

FATORAÇÃO LU

FATORAÇÃO LU - CÓDIGO program LU; INICIO DO PROGRAMA {$APPTYPE CONSOLE} uses SysUtils; Var VARIÁVEIS DO PROGRAMA NUMEROS INTEIROS E REAIS N,I,J,K,Linha,TROCAINT : integer; M,PIVO,TROCA,SOMA : real; A,AInicial : array [1..50,1..50] of real; B,BInicial,Y,RAIZES : array [1..50] of real; ORDEM : array [1..50] of integer; OUTRA : string[3]; const UMReal = 1.00; TOL = 0.01;

FATORAÇÃO LU - CÓDIGO begin //clrscr; LIMPA A TELA writeln('Resolucao de sistemas lineares por Fatoracao LU'); repeat REPETE AS INSTRUCÕES writeln(' Forneca o numero de equacoes , tal que 0 < n < 51 '); readln(N) until (N > 0) and (N < 51); ATÉ QUE ESTAS CONDIÇÕES SEJAM SATISFEITAS writeln(' Forneca a matriz a ser fatorada (linha a linha)'); for I := 1 to N do for J := 1 to N do read(A[I,J]); ORDEM[I] := I ;writeln(' ') end; AInicial := A; writeln('Resolucao de sistemas lineares pela Fatoracao LU'); writeln(' Matriz fornecida ');

FATORAÇÃO LU - CÓDIGO for I := 1 to N do INICIO DO LAÇO begin for J := 1 to N do write(AInicial[I,J]:6:2,'X',J); writeln(' ') end; I := 1; repeat PIVO := abs(A[I,I]); Linha := I; for J := I+1 to N do begin if abs(A[J,I]) > PIVO then begin PIVO := abs(A[J,I]); Linha := J if Linha <> I then begin for J := 1 to N do begin //Troca os coeficientes de linhas TROCA := A[LINHA,J]; A[LINHA,J] := A[I,J]; A[I,J] := TROCA;

FATORAÇÃO LU - CÓDIGO //reorganiza a numeraçao das linhas TROCAINT := ORDEM[Linha]; ORDEM[Linha] := ORDEM[I]; ORDEM[I] := TROCAINT end; if PIVO > TOL then begin for J := I+1 to N do begin M := A[J,I]/A[I,I]; for K := I+1 to N do A[J,K] := A[J,K] - M * A[I,K]; A[J,I] := M inc(I); until (PIVo <= TOL) or (I = N); if PIVO > TOL then begin { Executa Quando PIVO > TOL } writeln('Matrizes L e U'); for I := 1 to N do begin { Impressao da Matriz L } for K := 2 to I do write(A[I,K-1]:6:2); write(UMREAL:6:2); writeln(' ');end; { Fim da Impressao da Matriz L } writeln(' ');

FATORAÇÃO LU - CÓDIGO for I := 1 to N do begin { Impressao da Matriz U } for K := 2 to I do write(' '); for J := I to N do write(A[I,J]:6:2); writeln(' ') end; { Fim da Impressao da Matriz U } end; { Fim da Execucao de Quando PIVO > TOL } if (PIVO <= TOL) or (abs(A[N,N]) <= TOL) then writeln('Matriz Singular') else begin repeat writeln(' Forneca o Vetor B '); for I := 1 to N do read(BInicial[I]); for I := 1 to N do B[I] := BInicial[ORDEM[I]]; writeln(' Vetor B na Ordem Inicial'); for I := 1 to N do write(BInicial[I]:6:2,' '); writeln(' '); writeln(' Vetor B Reordenado'); for I := 1 to N do write(B[I]:6:2,' '); writeln(' ');

FATORAÇÃO LU - CÓDIGO for I := 1 to N do begin SOMA := 0.0; for J := 1 to I-1 do SOMA := SOMA + A[I,J] * Y[J]; Y[I] := B[I] - SOMA end; RAIZES[N] := Y[N] / A[N,N]; for I := N-1 downto 1 do begin for J := I + 1 to N do SOMA := SOMA + A[I,J]*RAIZES[J]; RAIZES[I] := (Y[I] - SOMA) / A[I,I]

FATORAÇÃO LU - CÓDIGO writeln('Raizes Calculadas'); for J := 1 to N do write('X',J,' = ',RAIZES[J]:6:2,' '); writeln(' '); writeln('Tecle SIM se Deseja Apresentar Outro Vetor B'); readln; read(OUTRA); until OUTRA <> 'SIM'; end; end.