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).
Os vetores são chamados de 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.
Declaração de arrays unidimensionais(pascal): Var <identificador>: array [<LI>..<LS>] of <tipo>; Sendo: LI: Limite inferior LS: Limite superior ambos expressões de um tipo ordinal Exemplo: Var Nota: array [1..10] of real;
Acesso ao valor da n-ésima posição do array Pascal... <identificador_variavel>[indice] {sendo indice uma expressão ordinal}... Exemplos: Utilizando uma constante para o índice: nota[1] := nota[2] * 0.02; Utilizando uma variável para o índice: readln(nota[i]);
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.
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).
Supondo que a variável NOTA tenha sido previamente inicializada com os valores abaixo: NOTA Conteúdo 60 70 90 62 55 91 100... 86 Índice 1 2 3 4 5 6 7... 10 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
NOTA Conteúdo 60 70 90 62 55 91 100... 86 Índice 1 2 3 4 5 6 7... 10 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}
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.