Cursos / Redes de Computadores / Programação Estruturada / Aula

arrow_back Aula 06 - Vetores e Matrizes

3. Conhecendo o tamanho de um vetor em tempo de execução

Como programador, você deve ter sempre o cuidado de assegurar que está utilizando índices válidos ao manipular um vetor. Por exemplo, observe o programa mostrado a seguir. Você consegue ver algum problema nele?

O programa usa a variável i para indexar o vetor, certo? Tudo bem, mas quais os valores usados para essa variável? Note que eles variam de 1 a 10, e não de 0 a 9. Isso fará com que o primeiro valor seja lido e armazenado na segunda posição do vetor (índice 1), ao invés de na primeira posição (índice 0). Porém, o maior problema é com o último valor lido, pois o programa tentará armazená-lo no índice de número 10, o qual não existe no vetor. Isso fará com que seja levantada uma exceção e o seu programa será finalizado automaticamente. Você verá no módulo de Orientação a Objetos como tratar exceções para que elas não finalizem automaticamente seu programa.

Portanto, muito cuidado ao manipular vetores. Você tem que usar os índices corretos. Além disso, existe uma outra situação que é quando não temos uma variável armazenando o tamanho do vetor, como no caso de rotinas que recebem um vetor como parâmetro (falaremos em outra aula sobre rotinas) e no caso do exemplo a seguir:

Cuidado! O código anterior irá levantar uma exceção caso o número digitado pelo usuário seja menor que 10. Veremos adiante como solucionar esse problema.

Note que o usuário irá digitar não só os valores do vetor, mas também o tamanho dele. Isso está sendo feito através da seguinte instrução:

Observe que o valor lido pelo usuário é usado diretamente para inicializar o tamanho do vetor, não sendo armazenado em nenhuma variável auxiliar. Já a variável i continua sendo usada novamente para indexar esse vetor, e seu valor está variando de 0 a 9. Porém, não sabemos qual valor o usuário digitou, então, como realizar essa indexação? A variável i tem que variar de 0 até que valor? Para descobrir isso, usamos o comando length que é usado depois do nome do vetor. Veja como fica isso no ProgramaForArray3:

A expressão valores.length retorna o tamanho do vetor valores. Dessa forma, sempre é possível saber o tamanho de um vetor dada a variável que o referencia.

Versão 5.3 - Todos os Direitos reservados