VN:F [1.9.10_1130]
Rating: 0.0/5 (0 votes cast)

Saudações queridos alunos e leitores!

Neste post vou falar sobre Vetores e Matrizes, e mostrar que a lógica para a criação destes, além de não é serem complicada, são similares.

Uma coisa básica que se pode ter em mente é que, para ver como sua lógica está, não importa quem está olhando e nem o trabalho que você terá e sim o quão seguro você estará com a transcrição de sua lógica, seja por desenho ou qualquer outra forma que lhe deixe mais à vontade para a construção.

Eu utilizo duas formas de visualização para a construção de vetores e matrizes.

A primeira delas, é imaginar o desenho que represente, tanto para vetor quanto matriz, e depois o teste da funcionalidade.

Mas como testar uma matriz de 100 x 200, ou até 1.000 x 5.000, por exemplo? Muito simples! Basta reduzir para duas linhas, pois com esta redução dá para saber se a linha esta sendo “feita”, e se está pulando para a próxima no momento certo. Também chegou a pensar em um relógio cujo contador de minutos seria equivalente à construção da linha que ao finalizar o seu ciclo, zera, acrescenta o contador da hora que equivale a coluna, e começa novamente.

O vetor e matriz são abordados juntos, porque o vetor é como se fosse uma matriz, mas com uma linha ou uma coluna, por exemplo:

Como pode ser desenhada uma matriz de 1 x 5?

0,0

0,1

0,2

0,3

0,4

Como você pode ver, a matriz de 1 x 5 equivale à um vetor de tamanho 5.

Similarmente podemos considerar um vetor, uma matriz de 5 x 1:

0,0
1,0
2,0
3,0
4,0

Em relação ao algoritmo necessário para a construção de um vetor, como não terei uma segunda linha ou segunda coluna (como mostrado à cima), não preciso ter um ciclo interno para concluir a linha/coluna para criar uma próxima, é como se eu tivesse apenas as horas sem os minutos, então não preciso que o minuto complete seu ciclo para acrescentar a hora.

Então vamos à prática:

Para demonstrar, irei construir um vetor de cinco posições e atribuir o valor 10 pra todos elas:

1
2
3
4
5
6
final int tamanho = 5;
int vet [] = new int [tamanho];
 
for (int i = 0; i < vet.length; i++) {
	vet [i] = 10;
}

A palavra “final” determina a variável que não pode ser modificado no código.

Talvez surja a dúvida do porque de não utilizar a variável fixa “tamanho” pra indicar o limite do “for”. Imagine que você tenha 5 vetores em que dois sejam de mesmo tamanho, e os outros três não. Eu teria que sair determinando valores sempre que quisesse modificar.

E por que não utilizar um número? Imagine 30 vetores…

Melhor utilizar a função que pega o tamanho do vetor pra mim! Smiley piscando

E por que de “i < tamanho do vetor” e não “<=”?

Porque para a definição do tamanho do vetor, o zero não é contado, enquanto que para o índice do vetor, sim.

Se o vetor fosse de tamanho 5.000?

Basta setar a variável “tamanho”!

Agora uma matriz 2 x 3:

1
2
3
4
5
6
7
8
9
final int linha = 2;
final int coluna = 3;
 
int matriz [][] = new int [linha] [coluna];
for (int i = 0; i < linha ; i++) {
	for (int j = 0; j < coluna ; j++){ 
		matriz [i][j] = 10;
	}
}

Temos o primeiro “for”, que trata da flutuação entre as linhas, enquanto o segundo, as colunas. Analizando como o meu exemplo do relógio, é como se o primeiro fosse a hora e o segundo, o minuto. O contador da “hora” só vai mudar depois que o “minuto” terminar o seu ciclo.

É isso…
Abraço e até o próx. post!!

Scridb filter