O documento apresenta um algoritmo de agenda virtual que utiliza vetores para armazenar temporariamente nomes, endereços, telefones e e-mails de 100 pessoas. O algoritmo contém falhas, mas serve como exemplo inicial para demonstrar o uso de vetores. Na próxima aula, o tópico será matrizes.
1. http://olinux.uol.com.br/artigos/444/print_preview.html
Curso de Algoritmo - Aula X
Por: Jorge Luiz E. Sousa ( 15/02/2002 )
Introdução
Olá, comunidade!
Hoje começa uma nova faze do curso, onde veremos algumas estruturas novas e muito importantes
para programação. São chamadas VETORES.
Definição
São estruturas unidimensionais e homogêneas capazes de armazenar um número determinado de
variáveis e referenciálas utilizando uma estrutura de índice. De acordo com esta descrição, vejamos um
exemplo:
Exemplo de um vetor de 8 (oito) posições
5 15 25 100 0 21 35 50
Exemplo de um vetor de 8 (oito) posições
'JLes' 'Exemplo' 'de' 'VETORES' '' '' '' ''
Observe nas estruturas acima, que:
q No primeiro exemplo temos um vetor numérico
q No segundo temos um vetor literal
q Os dois exemplos estão totalmente preenchidos
q O primeiro vetor foi inicializado com zeros
q O segundo vetor foi inicializado com '' (espaços/vazio)
q Ambos são homogêneos, isto é, seu conteúdo é do mesmo tipo
q Ambos são unidimencionais, um índice basta para referenciar as posições do vetor.
Com a explicação acima, concluimos que vetores são variáveis com múltiplas posições.
Sintaxe
A sintaxe de declaração de variáveis para vetores é:
Declare <NomeDaVariável> : Vetor [INI .. FIM]
TipoDoVetor
Onde:
q Declare é a palavra reservada para declaração de variáveis (sempre no início do Algoritmo)
q <NomeDaVariável> : é o nome dado pelo usuário para a variável
q Vetor é a palavra reservada para definir que uma variável é do tipo VETOR
q [INI .. FIM] define a quantidade de ítens de um vetor
q TipoDoVetor define o tipo de variável que o vetor vai armazenar.
Exemplo:
Declare vetNome : vetor [1..50] literal
Declare vetSalario : vetor [1..50] numérico inteiro
Características
q Unidimensionais,
2. q Homogêneos,
q Um mesmo indice pode acessar valores em vários vetores distintos, desde que haja uma relação
entre eles e sejam "do mesmo tamanho".
q Ao tentar acessar uma posição inexistente, ocorrerá um erro no programa.
q Vetores só existem na memória do computador e durante a execução de um programa ou
"PROCEDIMENTO", não sendo estruturas para armazenamento permanente.
Obs.: PROCEDIMENTOS e FUNÇÕES serão matéria de aulas futuras
Referência
Para acessar uma determinada posição do vetor, será necessário informar o nome do vetor e a posição
desejada.
Exemplo:
NomeAtual <- vetNome[40]
SalarioAtual <- vetSalario[40]
Aplicação
Estas estruturas são utilizadas para armazenar temporáriamente vários valores relacionados.
Como mostrado no exemplo anterior, podemos ter vários vetores de "N" posições, armazenando dados
diferentes e relacionados, "SIMULANDO EM MEMÓRIA", o armazenamento de informações, para
referência futura.
Exemplo
Como exemplo, vamos criar uma agenda virtual, que durante sua execução, armazenará: Nome,
Telefone, endereço e e-mail de 100 pessoas.
Algoritmo
Declare Nome,Ender,Telefone,EMail: vetor [1..100]literal
Indice: numérico inteiro
//Início do algoritmo
//Inicializando indice
Indice<-1
//Inicializando vetores
Parai<- 1 até 100 Faça
Nome[i]<-''
Ender[i]<-''
Telefone[i]<-''
EMail[i]<-''
FimPara //Obtendo dados do usuário
Para i<- 1 até 100 Faça
Escreva('Digite o nome:')
Leia(Nome[i])
Escreva('Digite o Endereco')
Leia(Ender[i])
Escreva('Digite o Telefone')
Leia(Telefone[i])
Escreva('Digite o e-mail')
Leia(EMail[i])
FimPara
//Listando todos os registros em sequência
Parai<- 1 até 100 Faça
Escreva(Nome[i])
Escreva(Ender[i])
3. Escreva(Telefone[i])
Escreva(EMail[i])
FimPara
FimAlgoritmo
Análise do algoritmo exemplo
Primeira Análise
O algoritmo acima contém muitas falhas, mas para uma visão inicial, serve ao propósito.
Segunda Análise
Note que a mesma estrutura "PARA" foi utilizada para todos os processos, a saber: Inicialização dos
vetores, obtenção dos dados e associação dos mesmos à uma mesma pessoa e impressão dos dados.
Terceira análise
O algoritmo, por utilizar a estrutura para, quando estiver no segundo laço (obtenção dos dados), não
vai parar antes de ler todos os 100 registros. Isto pode ser muito cansativo e é desagradável pensar
que estes dados serão perdidos assim que se chegar ao fim do algoritmo.
Quarta análise
Vetores são estruturas interessantes e úteis, mas não para uma agenda. sendo que a melhor utilização
desta estrutura seria, como forma, por exemplo, de guardar os últimos 100 registros lidos de um banco
de dados na memória para acesso imediato. Desta maneira, o acesso a disco (que é lento), seria feito
"uma vez somente", e os dados seriam acessados a partir da memória, que é muito mais eficiente e
rápido.
Conclusão
Com o decorrer do curso, utilizaremos este mesmo algoritmo, melhorando-o a cada novo recurso
aprendido. Ao final, teremos um algoritmo de agenda completo, com arquivamento em disco e tudo o
que mais for de direito de uma agenda, inclusive o Programa codificado em pascal para DOS, utilizando
a interface do Delphi para implementação.
A próxima aula será sobre matrízes.
Espero que tenham apreciado, Críticas e Sugestões são bem vindas!
Copyright (C) 1999- 2 0 0 0 Linux Solutions