Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Introdução a Sistemas de Informação Prof. Roberto Alencar Arrays parte 1 Fundamentos de Programação Até então, aprendemos o que é uma variável e como declarar variáveis em portugol, e fizemos isso inúmeras vezes em nossos algoritmos. O nosso problema começa, quando temos que declarar inúmeras variáveis para atender a um determinado fim. Fundamentos de Programação Problema Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar de uma só vez o nome de cada um e a média final de cada aluno e a média da turma. Como vocês fariam isso ? Fundamentos de Programação Opção A Vocês teriam que declarar 50 variáveis para armazenar os nomes, 50 variáveis para armazenar as notas ... Cansativo não? Acho que se fosse realmente assim, não haveria tantos programadores quanto há hoje em dia… ALGORITMO "algoritmo Opcao A" VAR aluno1, aluno2, aluno3, ..., aluno50 : CARACTER nota1, nota2, nota3, ..., nota50 : REAL INICIO ... Fundamentos de Programação Opção B Vocês usariam uma Array para armazenar esses valores. Fundamentos de Programação O que é um array (ou vetor) ? Um array (ou vetor) é uma estrutura de dados que armazena uma sequência de objetos, todos do mesmo tipo, em posições consecutivas da memória. Fundamentos de Programação O que é um array (ou vetor) ? Vamos imaginar um vetor como sendo uma “caixa” com vários lugares separados para guardar seus documentos, ou seja, uma variável onde se pode armazenar mais de um dado. Vetor de 8 posições: Fundamentos de Programação O que é um array (ou vetor) ? Por exemplo, temos um vetor com dados armazenados nas 5 primeiras posições: Para poder acessar o conteúdo desse vetor, deve-se utilizar a sintaxe: meuvetor[posição] Ex: meuvetor[2] O retorno será a letra B. Fundamentos de Programação Até o momento: usamos variáveis simples; Variáveis simples: podem armazenar um valor de cada vez; A partir desta aula, poderemos utilizar também variáveis compostas. Arrays (ou vetores) são variáveis compostas. Variáveis compostas: podem armazenar mais de um valor ao mesmo tempo. Os valores armazenados têm o mesmo tipo. Fundamentos de Programação Vetor: variável (estrutura) capaz de armazenar vários elementos de mesmo tipo; Para acessar elementos de um vetor é necessário um índice; Um Índice serve como indicador de posição. Fundamentos de Programação Declaração de um vetor Exemplo: Primeiro vem o nome do vetor, então onde antes colocávamos apenas o tipo, que era CARACTER, INTEIRO, REAL e LÓGICO, agora vamos especificar que é um vetor, colocar quantas posições ele terá, e finalmente o tipo. Observação: o número total de variáveis suportado pelo VisuAlg é 500. ALGORITMO "exemplo declaracao" VAR <nome do vetor> : VETOR[<tamanho>] DE <tipo> ... ALGORITMO "exemplo declaracao" VAR alunos : VETOR[1..50] DE CARACTER matriculas : VETOR[0..4] de CARACTER ... Fundamentos de Programação Exercício Declare abaixo um vetor que recebe 100 salários Declare abaixo um vetor que recebe 100 idades. Fundamentos de Programação Motivos para se usar um vetor Quando é necessário armazenar vários valores do mesmo tipo ao mesmo tempo; Exemplo: um aluno pode ter 5 notas; Ao invés de declarar 5 variáveis de mesmo tipo, usamos um vetor. Fundamentos de Programação Acesso aos valores de um vetor Pelo índice; Ao ser informado o índice, é retornado o valor daquela ocorrência. Fundamentos de Programação Suponha que temos os seguintes dados no vetor “nomes”: Se digitamos o comando: ESCREVA( nomes[2] ) O que o sistema retornaria ? 1 2 (...) 9 10 José Maria Carla Reinaldo Fundamentos de Programação Para inserir valores em um vetor Forma mais comum: Receber a informação na tela e Mover a informação para a ocorrência desejada, dentro do vetor (atribuição) Essa atribuição é igual à atribuição comum, a diferença é que é necessário informar o índice. Fundamentos de Programação Exemplo 1 Recebendo um nome do teclado e Inserindo na posição 3: ALGORITMO "Atribuicao Vetor" VAR nomes : VETOR[1..3] DE CARACTER INICIO ESCREVA("Digite um nome para armazenar na posição 3: ") LEIA(nomes[3]) FIMALGORITMO Fundamentos de Programação Exemplo 2 Recebendo e armazenando dois números: ALGORITMO "Atribuicao Vetor Exemplo 2" VAR num : VETOR[1..2] DE INTEIRO INICIO ESCREVA("Digite um número: ") LEIA(num[1]) ESCREVA("Digite mais um número: ") LEIA(num[2]) ESCREVA("Os números digitados foram: ", num[1], " e ", num[2]) FIMALGORITMO Fundamentos de Programação Preenchendo um array Preenchendo um vetor de 5 posições com números lidos no teclado: ALGORITMO "Exemplo Vetor" VAR num : VETOR[1..5] de INTEIRO n : INTEIRO INICIO PARA n DE 1 ATE 5 FACA ESCREVA("Digite um número: ") LEIA(num[n]) FIMPARA FIMALGORITMO Fundamentos de Programação Preenchendo automaticamente um vetor A sequência de comandos acima preenche um vetor sem precisar ler os dados do teclado. Faz automaticamente. ALGORITMO "Exemplo Vetor" VAR numeros : VETOR[1..5] de INTEIRO n : INTEIRO INICIO PARA n DE 1 ATE 5 FACA numeros[n] := n FIMPARA FIMALGORITMO Fundamentos de Programação Somando os Elementos de um array e exibindo a média ... PARA ind DE 1 ATE 10 FACA soma := soma + valores[ind] FIMPARA media := soma / 10 Fundamentos de Programação Exibindo o maior elemento de um array ... maior := 0 PARA ind DE 1 ATE 10 FACA SE valores[ind] > maior ENTAO maior := valores[ind] FIMSE FIMPARA ESCREVA("O maior é: ", maior) Dúvidas Obrigado ! Roberto Alencar rroberto.alencar@gmail.com Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25