Ir ao conteúdo
  • Cadastre-se

Duvida Vetor Pascal


Juliano Sk

Posts recomendados

Quanto ao erro que está dando, seria melhor você postar o codigo para que possamos lhe ajudar diretamente onde você tem dificuldades...

Mas uma breve explicação que peguei no site http://gnulinuxbr.com/2010/02/19/matrizes-e-vetores-para-logica-de-programacao/:

------------------------------------------------------------------------

Vetores e Matrizes

Temos os seguintes tipos de dados básicos : inteiros, reais, lógicos e literais. Para trabalhar com conjuntos de variáveis do mesmo tipo básico, usamos o conceito de matriz.

Conceito equivalente ao da matemática.

Matriz

Matriz é um conjunto de variáveis, cada uma com um valor associado, como se fossem variáveis simples, mas todas compartilham o mesmo nome. Índices são utilizados para referenciar os elementos deste conjunto.

Exemplo:

um conjunto A de 3 elementos é representado por A1 A2 A3 onde A é o nome do conjunto e a identificação dos elementos individuais é feita pelo nome do conjunto seguido do índice. Logo, A2 é o segundo elemento.

Notação Matrizes

nome_variável: [dimensão1]…[dimensãoN] of [tipo de variavel];

Exemplo: V[3] é uma matriz com uma dimensão de tamanho 3.

Exemplo: M[3,3] é uma matriz de duas dimensões, respectivamente 3 linhas e 3 colunas.

Vetores

Vetores são matrizes que possuem somente uma dimensão. Podem ser vistos como listas de elementos do mesmo tipo. Operações principais sobre vetores:

leitura

escrita

soma dos elementos

ordenação

Leitura de um vetor v[3]:

para i = 0 até 3

leia( v );

fim para

Escrita de um vetor v[3]:

para j = 0 até 3

escreva( v[j]);

fim para

Soma dos elementos de um vetor v[3]:

soma = 0

para i = 0 até 3

soma = soma + v;

fim para

CUIDADO: a variação do índice do vetor deve ficar dentro dos limites da dimensão que o índice representa.

-------------------------------------------------------------------------

Quanto ao problema que você está tendo ao utilizar vetores, pode ser que você esteja "estourando" os limites do vetor!

Quando declaramos um vetor, se nao for uma matriz dinamica (explicarei a seguir) então já informamos os limites minimo e maximo do vetor. Exemplo:


Var
MeuVetor: array [1..5] of integer;

No exemplo dado, eu só poderei utilizar os campos MeuVetor[1], MeuVetor[2], MeuVetor[3], MeuVetor[4] e o ultimo MeuVetor[5].

Se eu tentar acessar o campo MeuVetor[0] ou MeuVetor[6] vai dar erro porque estou tentando acessar campos do vetor que nao existem.

Verifique se seu código nao está tentando acessar um campo inexistente do vetor.

Matriz Dinamica

Matriz dinâmica é uma matriz que pode ter seus limites alterados durante a execuçao do programa.

Matriz dinâmica pode ser de uma dimensão ou várias dimensões

Utilizamos matriz dinamica quando nao sabemos o tamanho que uma matriz pode ter ou quando sabemos que uma matriz terá seus limites modificados.

Um exemplo disso é quando eu preciso ler o conteudo de um arquivo texto e armazenar os dados numa matriz, mas nao sei quantos dados podem conter em um arquivo texto...

Para declarar e utilizar uma matriz dinamica:


Var
MeuArray: array of integer; //nao determinamos nenhum limite inicial ou final, apenas determinamos que é uma matriz (array) e o tipo de dados

//Para determinar o tamanho da matriz durante a execucao:
SetLength(MeuArray, tamanho); //tamanho seria a quantidade de campos que quero destinar à minha matriz

//Para utilizar os campos da matriz dinamica, é só referenciar os indices dos campos desejados. Porém na matriz dinamica o primeiro indice é sempre o índice 0 (zero) e o ultimo indice é tamanho-1.
MeuArray[0]:= 10; //primeiro campo da minha matriz
.
.
.
MeuArray[tamanho-1]:= 50; //último campo da minha matriz

//por fim, quando queremos 'destruir' a matriz (liberar da memoria), utilizamos o comando "Finalize":
Finalize(MeuArray);

Espero ter ajudado.

Qualquer duvidas poste .

Abraço

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!