Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Lógica de Programação / Aula
Você recorda do exercício realizado no início da aula? Nele, foi solicitado que você definisse um algoritmo que recebesse o nome de 10 alunos e que, em seguida, realizasse a impressão desses nomes na ordem em que foram lidos pelo algoritmo. Veja abaixo uma possível solução para esse problema, mas agora utilizando um único vetor.
var alunos := vetor[10]
alunos[0] := leia_texto
alunos[1] := leia_texto
alunos[2] := leia_texto
alunos[3] := leia_texto
alunos[4] := leia_texto
alunos[5] := leia_texto
alunos[6] := leia_texto
alunos[7] := leia_texto
alunos[8] := leia_texto
alunos[9] := leia_texto
escreva "{alunos[0]}"
escreva "{alunos[1]}"
escreva "{alunos[2]}"
escreva "{alunos[3]}"
escreva "{alunos[4]}"
escreva "{alunos[5]}"
escreva "{alunos[6]}"
escreva "{alunos[7]}"
escreva "{alunos[8]}"
escreva "{alunos[9]}"
Processando o seu código, por favor aguarde...
O que achou dessa solução? Ela é bem fácil de implementar, não é verdade? Apesar disso, esse simples programa possui mais de 20 linhas de código! Por esse motivo, certamente, essa não é a melhor solução para esse exercício.
Ao analisar o código, você consegue notar algo em comum entre as linhas? Repare que há 10 linhas quase idênticas em que o comando leia_texto é utilizado e há mais 10 linhas em que se utiliza o comando escreva. A diferença entre elas é somente o índice que varia de uma linha para outra.
O índice que é utilizado entre os colchetes de um vetor e que indica a posição que se deseja acessar pode ser substituído por uma variável primitiva do tipo inteiro. Assim, você pode utilizar estruturas de repetição e simplificar a manipulação dos dados de um vetor. Veja a mesma solução apresentada acima, agora, utilizando uma estrutura com variável de controle e algumas mensagens de orientação ao usuário.
var alunos := vetor[10]
# ler 10 nomes.
para i de 0 até 9 faça
escreva "O nome do {i+1}º aluno:"
alunos[i] := leia_texto
fim
# imprimir os 10 nomes lidos
para i de 0 até 9 faça
escreva "{i+1}º aluno: {alunos[i]}"
fim
Processando o seu código, por favor aguarde...
O que achou dessa nova solução? Ela conta com pouco mais de 10 linhas de código e atende ao solicitado no exercício, além de ficar mais funcional e elegante do que a primeira solução apresentada.
Esse primeiro exemplo mostrou como utilizar uma variável do tipo vetor para armazenar texto, mas, em outras situações, você poderá precisar utilizar outro tipo de dado, como o inteiro e o real. Em todos os casos, você precisará indicar, na declaração da variável, que deseja criar um vetor. Veja, no exemplo abaixo, a declaração de dois vetores — um para armazenar dados do tipo inteiro e outro do tipo real.
var faltas := vetor[40]
var notas := vetor[40]
# ler as faltas e notas de 40 alunos.
para i de 0 até 39 faça
escreva "Digite a quantidade de faltas do {i+1}º aluno:"
faltas[i] := leia_inteiro
escreva "Digite a nota do {i+1}º aluno:"
notas[i] := leia_real
fim
# imprimir as faltas e notas de 40 alunos.
para i de 0 até 39 faça
escreva "O {i+1}º aluno tem {faltas[i]} faltas e sua nota é {notas[i]}."
fim
Processando o seu código, por favor aguarde...
Versão 5.3 - Todos os Direitos reservados