Aula 6
Variáveis Estruturadas Homogêneas
As variáveis estruturadas ( ou compostas ) facilitam o trabalho do programador quando este necessita declarar um grande número de variáveis.
Para criar um programa que leia o nome de 7 pessoas e depois imprima-os na tela. Você poderia fazer o seguinte:
Program exemplo;
Var
nome1,nome2,nome3,nome4,nome5,nome6,nome7: string;
Begin
Readln(nome1);
Readln(nome2);
Readln(nome3);
Readln(nome4);
Readln(nome5);
Readln(nome6);
Readln(nome7);
writeln(nome1);
writeln(nome2);
writeln(nome3);
writeln(nome4);
writeln(nome5);
writeln(nome6);
writeln(nome7);
{ Ufa quanto trabalho! Coisa de maluco! heheheheheh : ) }
End.
E se fossem 1000 nomes para serem lidos e impressos
!? O bicho ia pegar hein!? :)
Com uma variável indexada homogênea você pode usar um nome genérico e identificar cada variável com 1 ou mais índices.
Sintaxe
Var
Nome_da_variável: Array [k1..k'1, k2..k'2, ..., kn..k'n ] of Tipo_da_variável;
Observações:
Nome_da_variável - é o identificador da variável homogênea
Array ( matriz )- indica que é uma variável indexada homogênea
kn - é o valor inicial , da faixa de valores, que o índicen pode assumir
k'n - é o valor final , da faixa de valores, que o índicen pode assumir
n - Quantidade de índices.
Tipo_da_variável
- é o valor que ela vai guardar: inteiro ( integer ), literal
( string ), etc.
Como utilizar estas variáveis
no programa ?
No programa as variáveis são tratadadas da seguinte forma
Nome_da_variável [ Valor_do_índice1 , Valor_do_índice2 , ... , Valor_do_índicen ]
Tá um pouco complicado!? Calma, se
liga nos exemplos ....
Exemplo1:
O programa anterior poderia ser escrito assim:
Program exemplo;
Var
Indice: integer;
Nome: Array
[ 1..7 ] of
string;
Begin
{ Este for faz a leitura dos nomes }
For Indice:= 1 to 7 do
Begin
Read( Nome [
indice ] );
end;
{ Este for faz a escrita dos nomes }
For Indice:= 1 to
7 do
Begin
Write( Nome [
indice ] );
end;
End
No exemplo acima usamos apenas um índice para identificar cada variável. Quando usamos um índice estas variáveis são chamadas de vetores Unidimencionais ( ou simplismente vetores ), quando usamos 2 índices elas são chamdas de vetores Bidimencionais, 3 índices vetores tridimencionais e assim sucessivamente. Para índices maiores que 1 os vetores são chamdos de Matrizes.
Exemplo2:
Program Matriz;
{ Este programa lê uma matriz A 3 X 2 e calcula a matriz 2A. O Cálculo matricial pode ser encontrado em livros de matemática do 2º grau }
Var
Elemento: Array [
1..3 , 1..2 ] of
real;
linha,coluna: integer;
Begin
For linha:=1 to 3 do
Begin
For coluna:= 1 to 2 do
Begin
Write( 'Digite o valor do elemento' ,linha ,coluna,' da matriz A - ');
Readln( Elemento[
linha, coluna ]
);
End;
End;
For linha:=1 to 3 do
Begin
For coluna:= 1 to 2 do
Begin
Write( 'O elemento' ,linha ,coluna,' da matriz 2A é - ');
Write( 2*Elemento[
linha, coluna ]
);
End;
End;
End.