Ir para conteúdo
Faça parte da equipe! (2024) ×

Aprenda a usar arrays (matrizes ou vetores) em Delphi


iMelo~'
 Compartilhar

Posts Recomendados

Aprenda a usar arrays (matrizes ou vetores) em Delphi

 

Em programação de computadores, um array, também conhecido como vector (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma seqüência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um seqüência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns.

 

Os arrays podem ser considerados como as estruturas de dado mais simples que é possível imaginar. Têm a vantagem de que os seus elementos são acessíveis de forma rápida, mas têm uma notável limitação: são de tamanho fixo, mas podem ser incrementados ou diminuídos com determinados algoritmos, geralmente envolvendo a cópia de elementos de um array para outro e reinicializando o original com a nova dimensão. Os vetores podem ser implementados desta forma.

 

Em Delphi um array é declarado da seguinte forma:

 

É necessário se cadastrar para acessar o conteúdo.

 

 

Aqui nós temos um array chamado valores que contém 10 elementos do tipo Integer. Estes elementos podem ser acessados por índices que variarão de 1 a 10, ou seja, podemos acessar o 5º elemento da seguinte forma:

 

É necessário se cadastrar para acessar o conteúdo.

 

 

Este tipo de array que ora criamos é chamado de array estático, em contraposição aos arrays dinâmicos, os quais podem ter seus tamanhos redimensionados durante a execução do programa.

 

A forma mais prática de se trabalhar com arrays em Delphi é usando laços. Veja:

 

É necessário se cadastrar para acessar o conteúdo.

 

// vamos percorrer o array novamente e obter a soma dos

// valores de seus elementos

É necessário se cadastrar para acessar o conteúdo.

 

// vamos exibir o resultado

É necessário se cadastrar para acessar o conteúdo.

 

 

Aqui nós declaramos um array de 5 elementos do tipo Integer e inicializamos seus elementos com os valores de 1 a 5. Em seguida percorremos todo o array novamente para obter a soma dos valores dos elementos.

 

É possível também declarar e já inicializar um array. Veja:

 

É necessário se cadastrar para acessar o conteúdo.

 

// vamos exibir o resultado

É necessário se cadastrar para acessar o conteúdo.

 

 

Note que aqui eu declarei o array como uma constante. Isso aconteceu porque o Delphi não permite que inicializemos variáveis locais ([DCC Error] Unit1.pas(32): E2195 Cannot initialize local variables). Caso você realmente precise do array como variável e não constante, e deseje inicializá-lo juntamente com a declaração, mova-o para a seção interface do formulário ou classe.

 

Para finalizar, veja que é possível criar arrays de todos os tipos em Delphi. Veja no trecho de código abaixo como usamos um array de Char para guardar uma palavra e exibí-la normal e depois invertida:

 

É necessário se cadastrar para acessar o conteúdo.

// exibe o resultado

É necessário se cadastrar para acessar o conteúdo.

 

// vamos exibir a palavra invertida

É necessário se cadastrar para acessar o conteúdo.

 

// exibe o resultado

É necessário se cadastrar para acessar o conteúdo.

 

 

 

Créditos: Arquivo De Codigo

geek.png

Always.

Link para o comentário
Compartilhar em outros sites

"Arrays" são todas quase a mesma coisa em quase todas a linguagens existentes, e como se não bastasse não boas para economizar tempo de escrita ou tempo ao adicionar !

Boa explicação.

"Percorri caminhos que apesar de serem caminhos não eram caminhos, ouvi ruídos do obscuro e calmamente reconfortante, de paleios passei a meros trechos de sabedoria e pura eloquência, perdido na sabedoria ainda não tão ampla mas também não mais tão compacta."

Link para o comentário
Compartilhar em outros sites

iMelo, nada contra você querer repassar tutoriais, mas não precisa ficar sempre fazendo isso.

Não precisa da ctrl+c e ctr+v, pois o Google já levaria para o mesmo conteúdo em questão.

 

Você nunca me viu dando ctrl+c e ctrl+v em um material que não participei, pois simplesmente não a nescessidade.

 

 

 

Espero que entenda o que quis dizer.

Link para o comentário
Compartilhar em outros sites

iMelo, nada contra você querer repassar tutoriais, mas não precisa ficar sempre fazendo isso.

Não precisa da ctrl+c e ctr+v, pois o Google já levaria para o mesmo conteúdo em questão.

 

Você nunca me viu dando ctrl+c e ctrl+v em um material que não participei, pois simplesmente não a nescessidade.

 

 

 

Espero que entenda o que quis dizer.

 

Sei -> http://www.webcheats.com.br/forum/delphi-vb/1618031-video-aula-delphi-array.html

 

Outro -> http://www.webcheats.com.br/forum/windows-tutoriais/1627299-tutorial-crie-sua-variavel-de-ambiente-atalhos-melhores.html e diz que não é copy/paste.

 

@Topic

 

Bem, pelo menos no php array é extremamente util, não sei quanto ao delphi.

Vou dar uma olhada em outros conteúdos do arquivo de código :)

 

De certa forma é obrigatório usar laços para trabalhar com array no delphi?

Link para o comentário
Compartilhar em outros sites

Já tentou ler os créditos ? Ele apenas partilhou isto com as pessoas de cá, pois acredito que ele não seja um mago para saber tudo, mas ele teve o trabalho e a paciência de fazer copy/paste apenas para compartilhar, por isto evite comentários do tipo. Ajude a manter a zona mais interessante divertida.

Ele só deu copy/paste, explicação foi do autor do texto.

 

E, sempre comece os arrays por 0.

"Percorri caminhos que apesar de serem caminhos não eram caminhos, ouvi ruídos do obscuro e calmamente reconfortante, de paleios passei a meros trechos de sabedoria e pura eloquência, perdido na sabedoria ainda não tão ampla mas também não mais tão compacta."

Link para o comentário
Compartilhar em outros sites

Eu posto aqui com a intenção de ajudar sabe muitos nao usam o google e chegam aqui simplesmente procurando de mão beijada

 

Apenas a outros métodos de ajudar mais eficientes, como criando começando um tutorial ou vídeo aula. Ou ajudar alguém a fazer um.

 

 

Eu ajudei a fazer essas video aulas. Conheço o autor e ajudei ele em certos pontos, como usar o Camtasia Studio.

 

Já tentou ler os créditos ? Ele apenas partilhou isto com as pessoas de cá, pois acredito que ele não seja um mago para saber tudo, mas ele teve o trabalho e a paciência de fazer copy/paste apenas para compartilhar, por isto evite comentários do tipo. Ajude a manter a zona mais interessante divertida.

 

Eu li os créditos, e sempre que vejo um tópico sem ter um, confiro se o autor realmente fez.

Então, se ele teve paciência de copiar, colar, formatar e compartilhar, deve ter também paciência em criar um material de estudo.

Link para o comentário
Compartilhar em outros sites

E deste quando isso é bom?

Bem melhor ter 1 ou 2 tópicos por dia originais, que só a WC tenha, do que 10 ou 20 tópicos por dia copiados, que qual quer site tenha.

 

Qual o diferencial, exclusividade da WC? NEM UMA.

O que fará as pessoas virem para a WC? NEM UMA. Pois qual quer site terá os mesmos conteúdos.

 

 

Não é só por que nos outros sites estão agindo errado que aqui também deve agir.

Não é só por que outros usuários agem errado que você também deve agir errado.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.