User Tools

Site Tools


tipo_array_matriz

Em sua forma elementar, o tipo array é utilizado para armazenar, sob um mesmo nome de variável, uma quantidade fixa de elementos do mesmo tipo. Por isto, o tipo array também é conhecido como um arranjo homogêneo. Para formas de uso mais complexas recomendamos a leitura do guia de referência da linguagem.

A declaração de uma variável do tipo array é feita assim:

array [<lista de tipos enumeraveis>] of <tipo>

onde <tipo> é qualquer tipo previamente definido pelo programador ou pré-definido pela linguagem, e <lista de tipos enumeraveis> é uma lista de faixas de números separadas por vírgula.

Por restrição dos tipos enumeráveis, os valores devem ser do tipo ordinal e conhecidos em tempo de compilação.

Os casos mais comuns de arrays são de uma e de duas dimensões, embora possam ser declaradas com dimensões maiores. As de uma única dimensão são costumeiramente denominadas vetores, as de duas dimensões são chamadas de matrizes.

Exemplos:

program tipo_array_1;
 const
    MAX = 10; MIN=-5;
 var
    // exemplos de vetores
    alunos: array[MIN..MAX] of string;
    notas: array[1..3] of integer;
    dados: array[0..MAX-1] of real;

    // exemplos de matrizes
    tabela: array[MIN..MAX, 1..10] of real;
    tabuleiro: array[1..3,1..MAX+1] of integer;
    dados: array[0..MAX-1,MIN..MAX] of real;

    // exemplos de array de dimensao 3
    cubo: array[MIN..MAX, 1..10, 0..50] of real;
 end.

Para se acessar o conteúdo de um vetor deve-se usar o nome da variável e um indexador do tipo ordinal entre colchetes.

Exemplos:

     alunos[2]:= 'Fulano de Tal';
     notas[1]:= 95;
     read(dados[9]);

     tabela[1,5]:= 0.405;
     write(tabuleiro[2,1]);
     read(dados[0,0]);

     cubo[1,2,3]:= PI-1;

Tentar acessar um índice fora da faixa definida no tipo enumerável pode gerar erro de execução no programa, dependendo do compilador. O Free Pascal não faz este teste e deixa por conta do programador, que, supõe-se, sabe o que está fazendo (mas nem sempre é verdade).

O compilador não aceita que se passe o tipo array como parâmetro em funções e procedimentos, por isto normalmente o programador deve declarar um novo tipo para o array.

Exemplo:

type
   vetor_de_reais = array [1..10] of real;
var
   v: vetor_de_reais;

Vale ressaltar que o tipo string é uma forma especial de array de caracteres (char). Suponha uma palavra com 10 letras. Significa que esta string contém 10 caracteres. Para acessar cada caractere separadamente, utilize:

nome\_variavel[indice\_do\_caractere\_desejado].

O Free Pascal armazena o tamanho da string em nome\_variavel[0].

Exemplo:

var
   s: string;
begin
   s := 'hello world!';
   writeln (s[4]);      // resultado eh a segunda letra L de hello.
end.
tipo_array_matriz.txt · Last modified: 2019/04/23 23:37 by castilho