Algoritmos II Aula 2 Vetores Professor: Max Pereira max.pereira@unisul.br Ciência da Computação
Variável Representação simbólica dos elementos de memória de um computador. Cada variável corresponde a uma posição de memória. O conteúdo pode ser alterado durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante.
Precisamos escrever um programa que armazene as seguintes notas de um aluno: 8, 10, 9, 10, 8.5, 7 e que calcule a média. import javax.swing.joptionpane; public class Media { public static void main (String args[]) { double nota, media, soma=0; String n; for (int i=1; i<=6; i++) { n = JOptionPane.showInputDialog("Nota"); nota = Integer.parseInt(n); soma = soma + nota; } media = soma / 6; System.out.print("Média: "+media); } } // JOptionPane.showMessageDialog(null, "Média"+media);
Necessitamos agora imprimir todas as notas do aluno, além da média. Uma solução seria criar seis variáveis para armazenar as seis notas digitadas e imprimi-las. Mas se houver mais notas (80, por exemplo)
Para resolver essa situação vamos usar o conceito de vetor. Um vetor nada mais é do que uma variável que pode armazenar vários valores do mesmo tipo. Como queremos armazenar vários valores numéricos, precisamos criar várias posições de memória sob o nome de uma mesma variável. Devemos especificar quantos valores queremos armazenar, ou seja, quantas posições de memória queremos alocar para armazenar esses números.
Vetor Vejamos o exemplo para armazenar as notas de um aluno. Queremos armazenar seis valores diferentes em seis posições de memória diferentes. 8 10 9 10 8.5 7 Como solução, podemos criar 6 variáveis ou criar um vetor com 6 posições de memória. Cada quadrado representa uma posição de memória, onde podem ser armazenados os valores reais. O número de posições que queremos criar é especificado na declaração.
Vetor Em resumo: um vetor é prático quando precisamos manipular um conjunto de dados do mesmo tipo sem que seja necessário declarar muitas variáveis. Exemplos: o registro de 20 livros e seus preços; o registro de notas de 10 avaliações de um aluno, etc.
Vetor Conceito: vetores são estruturas de dados que armazenam uma quantidade fixa de dados de um certo tipo; por esta razão, também são conhecidos como estruturas homogêneas de dados.
Como criar um vetor? Na declaração de vetores deverão ser fornecidas três informações: 1) o nome do vetor, 2) o número de posições do vetor (seu tamanho), e 3) o tipo de dado que será armazenado no vetor. int notas[]; // declaração do vetor Embora declarado, o vetor não está pronto para uso, sendo necessário reservar espaço para seus elementos. notas = new int[6]; // alocação de espaço para o vetor As duas declarações podem ser combinadas: int notas[] = new int[6];
Exemplos de declarações a) Declarando um vetor para armazenar 10 números inteiros. int numeros[] = new int[10]; b) Declarando um vetor para armazenar 10 valores do tipo real. double salario[] = new double[10]; c) Declarando um vetor para armazenar o nome dos 12 meses do ano. String mes[] = new String[12];
Como trabalhar com um vetor? Como atribuir valores a um vetor? Como recuperar um valor de um vetor? Como realizar operações básicas de adição, subtração, etc. em vetores?
Como atribuir valores a um vetor? Como acessar os espaços do vetor? Basta indicar a posição que deseja acessar. Posição / índice Conteúdo double notas[] = new double[100]; notas[0]= 8.5; notas[1]= 7; notas[2]= 10; 8.5 7 10
Trabalhando com vetores Operação aritmética double notas[] = new double[6]; notas[0]= 8.5; notas[1]= 7; notas[2]= 10; soma = notas[0]+notas[1]+notas[2]; Acessando o conteúdo System.out.println("Primeira nota: "+notas[0]);
Trabalhando com vetores Imprimindo todas as notas int n = 6; // tamanho do vetor double notas[] = new double[n]; // declaração int i; // índice ou posição notas[0]= 8.5; notas[1]= 7; notas[2]= 10; for (i=0; i<=n-1; i++) System.out.println("Nota: "+notas[i]); Nota: 8.5 Nota: 7.0 Nota: 10.0 Nota: 0.0 Nota: 0.0 Nota: 0.0
import javax.swing.joptionpane; public class MediaInterface { public static void main (String args[]) { } double media, soma=0; String nota; int n = 6; // tamanho do vetor double notas[] = new double[n]; // declaração int i; // índice ou posição } for (i=0; i<=n-1; i++) { nota = JOptionPane.showInputDialog("Nota"); notas[i] = Integer.parseInt(nota); soma = soma + notas[i]; } media = soma / 6; System.out.print("Média: "+media);
Exercícios 1. Escreva um programa para ler um vetor de 10 números e montar outro vetor com os valores do primeiro multiplicados por 3. 2. Escreva um programa para ler o nome de um produto e a sua quantidade em estoque (5 produtos). Armazene, em dois vetores, os nomes dos produtos e a suas quantidades. Imprimir depois. 3. Escreva um programa para armazenar 10 números inteiros em um vetor. Depois leia um número e imprima uma mensagem informando se o número está presente ou não no vetor.
Exercícios 4. Escreva um programa que leia o preço de compra e o preço de venda de 5 mercadorias. O programa deverá imprimir quantas mercadorias proporcionam: Lucro menor do que 10% Lucro maior ou igual a 10% e menor ou igual a 20% Lucro superior a 20%
Exercícios 5. Escreva um programa para armazenar os valores 1,2,3,4,5,6,7,8,9 e 10 em um vetor. Depois leia o vetor e multiplique por dois os valores pares e armazene no mesmo vetor. Depois imprima os valores do vetor.