Estruturas de dados e técnicas de programação

896 views

Published on

Trabalho sobre vetores.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
896
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Estruturas de dados e técnicas de programação

  1. 1. UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES LICENCIATURA PLENA EM COMPUTAÇÃOESTRUTURAS DE DADOS E TÉCNICAS DE PROGRAMAÇÃO -I VETOR COLIDER/2012
  2. 2. UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES. LICENCIATURA PLENA EM COMPUTAÇÃOESTRUTURAS DE DADOS E TÉCNICAS DE PROGRAMAÇÃO - I VETOR Trabalho acadêmico apresentado como subsídios para a avaliação da disciplina de ESTRUTURAS DE DADOS E TÉCNICAS DE PROGRAMAÇÃO - I do curso de Licenciatura em Computação, ministrado pela Professora Elaine Alves da Rocha. COLIDER/2012
  3. 3. IDENTIFICAÇÃOTítulo: VetorDepartamento: Licenciatura em ComputaçãoDisciplina: Estruturas de dados e técnicas de programação - IDiscentes: Alexandro Nardeli Leite, Douglas Silva da Rocha, Everson Wolf.Docente: Elaine Alves da RochaPúblico Alvo: Acadêmicos do 4º semestre do Curso de Licenciatura em Computação INTRODUÇÃO Vetor ou arranjo também conhecido como array é muito utilizado na programaçãopara armazenar dados, ou seja, números fixos de elementos de mesmo tipo. São entidades“estáticas” no sentido de que, uma vez criadas, mantêm o mesmo tamanho, embora umareferência de array possa ser atribuída a um novo array de tamanho diferente. As arrays sãousadas em listas, filas, pilhas e árvores que podem crescer e encolher enquanto os programassão executados. JUSTIFICATIVA O objetivo deste trabalho é atender os educandos, para que os mesmos possamconhecer o uso de vetores ou arrays na programação orientada a objetos e sua grandeimportância onde todos os softwares que utilizam essas estruturas, contribuindo para aampliação de seus conhecimentos e no desenvolvimento do ensino-aprendizagem. OBJETIVOS GERAIS Proporcionar ao acadêmico o conhecimento do uso de vetores na programação,através de apresentação de um software feito na linguagem Java, permitindo que a partir daí omesmo possa apreender e compreender estes conceitos. OBJETIVOS ESPECÍFICOS-Apresentar a estrutura de dados de arrays.
  4. 4. -Entender o uso de arrays para armazenar, classificar e pesquisar listas e tabelas de valores.-Entender como declarar uma array, inicializar uma array e referir-se a elementos individuaisde um array. METODOLOGIA Através de pesquisas na internet e livros, foram recolhidas informações sobre osistema vetores (arrays). Através desta pesquisa foram montados slides para apresentar otrabalho realizado em sala de aula, utilizando data show e notebooks e apresentação de umsoftware. CONTEUDO DESENVOLVIDO Vetores Vetores, também muito conhecidos como arrays, são variáveis que servem paraguardar vários valores do mesmo tipo de forma uniforme na memória. Por exemplo, setivemos que criar 20 variáveis do mesmo tipo que querem dizer a mesma coisa, nós nãocriaríamos => int var1, var2, var3, var4, var5,... Ao invés disso, criaríamos apenas umavariável de vetor para guardar todos os 20 números de uma vez. Como um vetor pode guardarvários valores temos que definir quantos valores ele deve guardar para que seja reservado oespaço necessário em memória. Primeiramente, vamos aprender como declarar um vetor. Paradeclarar um vetor devemos especificar o tipo ou classe de dado que será armazenado nele.Após isso, damos um nome a esse vetor. E, para finalizar, indicamos que ele é um vetor,simplesmente abrindo e fechando colchetes ([ ] ). Portanto, se quiséssemos um vetor denúmeros inteiro chamado meu vetor, declararíamos da seguinte forma: int meuVetor [ ]; Agora que já declaramos o vetor, devemos dar um tamanho a ele, para que sejareservado espaço suficiente em memória. Para fazermos isso, utilizaremos um instanciadorchamado new. New é muito importante, pois ele irá criar de fato o vetor. Para indicarmos o tamanho usamos o instanciador new, depois o tipo de dado do vetore entre colchetes o tamanho do vetor. Tomando o exemplo acima, vamos indicar quemeuVetor terá o tamanho 4. int meuVetor [ ] = new int [4]; O array é um grupo de posições contíguas na memória que possuem o mesmo nome eo mesmo tipo. Para referir-se a uma localização ou elemento particular no array,
  5. 5. especificamos o nome do array e o número da posição (ou índice ou subscrito) do elementoparticular no array. Declarando e alocando arrays Os arrays são objetos que ocupam espaço na memória. Todos em Java devem seralocados dinamicamente com o operador new. Para um array, o programador especifica o tipodos elementos do array e o número de elementos como parte da operação new. Exemplo dealocação de elementos em java: int meuVetor[ ] = new int [ 4 ]; A declaração precedente também pode ser executada em duas etapas, como segue: int meuVetor[ ]; // declara o array meuVetor = new int[ 4 ]; // aloca o array Na memória é representado da seguinte forma: Agora, para acessarmos um local específico dessa memória devemos indicar entrecolchetes a posição desejada no vetor que chamamos de index. O importante mesmo é saberque não importa o tamanho do vetor, o index (número que indica a posição) sempre começaem 0. Ou seja, um vetor de tamanho 20 vai da posição 0 a 19, um vetor de tamanho 180 vai daposição 0 a 179. Portanto, um vetor de tamanho 4 vai da posição 0 a 3. Agora, se quisermos atribuir os valores 540 na posição 1 e 8456 na posição 3,faríamos: meuVetor [1]=540; meuVetor [3]=8456. Não podemos nunca nos esquecer de que olimite do vetor é sempre seu tamanho menos 1. Usando o exemplo: vetor de tamanho 4,posição máxima é 3 (pois 4-1=3). Então, se atribuirmos um valor a posição 4 ocorrerá umerro. Resumidamente, jamais poderíamos fazer meuVetor [4]=200.
  6. 6. Quando se aloca uma array, cada elemento do array recebe por default um valor zeropara variáveis numéricas do tipo de dados primitivos, false para variáveis booleana ou nullpara referências (qualquer tipo não primitivo). Podemos declarar arrays de qualquer tipo de dados. byte[] meuVetorDeBytes; short[] meuVetorDeShorts; long[] meuVetorDeLongs; float[] meuVetorDeFloats; double[] meuVetorDeDoubles; boolean[] meuVetorDeBooleans; char[] meuVetorDeChars; String[] meuVetorDeStrings; Inicializando uma array Um programa pode alocar e inicializar os elementos de um array na declaraçãoseguindo a declaração com um sinal de igual e uma lista de inicializadores separados porvírgulas colocados entre chaves ( { } ). Nesse caso, o tamanho do array é determinado pelonúmero de elementos na lista de inicializadores. Por exemplo, a declaração, int n [] = {10, 20,30, 40, 50 }; cria um array de cinco elementos com os subscritos 0, 1, 2, 3 e 4. Observe que adeclaração precedente não precisa do operador new para criar o objeto array. Quando ocompilador encontra uma declaração de array que inclui uma lista de inicializadores, ocompilador conta a quantidade de inicializadores na lista e configura uma operação (new)para alocar o número apropriado de elementos de arrays. Com as arrays podemos fazer a soma delas se for numérica, armazenar nomes depessoas-cliente, é utilizada em todos os softwares existentes, pois eles sempre precisamarmazenar algum dado, mesmo que temporário.
  7. 7. Classificando arrays Classificar dados (isto é, colocar os dados em alguma ordem particular como crescenteou decrescente) é uma das aplicações mais importantes da computação. O banco classificatodos os cheques pelo número da conta, de modo que possa preparar extratos bancáriosindividuais no final de cada mês. As empresas de telefonia classificam suas listas deassinantes por sobrenome e, dentro desta classificação, pelo primeiro nome, para facilitar alocalização de números de telefone. Praticamente todas as organizações precisam classificarseus dados de alguma maneira e, em muitos casos, quantidades enormes de dados. Classificardados é um problema intrigante que tem atraído alguns dos esforços mais intensos de pesquisano campo da ciência da computação. A técnica que utiliza para classificar uma array se chama classificação de bolhas(buble sort) ou classificação por aprofundamento, porque os valores menores “borbulham”gradualmente para o topo do array, isto é, em direção ao primeiro elemento, como bolhas dear subindo na água, enquanto os valores maiores afundam para o fundo do array. A técnicausa laços aninhados para fazer várias passagens pelo array. Em cada passagem, pares deelementos sucessivos são comparados. Se um par estiver na ordem crescente ou os valoresiguais, a buble sort deixa os valores como estão. Se um par estiver na ordem crescente, abuble sort troca seus valores no array. macarrao =["spaghetti","tubetti","farfalle","ziti","penne"]; macarrao.sort(); trace (macarrao); saída --> farfalle,penne,spaghetti,tubetti,ziti Arrays multidimensionais Os arrays multidimensionais com dois subscritos são utilizados frequentemente paraapresentar tabelas de valores que consistem em informações organizadas em linhas e colunas.Para identificar um elemento específico da tabela, devemos especificar os dois subscritos –por convenção, o primeiro identifica a linha do elemento e o segundo identifica a coluna doelemento. Os arrays que exigem dois subscritos para identificar um elemento específico sãochamados de arrays bidimensionais. Observe que arrays multidimensionais podem ter mais dedois subscritos. Java não suporta diretamente arrays multidimensionais, mas permite que oprogramador, especifique arrays de um índice subscrito (unidimensionais) cujos elementostambém são arrays unidimensional, alcançando, assim, o mesmo efeito.
  8. 8. Os arrays multidimensionais podem ser inicializados com listas de inicializadores emdeclaração, da mesma forma que um array unidimensional. O array bidimensional b [2][2]poderia ser declarado e inicializado com int b [ ] [ ] = {{1,2}, {3,4}}; Os valores são agrupados por linha entre chaves. Assim, 1 e 2 inicializam b[0][0] eb[0][1] e 3 e 4 inicializam b[1][0] e b[1][1]. O compilador determina o número de linhascontando o número de sublistas de inicializadores ( representadas por conjuntos de chaves) nalista de inicializadores. O compilador determina o número de colunas em cada linha contandoo número de valores inicializadores na sublistas de inicializadores dessa linha. Os arrays multidimensionais são mantidos como arrays de arrays. A declaraçãoint b [ ] [ ] = {{1,2}, {3, 4, 5}}; cria o array de inteiros b com a linha 0 contendo doiselementos (1 e 2) e a linha 1 contendo três elementos (3, 4, 5). Também pode ser declarado dessa forma, int b [ ] [ ] = new int[10][10]; Exemplo de uso dos vetores Método que inicia o vetor, recebendo o valor digitado pelo usuário.public void inicia() { // aqui é declarado o método e abaixo o corpo do método int valor = 0; String entrada; // esta é a variável que receberá o valor digitado. for (int i = 0; i < vetor.length; i++) { entrada = JOptionPane .showInputDialog("Entre com um valor inteiro!!!"); valor = Integer.parseInt(entrada); /* valor recebe o valor daentrada */ vetor[i] = valor; // passa o valor para o vetor } } Jogo da forca construído na linguagem Java O jogo tem o estilo do jogo da forca feito de papel. O programa escolhe as palavras deforma aleatória.
  9. 9. Código para centralizar o frame: Coleção das palavras que irão ser escolhidas pelo programa:
  10. 10. Aqui é feita o sorteio das palavras do jogo de formadinâmica: Nesta parte do código do programa verifica se a letra digitada pelo usuário já foidigitada:
  11. 11. Nesta parte as janelas apresentam se caso o usuário acertou a palavra dará parabénssenão irá dizer que foi enforcado: Nesta parte do jogo e onde possui estes códigos, eles são utilizados para tocar um somespecificado pelo desenvolvedor:
  12. 12. CONCLUSÃO Java armazena listas de valores em arrays ou vetores. O array é um grupo contíguo deposições de memória relacionadas. Essas posições são relacionadas pelo fato de todas terem omesmo nome e o mesmo tipo. Para se referir a uma posição ou a um elemento em particulardentro do array, especificamos o nome do array e o subscrito do elemento. Com ele podemosconstruir inúmeras aplicações desde um simples algoritmo que armazenam dados, atésistemas de empresas e jogos diversificados.CRONOGRAMAAções Tempo de execuçãoPesquisa 8 horasElaboração 2 horas e 30min.Estudo para apresentação 4 horasApresentação 30 min.Total: 15 horasREFERÊNCIAS BIBLIOGRAFICAS JUNIOR, P. J.; “Java guia do programador”, 2007. São Paulo-SP. DEITEL, H. M. e DEITEL, P. J.; “Java como programar”, 2002. Porto Alegre-RS. SIERRA, K.; e BATES, B.; “Use a cabeça! Java”, 2010. Rio de Janeiro-RJ. HUBBARD. J.; “Programação com Java 2ª edição”. 2006. Porto Alegre-RS. GOODRICH. M. T.; e TAMASSIA. R.; “Estruturas de dados em algoritmos emJava”. 2007. Porto Alegre-RS. HORSTMANN. C.S.; e CORNEEL G.; “Core Java”. 2010. São Paulo-SP. Disponível em: http://www.tiexpert.net. Acesso em outubro 2012.

×