Projeto manipulação de matrizes em código JAVA

15
FACULDADE DO NORDESTE SISTEMAS DE INFORMAÇÃO Projeto interdisciplinar Raciocínio Lógico e Matemático envolvendo as disciplinas de P.O.O e Matemática Básica CALCULO DE MATRIZES EM CÓDIGO JAVA Matrícula acadêmica: 11102100 Professor: Raimundo Cézar Campos do Nascimento Orientador NOVEMBRO, 2012 FORTALEZA CE

Transcript of Projeto manipulação de matrizes em código JAVA

FACULDADE DO NORDESTE SISTEMAS DE INFORMAÇÃO

Projeto interdisciplinar Raciocínio Lógico e Matemático envolvendo as disciplinas de P.O.O e Matemática Básica

CALCULO DE MATRIZES EM CÓDIGO JAVA

Matrícula acadêmica: 11102100 Professor: Raimundo Cézar Campos do Nascimento

Orientador

NOVEMBRO, 2012 FORTALEZA – CE

LUCAS TEIXEIRA DA SILVA

CALCULO DE MATRIZES EM CÓDIGO JAVA

Projeto Interdisciplinar apresentado ao curso de Sistemas de Informação, das Faculdades Nordestes. Como requisito

para obtenção do título do grau de bacharel.

Orientador: Raimundo César.

NOVEMBRO, 2012 FORTALEZA – CE

LUCAS TEIXEIRA DA SILVA

CALCULO DE MATRIZES EM CÓDIGO JAVA

Projeto Interdisciplinar apresentado ao curso de Sistemas de Informação, das

Faculdades Nordeste como requisito para obtenção do título bacharel tendo sido

aprovado pela banca examinadora composta pelos professores abaixo.

Aprovado dia:____/____/____.

______________________________________ PROFESSOR: GUSTAVO SIKORA DE MELO

COORDENADOR DO CURSO

Apresentada a Banca Examinadora, integrada pelos Professores:

_________________________________________ PROFESSOR: RAIMUNDO CÉZAR CAMPOS DO NASCIMENTO

ORIENTADOR

___________________________________ PROFESSOR (A)

BANCA EXAMINADORA

___________________________________ PROFESSOR (A)

BANCA EXAMINADORA

AGRADECIMENTOS

Agradecimentos aos professores Raimundo César meu orientador, que foi muito importante na escolha e incentivo do tema abordado e também ao professor Sandro Paixão que tirou muitas duvidas nos códigos JAVA do programa elaborado.

RESUMO

Este projeto foi concebido com a intenção de compreender com mais clareza os cálculos básicos de matrizes e como programar de maneira mais simples e direta as funções soma, subtração, multiplicação e transposta de matrizes utilizando de programação orientada a objeto, podendo ver como funcionam os métodos e classes e suas ligações. Palavras-chave: Calculo e manipulação de matrizes, programação orientada a objetos.

ABSTRACT

This project was conceived with the intent to understand more clearly the basic calculation of matrices and how to program in a more simple and straight forward functions SUM, subtraction, multiplication and transpose of matrices using object-oriented programming and can see how the methods and classes and their connections. Keywords: Calculation and matrix manipulation, object-oriented programming.

LISTA DE ABREVIAÇÕES E SIGLAS

JAMA Biblioteca Java de álgebra linear que fornece classes para manipulação e construção de matrizes.

LOOPING Mecanismo de verificação que funciona por meio de condição lógica,

fazendo repetidos chamados enquanto satisfazer a regra imposta. P.O.O Programação Orientada a Objeto T.I Tecnologia da Informação

SUMÁRIO

1 - INTRODUÇÃO.................................................................................... 5

2 - OBJETIVO GERAL............................................................................. 6

3 - OBJETIVO ESPECÍFICO.................................................................... 6

4 - MÉTODO DE APLICAÇÃO................................................................. 7

5 - RESULTADO....................................................................................... 8

6 - DISCUSSÃO........................................................................................ 9

7 - CONCLUSÃO...................................................................................... 11

8 - REFERÊNCIAS................................................................................... 12

5

1 - INTRODUÇÃO

Este projeto iniciou-se através da percepção da presente força de programas voltados a orientação a objeto e o constante trabalho na disciplina de matemática básica em cálculos de matriz.

Devo acrescentar que tinha mais dificuldade em ambas às disciplinas e o projeto interdisciplinar foi uma maneira de me dedicar ainda mais ao aprendizado.

A ideia central era fazer um programa em linguagem JAVA capaz de calcular soma e subtração de matrizes. Onde o próprio usuário dará entrada nos valores das matrizes, e o computador fará os cálculos segundo as regras aplicadas nos métodos soma e subtração.

Porém não estava satisfeito somente com esses dois tipos de cálculos, pois são muito simples,como se trata de um projeto interdisciplinar queria algo mais elaborado, embora o mesmo seja referente ao segundo semestre eu queria muito que tivesse algo mais.

Comecei as pesquisas e encontrei na maioria das vezes códigos pré-prontos para ter uma base da lógica a ser utilizada, porém em estruturas sequenciais e não O.O. Depois de entender como fazer a soma e a subtração de maneira correta, ficou a desejar a multiplicação e calcular a transposta de uma matriz, mas não conseguia fazer a lógica correta. Pensei em entregar o trabalho somente com as operações mais simples, mas nos últimos dias encontrei uma biblioteca chamada “JAMA” que é específica para cálculos de matrizes e tudo ficou mais fácil.

Com este recurso ficou bem mais simples implementar o código das operações. Ao fim o programa mostra a matriz resultado da operação escolhida, foi programado um looping para que a pessoa possa escolher entre continuar fazendo mais cálculos ou encerrar o programa.

6

2 - OBJETIVO GERAL

Implementar um programa JAVA capaz de calcular soma, subtração multiplicação e transposta de matrizes, assim como checar se a matriz é ou não simétrica. Com a intenção de aprofundar os conhecimentos em Programação orientada a objeto e Cálculos matemáticos, que são disciplinas que tenho certa dificuldade e entendo que são fundamentais, pois se tratam de conhecimentos essenciais para um bom profissional de T.I.

3 - OBJETIVO ESPECÍFICO

Implementar um programa JAVA capaz de manipular e construir matrizes.

7

4 - MÉTODO DE APLICAÇÃO

Implementado o programa principal o usuário digita a ordem da matriz que deseja trabalhar, e entra com os valores da matriz. Estes parâmetros são enviados para um dos métodos soma, subtração, multiplicação ou transposta que irão aplicar os cálculos pertinentes a operação escolhida, através da biblioteca “JAMA”. Figura 1: Cálculos soma, subtração e multiplicação.

Fonte: Pesquisa direta.

Método utilizado para calcular a soma, subtração e multiplicação das matrizes.

8

5 - RESULTADO

A implementação ocorreu de maneira gradativa conforme os assuntos foram sendo abordados, pois as aulas de P.O.O e Matemática Básica abordam todo o conteúdo deste projeto. Pude perceber que no inicio existiu certa dificuldade na hora de programar e aplicar as regras de calculo e deixar o projeto orientado a objeto.

Mas depois de muito procurar encontrei a biblioteca “JAMA” que tem diversas classes para manipulação e construção de matrizes, unindo esta biblioteca com o auxilio do livro “Como Programar” – Deitel ficou mais fácil, então bastou tirar as duvidas em sala e tudo foi concluído com êxito.

Figura 2: Menu para inicio do programa.

Fonte: Pesquisa direta.

Classe que gera o menu inicial para o usuário escolher o tipo de operação que irá operar e depois entrar com os valores da matriz.

9

6 - DISCUSSÃO

Adição de matrizes

As matrizes envolvidas no calculo devem ser da mesma ordem. E o resultado da soma deve ser outra matriz da mesma ordem.

Se somarmos a matriz A com a matriz B de mesma ordem, A + B = C, teremos como resultado outra matriz C da mesma ordem e para formarmos os elementos da matriz C somaremos os elementos de A e B, assim: A11 + B11 = C11. Exemplo: Figura 3: Adição de matriz

1 3 5 4 7 0 5 10 5 A = -2 0 4 B = -3 1 -2 C= -5 1 2 2 -4 0 2 5 -1 4 1 -1 Fonte: REGINALDO, J. Santos – Um curso de geometria analítica e álgebra linear

Subtração de matriz

As duas matrizes envolvidas devem ser da mesma ordem. E a diferença delas deve dar como resposta outra da matriz, porém da mesma ordem.

Se subtrairmos a matriz A com da matriz B de mesma ordem, A - B = C, teremos como resultado outra matriz C da mesma ordem e para formarmos os elementos da matriz C subtrairemos os elementos de A e B, assim: A21 + B21 = C21. Exemplo: Figura 4: Subtração de matriz

1 3 5 4 7 0 -3 -4 5 A = -2 0 4 B = -3 1 -2 C= 1 -1 6 2 -4 0 2 5 -1 0 -9 1 Fonte: REGINALDO, J. Santos – Um curso de geometria analítica e álgebra linear

10

Multiplicação de Matrizes

A definição básica da multiplicação entre matrizes é que uma matriz A deve possuir x linhas e uma matriz B deve possuir o mesmo numero x só que de colunas. Seus elementos serão multiplicados segundo este exemplo:

Figura 5 : Multiplicação de matriz

Fonte: http://pt.scribd.com/doc/35368701/1-Matrizes-Livro-de-Algebra-Linear-I

Uma característica importante é que a matriz produto tem o mesmo

numero de linhas da matriz A e o mesmo numero de colunas da matriz B.

Matriz Transposta

É uma matriz que todos os elementos da primeira linha, tornar-se-ão elementos da primeira coluna, e assim sucessivamente para as demais linhas e colunas. Basicamente é a troca dos elementos de linha por coluna. Vejamos este exemplo abaixo:

Figura 6: Matriz Transposta

Fonte: SITE: http://pt.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)

Matriz Simétrica

É a matriz que quando trocados seus elementos de linhas por colunas na intenção de fazer sua transposta ela continua igual, isto só ocorre com matrizes quadradas. Como mostra o exemplo a seguir:

11

Figura 7: Matriz Simétrica

Fonte: SITE: http://pt.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)

7 - CONCLUSÃO

A conclusão deste projeto é bem simples, os cálculos foram implementados com sucesso, as regras foram devidamente aplicadas, a P.O.O foi implementada com êxito na criação dos métodos, classes e atributos. O usuário tem a liberdade de entrar com qualquer valor na matriz e pode fazer quantos cálculos quiser até encerrar o programa. Com este trabalho pude exercitar muito mais as disciplinas que tinha dificuldade e hoje me sinto mais seguro para aprofundar ainda mais meus estudos em cálculos matemáticos e linguagem de programação Java.

12

8 - REFERÊNCIAS

*Páginas acessadas entre 22/09/2012 a 15/12/2012

CAELUM FJ-11 – Programação orientada a objetos DEITEL, J. P. Java Como Programar - 8º Edição REGINALDO, J. Santos – Um curso de geometria analítica e álgebra linear SITE: http://www.guj.com.br/java/218601-matrizes-em-java SITE: http://pt.scribd.com/doc/35368701/1-Matrizes-Livro-de-Algebra-Linear-I SITE: http://pt.wikipedia.org/wiki/Matriz_(matem%C3%A1tica)