Vetores. Professor Dr Francisco Isidro Massettto francisco.massetto@ufabc.edu.br

Documentos relacionados
Aula 04 Operadores e Entrada de Dados. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 3 Desvio Condicional

Conversão de Tipos e Arrays

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

Vetores Unimensionais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Projeto e Desenvolvimento de Algoritmos

Programação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus

insfcanceof new public switch transient while byte continue extends for int null

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Estrutura Condicional em Java

Bacharelado em Ciência e Tecnologia BC Processamento da Informação Teoria Arquivos Prof. Edson Pinheiro Pimentel edson.pimentel@ufabc.edu.

Implementando uma Classe e Criando Objetos a partir dela

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas

Algoritmos e Programação II. Sobrecarga

Programação de Computadores para GI

Vetores Unimensionais

Programação Visual TIC - 3PA. Lista de Exercícios 02

Computação II Orientação a Objetos

Estrutura de Dados Básica

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Programação de Computadores II TCC /Turma A 1

2 Orientação a objetos na prática

Análise de Programação

Vetores Unimensionais

Estruturas II UFOP 1/1

Algoritmos e Estruturas de Dados I

Encapsulamento de Dados

Técnicas de Programação I

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Noções sobre Objetos e Classes

Conceitos básicos da linguagem C

Programação online em Java

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Introdução a Java. Hélder Nunes

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Estruturas (registros)

Variáveis e Comandos de Atribuição

BC0501 Linguagens de Programação

Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores

Registros. Técnicas de Programação. Rafael Silva Guimarães

Tipos de Dado Abstrato: Listas, Filas e Pilhas

Trabalho Computacional 2. Aplicativo para Gestão Financeira. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Bancos de Dados: impossível viver sem eles...

Desenvolvimento OO com Java Orientação a objetos básica

Exercícios de Revisão Java Básico

UNIVERSIDADE FEDERAL DE SANTA MARIA

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Programação por Objectos. Java

Vetores Unimensionais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Tipo Abstrato de Dados

Laboratório de Programação I

Introdução a Computação

Curso Java Starter. 1

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

INF1013 MODELAGEM DE SOFTWARE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

BC0505 Processamento da Informação

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Filas. Fabrício J. Barth. BandTec - Faculdade de Tecnologia Bandeirantes

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Organização de programas em Java. Vanessa Braganholo

MC-102 Aula 17 Strings e Matrizes

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

Unidade IV: Ponteiros, Referências e Arrays

Faculdade Instituto Educare - FIED Curso: Sistemas de Informação Disciplina: Linguagem de Programação I Prof.: Rhyan Ximenes rxbrito@gmail.

Programação de Computadores I. Aula - Vetores. Professor Ilaim Costa Junior.

DEFINIÇÃO DE MÉTODOS

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Princípios de programação em Linguagem C++

Programa de Computador que funciona em Rede

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

7. Estrutura de Decisão

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

JSP - ORIENTADO A OBJETOS

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

MC-102 Aula 19 Registros


Utilizem a classe Aula.java da aula passada:

Transcrição:

Professor Dr Francisco Isidro Massettto francisco.massetto@ufabc.edu.br

Nem sempre os tipos básicos: (inteiro, real, caracter e lógico) são suficientes para implementar um algoritmo. Por exemplo: Considere o problema para ler 5 notas de uma turma e imprimir média dessas notas.

import java.util.*; class Main{ public static void main(string args[]){ Scanner in = new Scanner(System.in); double nota, soma=0, media=0; int i; for (i=0;i<5;i++){ System.out.println("Informe a nota valor: "); nota = in.nextdouble(); soma = soma + nota; } media=soma/i; System.out.println("A MÉDIA É "+media); } }

Estudo de Caso E se eu quiser imprimir a terceira nota, após o loop? Neste algoritmo os valores das notas não são armazenados em lugar nenhum. Para solucionar essa situação utilizaremos VETORES!!!

Definição de vetores: Coleção de variáveis de mesmo tipo. Estrutura de dados homogênea. Porque homogênea? Agrupam várias informações Dentro de uma mesma variável e Com o mesmo tipo de dado

Índice Exemplo: Representação gráfica de um vetor Elemento 0 1 2 3 4 5 6 7 8 5 7 10 7 8 6 10 3 4 Tamanho: 9 posições Cada elemento ocupa uma posição diferente. Genericamente chamamos as posições de ÍNDICES.

Ex: Agrupar as médias de 5 alunos Alunos Medias 1 4.5 2 6.5 3 8.0 4 3.5 5 6.0 Mesmo tipo de dado tipo REAL E onde ficam armazenados os dados? De forma agrupada na Memória Principal! 7

Um vetor é representado por: Identificador - nome do vetor Tamanho (dimensão) - quantidade de elementos (dados) Tipo - tipo de dado armazenado (integer, real, string) Sintaxe: tipo identificador [ ] = new tipo[tamanho]; double exemplo[ ] = new double [55]; 8

Como seria a declaração de um vetor para 80 notas? double notas [ ] = new double [80];

Manipulação de Vetores Os dados de um vetor são manipulados através de um índice O índice indica a posição do dado no vetor: double notas[] = new double [5]; Como identificar cada dado no vetor? Através do ÍNDICE!! MD guarda as mé dos 5 alunos d exemplo anteri 10

Manipulação de Vetores Vetor MD 4.5 6.5 8.0 3.5 6.0 0 1 2 3 4 notas[0] = 4.5; notas[1] = 6.5; notas[2] = 8.0; notas[3] = 3.5; notas[4] = 6.0; Atribuição de valores em um vetor índice dados 11

Manipulação de Vetores Mas como caminhar entre as posições do vetor? Utilizando estrutura de repetição!! (FOR) for(i=0;i<5;i++) { } System.out.println( Valor + i); notas[i] = in.nextdouble(); notas 4.5 6.5 8.0 3.5 6.0 0 1 2 3 4 i 0 1 2 3 4 5 12

Exemplo Voltando ao Estudo de Caso double notas[] = new double [5]; int i; double media, soma=0; Scanner in = new Scanner(System.in); for(i=0;i<5;i++){ } System.out.println("Informe a nota " + (i+1) +": "); notas[i] = in.nextdouble(); soma = soma + notas[i]; media = soma / 5; Declaração do vetor media e das demais variáveis do algoritmo! Leitura dos dados no vetor e acumulação das médias lidas! System.out.println("A media do grupo eh: "+ media); Impressão apenas da média do terceiro aluno! System.out.println("A media do 3 aluno eh: "+ notas[2]); 13

Exemplo Vetor de String String nomes [ ] = new String [3] ; nomes[0] = in.nextline(); Vetor de Inteiro int vetor [ ] = new int [10] ; vetor[0] = in.nextint(); 14

Cada elemento de um vetor é tratado como se fosse uma variável simples. Para referência a um elemento do vetor utiliza-se o nome do vetor e o seu índice entre colchetes. Exemplo: No vetor de 80 notas se eu quiser atribuir a nota 10 na posição 80 eu faço: notas[79] = 10 0 1 2 3 4 5 6 7 8 79 5 7 10 7 8 6 10 3 4 10

Exemplo 2 Faça um programa que crie um vetor de string com 5 elementos e preencha cada elemento com uma cor de acordo como desenho abaixo. O programa deve pedir um número de 0 a 4 para o usuário, e imprimir a cor correspondente a esse número. 0 1 2 3 4 Azul Rosa Verde Roxo Preto

0 1 2 3 4 Azul Rosa Verde Roxo Preto Exemplo 2 String Cor[] = new String[5]; Scanner in = new Scanner(System.in); Cor[0] = "Azul"; Cor[1] = "Rosa"; Cor[2] = " Verde"; Cor[3] = "Roxo"; Cor[4] = "Preto"; System.out.println("Digite um número de 0 a 4"); int num = in.nextint(); System.out.println("A cor correspondente é "+Cor[num]);

1 2 3 4 5 Exemplo 2 Refaça o exemplo 2 de maneira que o vetor seja preenchido utilizando os valores digitados pelo usuário.

Exemplo 2 public static void main(string[] args) { } // TODO code application logic here String Cor[] = new String[5]; Scanner in = new Scanner(System.in); Scanner in2 = new Scanner(System.in); for(int i=0;i<5;i++){ System.out.println("Digite uma cor"); Cor[i] = in.nextline(); } System.out.println("Digite um número de 0 a 4"); int num = in.nextint(); System.out.println("A cor correspondente é "+Cor[num]);

Observações importantes! Imagine fazer o Estudo de Caso para 80 notas! Sem utilizar vetores. Se não fosse a utilização de vetores o código ficaria muito maior e difícil de manipular. ERROS comuns: int A = new int[5]; int B = new int[5]; Jamais fazer: A = B. A atribuição de dois vetores tem que ser feito elemento por elemento. Ex: A[1] := B[2] Jamais fazer: A = in.nextint(); Tem que ler elemento por elemento. Ex: A[0] = in.nextint(); Jamais fazer: System.out.println(A); Tem que escrever elemento por elemento. Ex: System.out.println(A[1])

Exercícios 1. Leia 10 valores inteiros e armazene-os em um Vetor. Em seguida, imprima todos os elementos. 2. Leia 22 valores reais e armazene-os em um Vetor. Em seguida, imprima todos os elementos. 3. Leia 15 nomes de pessoas e armazene-os. Em seguida, mostre todos os nomes em sequência contrária. 4. Leia 8 elementos em um vetor inteiro A. Construa um outro vetor B, de mesma dimensão de A, com seus elementos sendo a multiplicação dos elementos de A por 3. Mostre os elementos de B. 21

Exercícios 5. Leia dois vetores A e B inteiros, de mesma dimensão. Construa o vetor C, de mesma dimensão, cujo elementos de C é a subtração dos elementos de A por B. Mostre o vetor C. 6. Leia dois vetores reais A (de tamanho 4) e B (de tamanho 7). Construa um 3 vetor que seja a junção de A e B (colocar os elementos de A seguidos dos elementos de B). 7. Leia um vetor e ache o maior elemento. 8. Leia um vetor e ache o menor elemento. 22

Exercícios 9. Leia um vetor de 15 elementos inteiros e procure por um elemento desejado, verificando ou não sua existência. 10. Leia 20 elementos em um vetor A e construa o vetor B com elementos de A, porém invertidos, ou seja, o primeiro elemento de A passa a ser o último elemento de B, e assim por diante. Mostre os 2 vetores. 11. Leia um vetor de 9 elementos. Imprima esse vetor na ordem da entrada e ao inverso. 12. Leia um vetor de 9 elementos. Imprima os elementos do vetor identificando como pares ou ímpares. 23

Exercícios Desafio 3 Construir uma algoritmo que leia em um vetor os modelos de cinco carros (exemplo: FUSCA, GOL, VECTRA, etc). Leia outro vetor com o consumo desses carros, isto é, quantos quilômetros cada um desses carros faz com 1 litro de combustível. Calcule e mostre: O modelo do carro mais econômico. Quantos litros de combustível cada um dos carros cadastrados consome para percorrer uma distância de 1000 quilômetros. 24