apresentação do powerpointjeiks.net/wp-content/uploads/2013/05/slides_ltp_09.pdfvariáveis...
TRANSCRIPT
Departamento de Engenharia Rural
Centro de Ciências Agrárias
Programação I
Variáveis compostas
Os arrays também são conhecidos como variáveis compostas.
Variáveis compostas
Correspondem a um certo número de posições de memória (variáveis) que podem ser acessadas através de um único identificador (nome da variável) e um índice.
Os índices, que geralmente devem ser apresentados junto com o nome da variável composta, servem para indicar a posição da variável que será feito o acesso (leitura/modificação).
Variáveis compostas homogêneas unidimensionais
Os vetores são chamados de variáveis compostas homogêneas unidimensionais.
Variáveis compostas homogêneas unidimensionais
Uma variável composta homogênea unidimensional é considerada:
composta porque não consiste de uma variável, mas de um conjunto de variáveis.
unidimensional porque é necessário apenas um índice para o acesso aos dados de uma posição da variável.
homogênea porque o conteúdo de todas as posições de memória será de um mesmo tipo especificado na declaração da variável.
Variáveis compostas homogêneas unidimensionais
Declaração de arrays unidimensionais(Pascal):
Exemplo:
Var
<identificador>: array [<LI>..<LS>] of <tipo>;
Sendo:
LI: Limite inferior
LS: Limite superior
ambos expressões de um tipo ordinal
Var
Nota: array [1..10] of real;
Variáveis compostas homogêneas unidimensionais
Acesso ao valor da n-ésima posição do array
Exemplos:
Pascal
...
<identificador_variavel>[indice]
{sendo indice uma expressão ordinal}
...
Utilizando uma constante para o índice: nota[1] := nota[2] * 0.02;
readln(nota[i]);
Utilizando uma variável para o índice:
Variáveis compostas homogêneas unidimensionais
O acesso a todos elementos de um array é realizado elemento por elemento, isto é, para cada acesso deve-se especificar um índice.
Isto pode ser feito de forma prática utilizando-se uma estrutura de repetição e uma variável de controle para indicar o índice de acesso em cada iteração.
A ordem do acesso não é relevante pode-se percorrer os elementos em qualquer ordem:
direta, inversa, aleatória, etc.
Variáveis compostas homogêneas unidimensionais
Considerando a variável nota (array de valores reais) declarada anteriormente:
O identificador NOTA fará referência à variável composta por 10 posições de memória, nas quais se pode armazenar um valor real (em cada uma posição).
O acesso ao valor de cada uma das notas será realizado como NOTA[x], onde x é um valor ou expressão ordinal (neste caso inteira).
Variáveis compostas homogêneas unidimensionais
Supondo que a variável NOTA tenha sido previamente inicializada com os valores abaixo:
Conteúdo 60 70 90 62 55 91 100 ... 86
Índice 1 2 3 4 5 6 7 ... 10
NOTA
NOTA[3] referencia terceiro elemento do conjunto cujo conteúdo é 90 Exemplos: NOTA[3] := NOTA[3] +20; { = 90 + 20}
Conteúdo 60 70 110 62 55 91 100 ... 86
Índice 1 2 3 4 5 6 7 ... 10
Variáveis compostas homogêneas unidimensionais
Conteúdo 60 70 90 62 55 91 100 ... 86
Índice 1 2 3 4 5 6 7 ... 10
NOTA
Sendo i uma variável do tipo inteiro: Se i = 6, a especificação NOTA[i] indica um acesso ao elemento de índice 6: no array acima seria então acessada a posição cujo valor atual é 91. Exemplos: writeln(nota[i-3]); {será impresso 90} writeln(nota[i div 4] + i); {será impresso 66 – não altera o valor da posição 1} writeln(nota[i div 3]); {será impresso 70} inc(nota[i +1], -7); {a posição 7 passa a armazenar o valor 93 (100 + (-7))} for i := 1 to n-1 do writeln(nota[i +1]); {serão impressos os valores da posição 2 à posição n}
Variáveis compostas homogêneas unidimensionais
Escrever um programa em Pascal que faça a leitura de 10 notas de alunos de uma disciplina e armazene-as numa variável composta NOTA:
Program teste;
...
var
NOTA: array [1..10] of real;
...
begin
...
for i:= 1 to 10 do
Begin
writeln('Digite a nota do aluno ' , i);
readln(NOTA[I]);
end;
...
end.
Referências
BORLAND. Turbo Pascal, versão 7.0. [S.L.] : Borland International, Inc.,1992.
DEITEL, P. J.; DEITEL, H.M.; Java: How to program, 9th ed, Ed. Prentice-Hall, 2011. ISBN: 978-0-13-257566-9.
FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Algoritmos estruturados. 3ed, Ed. LTC, 1999. ISBN: 9788521611806.
FARRER, H.; BECKER, C. G.; FARIA, E. C.; MATOS, H. F.; et al. Pascal estruturado. 3ed, Ed. LTC, 1999. ISBN: 9788521611745.
GUIMARÃES, A. M.; LAGES, N. A. C.; Algoritmos e estruturas de dados. 1ed, Ed. LTC, 1994. ISBN: 9788521603788.
GRIFFITHS,D., BARRY,P., Head First Programming – A learner's guide to programming using the Python language, O´Reilly, 2009, 406p.
http://wwwusers.rdc.puc-rio.br/rmano/processo.html
Velloso, F. C.; Informática: Conceitos Básicos. 7ed, Ed. Campus, 2004. ISBN: 9788535215366.