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ções5 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:
● No primeiro exemplo temos um vetor numérico
● No segundo temos um vetor literal
● Os dois exemplos estão totalmente preenchidos
● O primeiro vetor foi inicializado com zeros
● O segundo vetor foi inicializado com '' (espaços/vazio)
● Ambos são homogêneos, isto é, seu conteúdo é do mesmo tipo
● 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:
● Declare é a palavra reservada para declaração de variáveis (sempre no início do Algoritmo)
● <NomeDaVariável> : é o nome dado pelo usuário para a variável
● Vetor é a palavra reservada para definir que uma variável é do tipo VETOR
● [INI .. FIM] define a quantidade de ítens de um vetor
● TipoDoVetor define o tipo de variável que o vetor vai armazenar.
Exemplo:
Declare vetNome : vetor [1..50] literalDeclare vetSalario : vetor [1..50] numérico inteiro
Características
● Unidimensionais,
http://olinux.uol.com.br/artigos/444/print_preview.html
● Homogêneos,
● Um mesmo indice pode acessar valores em vários vetores distintos, desde que haja uma relação entre eles e sejam "do mesmo tamanho".
● Ao tentar acessar uma posição inexistente, ocorrerá um erro no programa.
● 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])
Escreva(Telefone[i]) Escreva(EMail[i]) FimParaFimAlgoritmo
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-2000 Linux Solutions