A ESTRUTURA DE DADOS UNIFORME
Projeto de pesquisa: A ESTRUTURA DE DADOS UNIFORME. Pesquise 862.000+ trabalhos acadêmicosPor: AnaMadid • 18/5/2014 • Projeto de pesquisa • 1.953 Palavras (8 Páginas) • 249 Visualizações
CAPÍTULO 7: ESTRUTURA DE DADOS HOMOGÊNEOS
7.1 – INTRODUÇÃO
Até agora, vimos os quatro tipos básicos de informação: Inteiro, Real, Lógico e Literal. Mas eles não são suficientes para representar toda e qualquer informação que possa surgir. Portanto, construiremos novos tipos a partir dos tipos básicos, à medida que se fizerem necessários. Esses novos tipos têm um formato denominado estrutura de dados, que define como os tipos básicos estão organizados.
Uma variável simples é uma entidade criada para permitir o acesso a uma posição de memória onde se armazena uma informação de um determinado tipo de dado pela simples referência a um nome simbólico.
Neste capítulo, veremos estrutura de dados homogêneos, como vetores, matrizes e cadeias de caracteres, que nos permitirá referenciar um grupo de variáveis do mesmo tipo pelo mesmo nome simbólico.
7.2 – VARIÁVEIS COMPOSTAS HOMOGÊNEAS
Quando uma determinada Estrutura de dados é composta de variáveis com o mesmo tipo básico, temos um conjunto homogêneo de dados.
Variáveis compostas homogêneas, também chamadas de variáveis indexadas, correspondem a um conjunto de variáveis do mesmo tipo, referenciáveis pelo mesmo nome e individualizadas entre sí através de sua posição dentro desse conjunto (os índices).
Uma variável indexada pode ser definida contendo um ou mais índices. Quando possui um único índice a variável é chamada de vetor e quando possui dois índices é chamada de matriz. Com três ou mais índices não recebe nome especial, também, na prática, sua ocorrência é pouco freqüente.
Ao número de índices necessários à localização de um componente dentro da variável indexada dá-se o nome de dimensão.
7.3 – VETORES
As variáveis indexadas que possui apenas um índice são chamadas de vetores ou variáveis compostas unidimensionais.
Notação:
<nome_variável>[<índice>]
x[i] : variável indexada. i : índice (expressão inteira positiva)
Exemplos:
a) A[3] : representa o terceiro elemento do vetor A.
b) Nome[p] : representa o p-ésimo elemento do vetor Nome.
c) x[2*i + 3*j - 4*k] : a avaliação da expressão entre colchetes, que deverá ser um número inteiro positivo, dará a posição do elemento no conjunto x.
7.3.1 – DECLARAÇÃO DE VETORES
Como qualquer variável simples, para usarmos vetores precisamos antes declará-lo.
Sintaxe: <tipo> : <nome>[<limite>]
Onde <tipo> poderá ser qualquer dos tipos válidos, <nome> é qualquer nome de uma variável simples representativa do conjunto e <limite> é um número inteiro positivo que limita o valor máximo para o índice da variável indexada, ou seja, número máximo de elementos do vetor.
Exemplos:
Real: vetor1[10], vetor2[20]
Inteiro: pares[30], impares[50]
Lógico: opcoes[20]
Literal[30]: nomes[10], datas[20], cidades[30]
7.3.2 – OPERAÇÕES COM VETORES
Não é possível operar diretamente com conjuntos, como um todo, mas apenas com cada um de seus componentes, um por vez. O acesso individual a cada componente de um conjunto é realizado pela especificação de sua posição, no mesmo, por meio de um ou mais índices. Por exemplo, para somar dois vetores é necessário somar cada um dos seus componentes, dois a dois.
Não se deve confundir o número entre colchetes na declaração de variáveis indexadas com o número entre colchetes no processamento de alguma operação. No primeiro caso, o número representa o limite superior para os índices, enquanto que no segundo caso, o número representa a posição do elemento no conjunto (o índice).
7.3.2.1 – ATRIBUIÇÃO DE VETORES
Cada vez que se processa uma variável indexada, qualquer que seja a operação, o índice deve ser um valor conhecido.
A sintaxe da atribuição para variáveis indexadas é a mesma, sendo que a variável, além do nome, deve conter o(s) índice(s) da componente do conjunto, onde deverá ser armazenado o valor da expressão. A expressão também poderá conter variáveis indexadas.
Exemplos:
a) x[1] 0
b) y[10] 2*x**3+1
c) num[3] 3*num[1] + 5*num[2]
d) fibo[n] fibo[n-2] + fibo[n-1]
e) Para i de 1 até 10 faça
p[i] 3*i-1
Fim_para
f) Para u de 1 até n faça
Se (u/2*2 = u) então
x[u] 0
senão
x[u] 1
Fim_se
Fim_para
7.3.2.2 – LEITURA DE VETORES
A leitura de um conjunto é
...