SlideShare une entreprise Scribd logo
1  sur  12
Télécharger pour lire hors ligne
UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT
  CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES
      LICENCIATURA PLENA EM COMPUTAÇÃO
ESTRUTURAS DE DADOS E TÉCNICAS DE PROGRAMAÇÃO -I




                     VETOR




                 COLIDER/2012
UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT
  CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES.
       LICENCIATURA PLENA EM COMPUTAÇÃO
ESTRUTURAS 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
IDENTIFICAÇÃO


Título: Vetor
Departamento: Licenciatura em Computação
Disciplina: Estruturas de dados e técnicas de programação - I
Discentes: Alexandro Nardeli Leite, Douglas Silva da Rocha, Everson Wolf.
Docente: Elaine Alves da Rocha
Pú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ção
para 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 uma
referência de array possa ser atribuída a um novo array de tamanho diferente. As arrays são
usadas em listas, filas, pilhas e árvores que podem crescer e encolher enquanto os programas
são executados.


                                     JUSTIFICATIVA


        O objetivo deste trabalho é atender os educandos, para que os mesmos possam
conhecer o uso de vetores ou arrays na programação orientada a objetos e sua grande
importância onde todos os softwares que utilizam essas estruturas, contribuindo para a
ampliaçã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í o
mesmo possa apreender e compreender estes conceitos.




                               OBJETIVOS ESPECÍFICOS
-Apresentar a estrutura de dados de arrays.
-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 individuais
de um array.


                                      METODOLOGIA
       Através de pesquisas na internet e livros, foram recolhidas informações sobre o
sistema vetores (arrays). Através desta pesquisa foram montados slides para apresentar o
trabalho realizado em sala de aula, utilizando data show e notebooks e apresentação de um
software.


                              CONTEUDO DESENVOLVIDO
       Vetores
       Vetores, também muito conhecidos como arrays, são variáveis que servem para
guardar vários valores do mesmo tipo de forma uniforme na memória. Por exemplo, se
tivemos que criar 20 variáveis do mesmo tipo que querem dizer a mesma coisa, nós não
criaríamos => int var1, var2, var3, var4, var5,... Ao invés disso, criaríamos apenas uma
variável de vetor para guardar todos os 20 números de uma vez. Como um vetor pode guardar
vários valores temos que definir quantos valores ele deve guardar para que seja reservado o
espaço necessário em memória. Primeiramente, vamos aprender como declarar um vetor. Para
declarar 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 de
nú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 seja
reservado espaço suficiente em memória. Para fazermos isso, utilizaremos um instanciador
chamado 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 vetor
e entre colchetes o tamanho do vetor. Tomando o exemplo acima, vamos indicar que
meuVetor 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 e
o mesmo tipo. Para referir-se a uma localização ou elemento particular no array,
especificamos o nome do array e o número da posição (ou índice ou subscrito) do elemento
particular no array.
       Declarando e alocando arrays
       Os arrays são objetos que ocupam espaço na memória. Todos em Java devem ser
alocados dinamicamente com o operador new. Para um array, o programador especifica o tipo
dos elementos do array e o número de elementos como parte da operação new. Exemplo de
alocaçã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 entre
colchetes a posição desejada no vetor que chamamos de index. O importante mesmo é saber
que não importa o tamanho do vetor, o index (número que indica a posição) sempre começa
em 0. Ou seja, um vetor de tamanho 20 vai da posição 0 a 19, um vetor de tamanho 180 vai da
posiçã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 o
limite 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á um
erro. Resumidamente, jamais poderíamos fazer meuVetor [4]=200.
Quando se aloca uma array, cada elemento do array recebe por default um valor zero
para variáveis numéricas do tipo de dados primitivos, false para variáveis booleana ou null
para 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ção
seguindo a declaração com um sinal de igual e uma lista de inicializadores separados por
vírgulas colocados entre chaves ( { } ). Nesse caso, o tamanho do array é determinado pelo
nú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 a
declaração precedente não precisa do operador new para criar o objeto array. Quando o
compilador encontra uma declaração de array que inclui uma lista de inicializadores, o
compilador 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 de
pessoas-cliente, é utilizada em todos os softwares existentes, pois eles sempre precisam
armazenar algum dado, mesmo que temporário.
Classificando arrays
       Classificar dados (isto é, colocar os dados em alguma ordem particular como crescente
ou decrescente) é uma das aplicações mais importantes da computação. O banco classifica
todos os cheques pelo número da conta, de modo que possa preparar extratos bancários
individuais no final de cada mês. As empresas de telefonia classificam suas listas de
assinantes por sobrenome e, dentro desta classificação, pelo primeiro nome, para facilitar a
localização de números de telefone. Praticamente todas as organizações precisam classificar
seus dados de alguma maneira e, em muitos casos, quantidades enormes de dados. Classificar
dados é um problema intrigante que tem atraído alguns dos esforços mais intensos de pesquisa
no 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 de
ar subindo na água, enquanto os valores maiores afundam para o fundo do array. A técnica
usa laços aninhados para fazer várias passagens pelo array. Em cada passagem, pares de
elementos sucessivos são comparados. Se um par estiver na ordem crescente ou os valores
iguais, a buble sort deixa os valores como estão. Se um par estiver na ordem crescente, a
buble 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 para
apresentar 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 do
elemento. Os arrays que exigem dois subscritos para identificar um elemento específico são
chamados de arrays bidimensionais. Observe que arrays multidimensionais podem ter mais de
dois subscritos. Java não suporta diretamente arrays multidimensionais, mas permite que o
programador, especifique arrays de um índice subscrito (unidimensionais) cujos elementos
também são arrays unidimensional, alcançando, assim, o mesmo efeito.
Os arrays multidimensionais podem ser inicializados com listas de inicializadores em
declaraçã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] e
b[0][1] e 3 e 4 inicializam b[1][0] e b[1][1]. O compilador determina o número de linhas
contando o número de sublistas de inicializadores ( representadas por conjuntos de chaves) na
lista de inicializadores. O compilador determina o número de colunas em cada linha contando
o número de valores inicializadores na sublistas de inicializadores dessa linha.
       Os arrays multidimensionais são mantidos como arrays de arrays. A declaração
int b [ ] [ ] = {{1,2}, {3, 4, 5}}; cria o array de inteiros b com a linha 0 contendo dois
elementos (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 da
entrada    */
                       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 de
forma aleatória.
Código para centralizar o frame:




       Coleção das palavras que irão ser escolhidas pelo programa:
Aqui    é    feita   o    sorteio    das    palavras   do     jogo    de    forma
dinâmica:




       Nesta parte do código do programa verifica se a letra digitada pelo usuário já foi
digitada:
Nesta parte as janelas apresentam se caso o usuário acertou a palavra dará parabéns
senão irá dizer que foi enforcado:




       Nesta parte do jogo e onde possui estes códigos, eles são utilizados para tocar um som
especificado pelo desenvolvedor:
CONCLUSÃO
         Java armazena listas de valores em arrays ou vetores. O array é um grupo contíguo de
posições de memória relacionadas. Essas posições são relacionadas pelo fato de todas terem o
mesmo nome e o mesmo tipo. Para se referir a uma posição ou a um elemento em particular
dentro do array, especificamos o nome do array e o subscrito do elemento. Com ele podemos
construir inúmeras aplicações desde um simples algoritmo que armazenam dados, até
sistemas de empresas e jogos diversificados.


CRONOGRAMA


Ações                                          Tempo de execução
Pesquisa                                       8 horas
Elaboração                                     2 horas e 30min.
Estudo para apresentação                       4 horas
Apresentação                                   30 min.
Total:                                         15 horas




REFERÊ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 em
Java”. 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.

Contenu connexe

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

Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03wammendes
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxOsvano Silva
 
Arrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoArrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoJaime Martins
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programaçãoKamila Joyce
 
Curso De Algoritmo Aula 10
Curso De Algoritmo   Aula 10Curso De Algoritmo   Aula 10
Curso De Algoritmo Aula 10Felipe Santos
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Elaine Cecília Gatto
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIinfo_cimol
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlex Camargo
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 

Similaire à Estruturas de dados e técnicas de programação (20)

Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Cap09
Cap09Cap09
Cap09
 
Cap09
Cap09Cap09
Cap09
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Aula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptxAula 8 - Vetores e Matrizes.pptx
Aula 8 - Vetores e Matrizes.pptx
 
Arrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programaçãoArrays / Vetores / Matrizes em programação
Arrays / Vetores / Matrizes em programação
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Vetores e Matrizes.pdf
Vetores e Matrizes.pdfVetores e Matrizes.pdf
Vetores e Matrizes.pdf
 
Aula 13
Aula 13Aula 13
Aula 13
 
Matrizes e Vetores para programação
Matrizes e Vetores para programaçãoMatrizes e Vetores para programação
Matrizes e Vetores para programação
 
Curso De Algoritmo Aula 10
Curso De Algoritmo   Aula 10Curso De Algoritmo   Aula 10
Curso De Algoritmo Aula 10
 
Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1Vetores, Matrizes e Strings em C Parte 1
Vetores, Matrizes e Strings em C Parte 1
 
Java8
Java8Java8
Java8
 
Aula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdfAula Vetores - 08-05-2023.pdf
Aula Vetores - 08-05-2023.pdf
 
Arrays PHP - Criação de sites II
Arrays PHP - Criação de sites IIArrays PHP - Criação de sites II
Arrays PHP - Criação de sites II
 
Algoritmos e Programação: Vetores
Algoritmos e Programação: VetoresAlgoritmos e Programação: Vetores
Algoritmos e Programação: Vetores
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 

Dernier

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERDeiciane Chaves
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 

Dernier (20)

Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VERELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
ELETIVA TEXTOS MULTIMODAIS LINGUAGEM VER
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 

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

  • 1. UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES LICENCIATURA PLENA EM COMPUTAÇÃO ESTRUTURAS DE DADOS E TÉCNICAS DE PROGRAMAÇÃO -I VETOR COLIDER/2012
  • 2. UNIVERSIDADE DO ESTADO DE MATO GROSSO/UNEMAT CAMPUS UNIVERSITÁRIO DO VALE DO TELES PIRES. LICENCIATURA PLENA EM COMPUTAÇÃO ESTRUTURAS 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. IDENTIFICAÇÃO Título: Vetor Departamento: Licenciatura em Computação Disciplina: Estruturas de dados e técnicas de programação - I Discentes: Alexandro Nardeli Leite, Douglas Silva da Rocha, Everson Wolf. Docente: Elaine Alves da Rocha Pú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ção para 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 uma referência de array possa ser atribuída a um novo array de tamanho diferente. As arrays são usadas em listas, filas, pilhas e árvores que podem crescer e encolher enquanto os programas são executados. JUSTIFICATIVA O objetivo deste trabalho é atender os educandos, para que os mesmos possam conhecer o uso de vetores ou arrays na programação orientada a objetos e sua grande importância onde todos os softwares que utilizam essas estruturas, contribuindo para a ampliaçã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í o mesmo possa apreender e compreender estes conceitos. OBJETIVOS ESPECÍFICOS -Apresentar a estrutura de dados de arrays.
  • 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 individuais de um array. METODOLOGIA Através de pesquisas na internet e livros, foram recolhidas informações sobre o sistema vetores (arrays). Através desta pesquisa foram montados slides para apresentar o trabalho realizado em sala de aula, utilizando data show e notebooks e apresentação de um software. CONTEUDO DESENVOLVIDO Vetores Vetores, também muito conhecidos como arrays, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória. Por exemplo, se tivemos que criar 20 variáveis do mesmo tipo que querem dizer a mesma coisa, nós não criaríamos => int var1, var2, var3, var4, var5,... Ao invés disso, criaríamos apenas uma variável de vetor para guardar todos os 20 números de uma vez. Como um vetor pode guardar vários valores temos que definir quantos valores ele deve guardar para que seja reservado o espaço necessário em memória. Primeiramente, vamos aprender como declarar um vetor. Para declarar 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 de nú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 seja reservado espaço suficiente em memória. Para fazermos isso, utilizaremos um instanciador chamado 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 vetor e entre colchetes o tamanho do vetor. Tomando o exemplo acima, vamos indicar que meuVetor 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 e o mesmo tipo. Para referir-se a uma localização ou elemento particular no array,
  • 5. especificamos o nome do array e o número da posição (ou índice ou subscrito) do elemento particular no array. Declarando e alocando arrays Os arrays são objetos que ocupam espaço na memória. Todos em Java devem ser alocados dinamicamente com o operador new. Para um array, o programador especifica o tipo dos elementos do array e o número de elementos como parte da operação new. Exemplo de alocaçã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 entre colchetes a posição desejada no vetor que chamamos de index. O importante mesmo é saber que não importa o tamanho do vetor, o index (número que indica a posição) sempre começa em 0. Ou seja, um vetor de tamanho 20 vai da posição 0 a 19, um vetor de tamanho 180 vai da posiçã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 o limite 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á um erro. Resumidamente, jamais poderíamos fazer meuVetor [4]=200.
  • 6. Quando se aloca uma array, cada elemento do array recebe por default um valor zero para variáveis numéricas do tipo de dados primitivos, false para variáveis booleana ou null para 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ção seguindo a declaração com um sinal de igual e uma lista de inicializadores separados por vírgulas colocados entre chaves ( { } ). Nesse caso, o tamanho do array é determinado pelo nú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 a declaração precedente não precisa do operador new para criar o objeto array. Quando o compilador encontra uma declaração de array que inclui uma lista de inicializadores, o compilador 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 de pessoas-cliente, é utilizada em todos os softwares existentes, pois eles sempre precisam armazenar algum dado, mesmo que temporário.
  • 7. Classificando arrays Classificar dados (isto é, colocar os dados em alguma ordem particular como crescente ou decrescente) é uma das aplicações mais importantes da computação. O banco classifica todos os cheques pelo número da conta, de modo que possa preparar extratos bancários individuais no final de cada mês. As empresas de telefonia classificam suas listas de assinantes por sobrenome e, dentro desta classificação, pelo primeiro nome, para facilitar a localização de números de telefone. Praticamente todas as organizações precisam classificar seus dados de alguma maneira e, em muitos casos, quantidades enormes de dados. Classificar dados é um problema intrigante que tem atraído alguns dos esforços mais intensos de pesquisa no 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 de ar subindo na água, enquanto os valores maiores afundam para o fundo do array. A técnica usa laços aninhados para fazer várias passagens pelo array. Em cada passagem, pares de elementos sucessivos são comparados. Se um par estiver na ordem crescente ou os valores iguais, a buble sort deixa os valores como estão. Se um par estiver na ordem crescente, a buble 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 para apresentar 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 do elemento. Os arrays que exigem dois subscritos para identificar um elemento específico são chamados de arrays bidimensionais. Observe que arrays multidimensionais podem ter mais de dois subscritos. Java não suporta diretamente arrays multidimensionais, mas permite que o programador, especifique arrays de um índice subscrito (unidimensionais) cujos elementos também são arrays unidimensional, alcançando, assim, o mesmo efeito.
  • 8. Os arrays multidimensionais podem ser inicializados com listas de inicializadores em declaraçã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] e b[0][1] e 3 e 4 inicializam b[1][0] e b[1][1]. O compilador determina o número de linhas contando o número de sublistas de inicializadores ( representadas por conjuntos de chaves) na lista de inicializadores. O compilador determina o número de colunas em cada linha contando o número de valores inicializadores na sublistas de inicializadores dessa linha. Os arrays multidimensionais são mantidos como arrays de arrays. A declaração int b [ ] [ ] = {{1,2}, {3, 4, 5}}; cria o array de inteiros b com a linha 0 contendo dois elementos (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 da entrada */ 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 de forma aleatória.
  • 9. Código para centralizar o frame: Coleção das palavras que irão ser escolhidas pelo programa:
  • 10. Aqui é feita o sorteio das palavras do jogo de forma dinâmica: Nesta parte do código do programa verifica se a letra digitada pelo usuário já foi digitada:
  • 11. Nesta parte as janelas apresentam se caso o usuário acertou a palavra dará parabéns senão irá dizer que foi enforcado: Nesta parte do jogo e onde possui estes códigos, eles são utilizados para tocar um som especificado pelo desenvolvedor:
  • 12. CONCLUSÃO Java armazena listas de valores em arrays ou vetores. O array é um grupo contíguo de posições de memória relacionadas. Essas posições são relacionadas pelo fato de todas terem o mesmo nome e o mesmo tipo. Para se referir a uma posição ou a um elemento em particular dentro do array, especificamos o nome do array e o subscrito do elemento. Com ele podemos construir inúmeras aplicações desde um simples algoritmo que armazenam dados, até sistemas de empresas e jogos diversificados. CRONOGRAMA Ações Tempo de execução Pesquisa 8 horas Elaboração 2 horas e 30min. Estudo para apresentação 4 horas Apresentação 30 min. Total: 15 horas REFERÊ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 em Java”. 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.