Processamento da Informação Vetores Parte 1 (Arrays / Arranjos ) Prof. Jesús P. Mena-Chalco CMCC/UFABC Q1/2017 1
Armazenar 10 inteiros em um programa... Usando variáveis: Usando um vetor: Para acessar a um elemento, use um índice. a[0] 6 a[4] 100 3
Vetores, são realmente úteis? 4
Vetores, são realmente úteis? Permitem organizar e armazenar grandes quantidades de dados. Por exemplo: Todos os RAs de todos os alunos da UFABC 300 números associados a experimentos. 1 milhão de caracteres de um livro. 4 bilhões de nucleotídeos de um sequência de DNA. 5
Vetor Um vetor (ou array) é o nome a uma matriz unidimensional. 6
Vetor Os elementos de um vetor são armazenados/alocados de forma consecutiva na memória. 0 Os elementos são acessados por seu índice dentro do array. X:= 10 1 2 4-95 3 4 37 2910 7
Memória (hardware) RAM... HDD SSD... 8
Memória (hardware) 0 N Geralmente o endereço do 1ro byte é o endereço do objeto. 9
0x37FD00 01010111 0x37FD01 11000011 0x37FD02 01100100 0x37FD03 11100010... 4 bytes... Terminologia
Vetor em Java Declaração de uma variável que representa um vetor de 13 inteiros Índice / Deslocamento vetor := 0 1 2 10 4-95 1 2 3 O array contém 13 Elementos 3 4 37 2910 4 5 5 6 7 8-6 10 4-95 6 7 8 9 9 10 37 2910 10 11 11 12 3 0 12 13 Posição 11
Exemplo 01: Definição 12
Exemplo 02: Atribuição 13
Exemplo 03: Tamanho 14
Exemplo 04: Inicialização 15
Em concreto Um vetor é uma coleção de valores. Três importantes características: Os vetores representam um grupo de dados relacionados. Todos os dados devem ter o mesmo tipo. O tamanho do vetor é definido na sua criação/definição. 16
Terminologia : Palavra reservada new Usada para criar um novo objeto. Em Java, uma vetor é um objeto. Não trataremos de detalhes de Programação Orientada a Objetos nessa disciplina. Apenas saiba que com new podemos criar um objeto que represente uma coleção de elementos. 17
Criando vetores de diferentes tipos de dados 18
Exercícios 19
Exercício 1: Soma dos elementos Crie um método que permita somar todos os elementos de um vetor de inteiros. Assinatura: static int somarelementos( int v[ ] ) Exemplo: v = [1, 3, 5] Resultado: 9 v = [10, 20, 30, 40 ] Resultado: 100 20
Exercício 1: Soma dos elementos 21
Exercício 1: Soma dos elementos 22
Exercício 2: Busca de um elemento Crie um método que permita procurar um elemento em um vetor. Se existir o elemento devolva seu índice no vetor. Caso contrário devolva -1 Assinatura: static int buscaelemento (int v[], int x) Exemplos: v = [1,2,3] x=3 Resposta: 2 v = [1,2,3] x = 30 Resposta: -1 23
Exercício 2: Busca de um elemento 24
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vel est augue. Donec aliquam laoreet ipsum, ac sagittis odio aliquam quis. In eleifend est tortor, dapibus posuere odio consectetur id. Donec varius eget est eu luctus. Phasellus scelerisque, nunc laoreet feugiat sagittis, risus neque condimentum nisi, eget feugiat turpis purus quis urna. Mauris tempor eros in turpis tincidunt, bibendum euismod est pretium. Praesent ligula dui, fermentum a porttitor vitae, pulvinar ut odio. Suspendisse vitae pretium dolor, at sodales mauris. Sed consequat purus nec bibendum suscipit. Donec ultricies euismod enim, quis interdum mi ornare et. Ut facilisis elit vitae elementum fringilla. Pellentesque sed orci iaculis, imperdiet elit et, mollis enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur vel est augue. Donec aliquam laoreet ipsum, ac sagittis odio aliquam quis. In eleifend est tortor, dapibus posuere odio consectetur id. Donec varius eget est eu luctus. Phasellus scelerisque, nunc laoreet feugiat sagittis, risus neque condimentum nisi, eget feugiat turpis purus quis urna. Mauris tempor eros in turpis tincidunt, bibendum euismod est pretium. Praesent ligula dui, fermentum a porttitor vitae, pulvinar ut odio. Suspendisse vitae pretium dolor, at sodales mauris. Sed consequat purus nec bibendum suscipit. Donec ultricies euismod enim, quis interdum mi ornare et. Ut facilisis elit vitae elementum fringilla. Pellentesque sed orci iaculis, imperdiet elit et, mollis enim. 25
Programação elegante? Direitos de autor: Dezignus 26
Exercício 2: Busca de um elemento 27
Programação elegante 28
Programação elegante
Exercício 2: Busca de um elemento 30
Exercício 3: Maior elemento Crie um método que permita devolver o maior elemento contido em um vetor. Assinatura: static int maiorelemento (int v[]) Exemplos: v = [1,2,3] Resposta: 3 31
Exercício 3: Maior elemento 32
Exercício 3: Maior elemento 33
Atividade 34
Questão 1 O método m1, dada um vetor de n inteiros, devolve o elemento que está na posição 35
Questão 2 O método m2, dada um vetor de n inteiros, devolve a somatória dos valores de todos seus elementos. 36
Questão 3 O método m3, dados dois vetores de inteiros, devolve a somatória dos valores de todos seus elementos. 37
Questão 4 O método m4, dado um vetor de inteiros, devolve a média aritmética simples. 38
Questão 5 O método m5, dado um vetor de inteiros, devolve a quantidade total de elementos menores ou iguais a zero. 39
Questão 6 O método m6, dado um vetor de inteiros, imprime o menor e o maior elemento do vetor. Min-Max 40
Questão 7 O método m7, dado um vetor de inteiros, devolve true se a somatória dos elementos da primeira metade é igual à somatória dos elementos da segunda metade. Caso contrário devolve false 41
Questão 8 - Desafio Crie um método que permita inverter a ordem dos elementos de um vetor. A inversão deve ser realizada no mesmo array (não pode usar array auxiliar). Assinatura: static int[] inverter (int a[]) Exemplos: a = [1,2,3] Resposta: [3,2,1] a = [1,2,3,4,5] Resposta: [5,4,3,2,1] 42
Questão 8 43
Questão 8 44
Sobre os nomes das variáveis Os nomes das variáveis não podem iniciar com número Errado Errado 45