de dados do vetor. Cada uma das células de um vetor possui seu próprio endereço, ou índice, através do qual podemos referenciá-la. Por exemplo, a primeira célula de um vetor possui índice 1, a quarta possui índice 4, e assim por diante.
Ao definirmos um vetor, estamos na verdade especificando a estrutura de dados de um novo tipo de dados, o tipo de dados vetor, pois este tipo, ao contrário dos tipos primitivos, não está “pronto para uso” e, portanto, deve ser definido explicitamente dentro do algoritmo. Temos também que a definição de uma estrutura de dados é parte da especificação de um tipo de dados complexo, que, como sabemos, também consiste na especificação das operações sobre o conjunto de valores do tipo. Entretanto, no momento, veremos a definição de tipos complexos como composta apenas da especificação da estrutura de dados.
Nós podemos definir um vetor através da especificação de um identificador para um tipo vetor, suas dimensões e o tipo de dados dos valores que ele pode armazenar.
Isto é feito da seguinte forma:
definatipo vetor[li..ls] de
onde
• definatipo e vetor são palavras-chave;
• tipo dos elementos é o nome do tipo dos elementos do vetor;
• nome do tipo é um identificador para o tipo sendo definido;
• li e ls são respectivamente os limites inferior e superior do vetor.
Por exemplo, para criarmos um vetor de 5 elementos inteiros chamado vetor notas,
fazemos:
definatipo vetor[1..5] de inteiro vetor notas
O número de elementos (células) de um vetor é dado por ls − li + 1 e o índice do
primeiro elemento (célula) ´e li, do segundo ´e li + 1, e assim por diante. Isto significa
que dois vetores a e b com valores li e ls sejam 1 e 5 e 7 e 11, respectivamente, possuem o mesmo número de elementos: 5 = 5 − 1 + 1 = 11 − 7 + 1; entretanto, o primeiro elemento de a possui índice 1, enquanto o primeiro elemento de b possui índice 7.
Declarando e Manipulando Variáveis do Tipo Vetor
Para declararmos uma variável de um tipo vetor, procedemos exatamente da mesma
forma que para um tipo simples. Por exemplo, considere a criação de uma variável
denominada notas do tipo vetor notas:
Esta declaração significa que estamos criando uma variável notas que é do tipo
vetor notas, ou seja, um vetor de inteiros com 5 posições de índices 1 a 5. Uma vez declarada a variável notas, podemos atribuir qualquer conjunto de 5 valores numéricos à variável. Entretanto, isto não é feito da forma mais natural, tal como:
notas ← (−1, 0, 1, 33,−10)
mas sim individualmente; ou seja, um valor por vez a cada célula do vetor. Para tal, usamos o nome da variável, o índice da célula e uma sintaxe própria. Por exemplo,
notas[0] ← −1, atribui o valor −1 à célula de índice 1 do vetor.
De forma geral, as células, e não a variável do tipo vetor como um todo, ´e que
são utilizadas em qualquer operação envolvendo a variável, sejam elas leitura, escrita, atribuição, expressão, e assim por diante. No caso particular do vetor notas, a célula de índice i de notas, notas[i], pode ser usada em qualquer parte de um algoritmo em que uma variável inteira possa ser usada. Isto significa que podemos ter comandos tais como:
leia notas[1], escreva notas[1] e notas[2] ← notas[1] + 1.