Vetores Unimensionais

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

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

UNIVERSIDADE FEDERAL DO PARANÁ

Algoritmos e Estruturas de Dados I

JAVA. Fabrício de Sousa

BC0501 Linguagens de Programação

UNIVERSIDADE FEDERAL DO PARANÁ

Resumo da Introdução de Prática de Programação com C. A Linguagem C

//Leitura de Variáveis System.out.print("Digite a temperatura atual: "); temp = leia.nextfloat();

ALGORITMO I VARIÁVEIS INDEXADAS

DESENVOLVIMENTO DE SOFTWARE II. Aula 07 A linguagem de programação C# e sua sintaxe

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

Programação online em Java

Utilizem a classe Aula.java da aula passada:

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

Organização de programas em Java. Vanessa Braganholo

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Algoritmos e Programação Estruturada

Programação Estruturada e Orientada a Objetos REVISÃO

double [] precoa = new double [1000]; // Preço com desconto para compras Avista

2 Orientação a objetos na prática

Equivale a um conjunto de if 's encadeados, porém mais estruturado.

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

MC-102 Aula 17 Strings e Matrizes

Universidade Federal de Uberlândia

Unidade IV: Ponteiros, Referências e Arrays

Noções sobre Objetos e Classes

Estruturas (Registros)

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

Introdução a Java. Hélder Nunes

BSI UFRPE Prof. Gustavo Callou

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

LINGUAGEM ORIENTADA A OBJETOS

Capítulo 2: Introdução à Linguagem C

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

INF 1005 Programação I

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Um pouco do Java. Prof. Eduardo

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

Paradigmas da Programação APROG. Classes JAVA. Nelson Freire (ISEP DEI-APROG 2013/14) 1/43

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Estruturas (Registros)

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Estruturas de Repetição Parte II PARA-ATÉ

Estruturas de entrada e saída

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Curso Java Starter. 1

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

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

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

Módulo 06 Desenho de Classes

ESTRUTURA CONDICIONAL

INF 1005 Programação I

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução à Programação Bacharelado em Sistemas de Informação 3ª Lista de Exercícios - Solução Procedimentos e Funções

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

9. Estruturas em C Registros

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Caso 1 NetScanner Main

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Algoritmos com VisuAlg

LINGUAGEM DE PROGRAMAÇÃO JAVA

Sintaxe Básica de Java Parte 1

Paradigmas da Programação PPROG. Linguagem JAVA. Interfaces. (Livro Big Java, Late Objects Capítulo 9) Nelson Freire (ISEP DEI-PPROG 2013/14) 1/33

Escola Superior de Gestão e Tecnologia. Tratamento de Exceções

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

Linguagem de Programação III

Visual Basic e Java. À primeira vista o Java é completamente diferente do Visual Basic. Realmente as duas linguagens pertencem a mundos distintos.

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

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

Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa

INTRODUÇÃO À PROGRAMAÇÃO

Estrutura em Camadas. Estrutura em Camadas. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

Sobre o Professor Dr. Sylvio Barbon Junior

Mini Curso DESCOMPLICANDO C# Professor Hélio

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Programação Paralela e Distribuída. Prof. Cidcley T. de Souza

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

JavaScript 2.0X X

Técnicas de Programação II

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Java : Comunicação Cliente-Servidor.

e à Linguagem de Programação Python

Professor: Douglas Sousa Cursos de Computação

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

José Valente de Oliveira e Fernando Lobo. Introdução à. Programação de Computadores em Java

Prof. Esp. Adriano Carvalho

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Estruturas (registros)

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

public void setdata(data d) { data = d;

Introdução ao Javascript. Parte 2 Prof. Victor Hugo Lopes

Transcrição:

Vetores Unimensionais

Objetivos Entender a importância e a necessidade do uso de Vetores Definição de Manipulação de Vetores Inserir elementos em um vetor (usando laços ou não) Acessar elementos de um vetor (usando laços ou não)

PROBLEMA

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA:

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA: a média

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA: a média ENTRADA:

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA: a média ENTRADA: nota 10 vezes

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA: a média ENTRADA: nota 10 vezes PROCESSAMENTO:

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. SAÍDA: a média ENTRADA: nota 10 vezes PROCESSAMENTO: Acumular a nota (somar com as anteriores) Dividir a soma por 10 10 vezes

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. LÓGICA (SOLUÇÃO) Para cada um dos 10 alunos: Ler a nota N Acumular a nota (somar com as anteriores) Media = soma / 10 N N N N N N N N N N?????????? SOMA 0 MEDIA 0

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. LÓGICA (SOLUÇÃO) Para cada um dos 10 alunos: Ler a nota N Acumular a nota (somar com as anteriores) Media = soma / 10 ATENÇÃO: a cada nota digitada vai acumulando com a anterior. Pode-se usar a mesma variável N para ler a nota do aluno seguinte N N N N N N N N N N 5.5????????? SOMA 5.5 MEDIA 0

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. LÓGICA (SOLUÇÃO) Para cada um dos 10 alunos: Ler a nota N Acumular a nota (somar com as anteriores) Media = soma / 10 ATENÇÃO: a cada nota digitada vai acumulando com a anterior. Pode-se usar a mesma variável N para ler a nota do aluno seguinte N N N N N N N N N N 5.5 6.5???????? SOMA 11.0 MEDIA 0 E assim por diante...

Problema 1 Calcular a média de uma classe a partir da nota de seus 10 alunos. LÓGICA (SOLUÇÃO) Para cada um dos 10 alunos: Ler a nota N Acumular a nota (somar com as anteriores) Media = soma / 10 ATENÇÃO: a cada nota digitada vai acumulando com a anterior. Pode-se usar a mesma variável N para ler a nota do aluno seguinte N N N N N N N N N N 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 SOMA 61.0 MEDIA 6.1

SOLUÇÃO EM PORTUGAL

Solução Em Portugol Studio

SOLUÇÃO EM JAVA

Solução Em Java import java.util.*; public class Media00 { public static void main(string[ ] args) { double media, soma = 0, nota; int cont = 0; Scanner teclado = new Scanner(System.in); } } while (cont < 10) { System.out.println("Digite a nota : "); nota = teclado.nextdouble(); soma = soma + nota; cont++; } media = soma / 10; System.out.println("Media da Sala = " + media);

AMPLIANDO O PROBLEMA

Problema 2 Bacharelado em Ciência e Tecnologia Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA:

Problema 2 Bacharelado em Ciência e Tecnologia Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA:

Problema 2 Bacharelado em Ciência e Tecnologia Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA: nota 10 vezes PROCESSAMENTO:

Problema 2 Bacharelado em Ciência e Tecnologia Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA: nota 10 vezes PROCESSAMENTO: Acumular a nota (somar com as anteriores) Dividir a soma por 10 E O QUE MAIS? 10 vezes

Problema 2 Bacharelado em Ciência e Tecnologia Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA: nota 10 vezes PROCESSAMENTO: Acumular a nota (somar com as anteriores) Dividir a soma por 10 Para cada uma das 10 notas: SE nota > media ENTÃO contar 10 vezes

Problema 2 Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA: nota 10 vezes PROCESSAMENTO: Acumular a nota (somar com as anteriores) MEDIA = soma / 10 Para cada uma das 10 notas: SE nota > MEDIA ENTÃO contar 10 vezes

Problema 2 Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SAÍDA: média, quantidade acima media (cont) ENTRADA: nota 10 vezes PROCESSAMENTO: Acumular a nota (somar com as anteriores) MEDIA = soma / 10 Para cada uma das 10 notas: SE nota > MEDIA ENTÃO contar 10 vezes Como fazer isso se a MÉDIA só existirá quando a décima nota for lida?

Problema 2 Para cada um dos 10 alunos: Ler a nota N soma = soma + N //Acumular a nota (somar com as anteriores) MEDIA = soma / 10 Para cada uma das 10 notas: SE nota > media ENTÃO contar ATENÇÃO: Note que é preciso armazenar os 10 valores, para que depois de calculada a média se possa verificar se cada uma das 10 notas estão acima da média N1 N2 N3 N4 N5 N6 N7 N8 N9 N10 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 SOMA 61.0 MEDIA 6.1

Problema 2 Calcular a média de uma classe a partir da nota de seus 10 alunos e verificar quantos conseguiram nota acima da média da classe: SE N1 > media ENTÃO cont = cont + 1 SE N2 > media ENTÃO cont = cont + 1 SE N3 > media ENTÃO cont = cont + 1... SE N9 > media ENTÃO cont = cont + 1 SE N10 > media ENTÃO cont = cont + 1

SOLUÇÃO EM PORTUGOL Com variáveis simples

Solução com variáveis simples funcao inicio( ) { real media, soma = 0, n1, n2, n3, n4, n5, n5, n6, n7, n8, n9, n10 inteiro cont = 0 escreva("digite a nota n1: "); leia(n1) escreva ("Digite a nota n2: "); leia(n2) escreva ("Digite a nota n3: "); leia(n3)... CONTINUA

... escreva ("Digite a nota n10"); leia(n10) Bacharelado em Ciência e Tecnologia Solução com variáveis simples soma = n1+ n2 + n3 + n4 + n5 + n6 + n7 + n8, + n9 + n10 media = soma / 10 se (n1>media) cont=cont+1 se (n2>media) cont=cont+1 se (n3>media) cont=cont+1...... se (n9>media) cont=cont+1 se (n10>media) cont=cont+1 10 se escreva("existem ", cont, " notas cima da media ", media) }

SOLUÇÃO EM JAVA Com variáveis simples

import java.io.*; Solução com variáveis simples public class Media01 { public static void main(string[ ] args) { float media, soma = 0, n1, n2, n3, n4, n5, n5, n6, n7, n8, n9, n10; int cont = 0; Scanner teclado = new Scanner(System.in); System.out.println("Digite a nota n1: "); n1 = teclado.nextfloat();... System.out.println("Digite a nota n2: "); n2 = teclado.nextfloat();... System.out.println("Digite a nota n3: "); n3 = teclado.nextfloat();...... CONTINUA

Solução com variáveis simples... System.out.println("Digite a nota n10"); n10 = teclado.nextfloat();... soma = n1+ n2 + n3 + n4 + n5 + n6 + n7 + n8, + n9 + n10; media = soma / 10; if (n1>media) cont=cont+1; if (n2>media) cont=cont+1; if (n3>media) cont=cont+1;...... if (n9>media) cont=cont+1; if (n10>media) cont=cont+1; 10 ifs } } System.out.println("Existem " + cont + " notas cima da media " + media);

Problema E se fosse uma turma de 500 alunos? 500 variáveis? 500 ifs? A maioria das linguagens implementam variáveis do tipo CONJUNTO, chamadas de VETOR ou ARRAY

VETOR (ARRAY)

VETOR Permite a declaração de variáveis do tipo CONJUNTO Uma variável do tipo CONJUNTO pode armazenar mais de um valor. No ato da declaração da variável deve-se informar o seu tamanho. Para o problema de armazenar 10 notas, pode-se definir uma variável de tamanho 10 do tipo real. nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9

VETOR No Portugol Studio Para o problema de armazenar 10 notas, pode-se definir uma variável de tamanho 10 do tipo real. Declaração: real nota [ 10 ] nome da variável A declaração acima cria em memória uma variável do tipo REAL, chamada NOTA e tamanho 10. As 10 posições são numeradas de 0 a 9 (índice) nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9

VETOR No Portugol Studio Declaração: real nota [ 10 ] nome da variável As 10 posições são numeradas de 0 a 9 (índice) nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9

VETOR No Portugol Studio Declaração: real nota [ 10 ] nome da variável nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9 Acesso a variável: Para acessar cada posição deve-se usar o nome da variável e a sua posição (ou índice) entre colchetes. A instrução abaixo imprime a terceira nota (índice = 2) da variável. O índice pode ser uma escreva( A terceira nota =, nota [ 2 ] ) variável: Ex. nota [ x ]

SOLUÇÃO EM PORTUGOL COM VETOR

Lê as notas via teclado e guarda no vetor?????????? 0 1 2 3 4 5 6 7 8 9

Vetor no Portugol Studio Bacharelado em Ciência e Tecnologia Verifica se cada nota armazenada está acima da média nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9 media 6.1

VETOR EM JAVA

VETOR No Portugol Studio Para o problema de armazenar 10 notas... Declaração: double nota[ ] = new double [ 10 ] nome da variável tamanho A declaração acima cria em memória uma variável do tipo double, chamada NOTA e tamanho 10. As 10 posições são numeradas de 0 a 9 (índice) nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9

Vetores 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 nota [ ] = new double [10]; 45

SOLUÇÃO EM JAVA COM VETOR

Solução com VETOR import java.io.*; public class Media02 { public static void main(string[ ] args) { double nota [ ] = new double [10]; double media, soma = 0; int indice = 0, cont = 0; Scanner teclado = new Scanner(System.in); while (indice < 10) { System.out.println("Digite a nota :"); nota [ indice ] = teclado.nextdouble(); soma = soma + nota [ indice ]; indice++; } media = soma / 10; CONTINUA

Solução com VETOR Bacharelado em Ciência e Tecnologia /* ------- verificar quem está acima da média ------------ */ indice = 0; /* recomeça a percorrer a partir da posição ZERO!!! */ while ( indice < 10) { if ( nota [ indice ] > media ) { cont++; } indice++; } System.out.println("Existem " + cont + " notas cima da media " + media); } }

Respondendo à pergunta: E se fosse uma turma de 500 alunos?

EM PORTUGOL COM VETOR

[500]?????????? 500 0 1 2 3 4 5 6 7 8 9 500

Vetor no Portugol Studio 500

EM JAVA COM VETOR

Solução com VETOR import java.io.*; public class Media02 { public static void main(string[ ] args) { double nota [ ] = new double [500]; double media, soma = 0; int indice = 0, cont = 0; Scanner teclado = new Scanner(System.in); while (indice < 500) { System.out.println("Digite a nota :"); nota [ indice ] = teclado.nextdouble (); } soma = soma + nota [ indice ]; indice++; media = soma / 500 ;

Solução com VETOR /* ------- verificar quem está acima da média ------------ */ indice = 0; /* recomeça a percorrer a partir da posição ZERO!!! */ while ( indice < 500) { if ( nota [ indice ] > media ) { cont++; } ind++; } System.out.println("Existem " + cont + " notas cima da media " + media); } }

Conceituando Vetores

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

Vetores Ex: armazernar as médias de 5 alunos posição Medias 0 4.5 1 6.5 2 8.0 3 3.5 4 6.0 Mesmo tipo de dado tipo REAL E onde ficam armazenados os dados? R: De forma agrupada na Memória Principal! 58

Vetores Um vetor é representado por: Identificador - nome do vetor Tamanho (dimensão) - quantidade de elementos (dados) Tipo - tipo de dado armazenado (inteiro, real, cadeia) Sintaxe: tipo identificador [tamanho] inteiro idade[50] 59

Manipulação de Vetores 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. O índice indica a posição do dado (conteúdo) no vetor nota conteúdo 5.5 6.5 8.0 3.0 7.5 2.5 7.5 6.0 4.5 10.0 índice 0 1 2 3 4 5 6 7 8 9 60

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

OUTROS TIPOS DE DADOS Bacharelado em Ciência e Tecnologia Vetor de Caracter caracter conceitos [50] // declara um vetor para armazenar o conceito de 50 alunos Vetor de Cadeia (string) cadeia nomes [100] // declara um vetor para armazenar o nome de 100 pessoas 62

Alerta!!!

Vetores: Erros Comuns inteiro A [5] inteiro B [5] Jamais fazer: B = A, se a intenção é copiar os elementos de A para B. A atribuição de dois vetores tem que ser feito elemento por elemento. Ex: B[0] = A[0] B[1] = A[1] e assim por diante Jamais fazer leia (A), se a intenção é ler os elementos do vetor A Tem que ler elemento por elemento. Ex: leia(a[0]) ou leia(a[ind]) Jamais fazer escreva (A), se a intenção é mostrar os elementos do vetor A. Tem que ler elemento por elemento. Ex: escreva(a[0]) ou escreva(a[ind])

RESUMINDO...

Coisas para não esquecer: Vetor permite armazenar um CONJUNTO de valores SIMULTANEAMENTE Sintaxe para declaração de vetor: tipo identificador [tamanho] Sintaxe para acesso ao vetor: identificador [posição]

AGORA É PRATICAR!!!

EXERCÍCIOS

Problema Escreva um programa para preencher um vetor de inteiro com 20 termos de uma PA cujo termo inicial e a razão deverá ser informada pelo usuário. Somente após o preenchimento completo do vetor, o mesmo deverá ser exibido na tela SAÍDA: Quais os resultados que o algoritmo dever fornecer? ENTRADA: Quais os insumos necessários para se obter a saída? PROCESSAMENTO: Como transformar os insumos na saída?