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