Buscar

Ajuda com Exercício em Visualg - Portugues Estruturado

Se alguem puder ajudar agradeço...

Uma turma tem 50 alunos. Faça um algoritmo que:

  • leia para cada aluno o seu nome e idade;
  • escreva os nomes dos alunos que tem 18 anos;
  • escreva a quantidade de alunos que tem idade acima de 20 anos

Segue mais ou menos o que eu consegui até agora e que não atende a questão:

inicio
// Seção de Comandos
cont <- 0
repita
Escreval ("Informe o nome e idade do, ", cont, "º aluno: ")
Leia (nome)
Leia (idade)
Se (idade = 18) entao
Escreval ("Aluno possui 18 anos")
Senao
Se (idade > 20) entao
maiorvinte <- idade
Fimse
Fimse
cont <- cont +1
ate cont = 5

💡 3 Respostas

User badge image

Dave Rützen

Espero ter ajudado. 

 

var
nome:vetor [1..50] de caracter
idade:vetor [1..50] de inteiro
i:inteiro
inicio
Para i de 1 ate 50 faca
Escreva("Digite seu nome: ")
Leia(nome[i])
Escreva("Digite sua idade: ")
Leia(idade[i])
limpatela
fimpara
Para i de 1 ate 50 faca
Se (idade[i] = 18) entao
Escreval("O aluno ",nome[i]," tem 18 anos")
fimse
Se (idade[i] > 20) entao
Escreval("O aluno ",nome[i]," tem mais de 20 anos")
fimse
fimpara

fimalgoritmo

1
Dislike0
User badge image

Andre Smaira

Se alguem puder ajudar agradeço...

Uma turma tem 50 alunos. Faça um algoritmo que:

leia para cada aluno o seu nome e idade;

escreva os nomes dos alunos que tem 18 anos;

escreva a quantidade de alunos que tem idade acima de 20 anos

Segue mais ou menos o que eu consegui até agora e que não atende a questão:

inicio

// Seção de Comandos

cont <- 0

repita

Escreval ("Informe o nome e idade do, ", cont, "º aluno: ")

Leia (nome)

Leia (idade)

Se (idade = 18) entao

Escreval ("Aluno possui 18 anos")

Senao

Se (idade > 20) entao

maiorvinte <- idade

Fimse

Fimse

cont <- cont +1

ate cont = 5

#portugol#portugues-estruturado#Exercicio-REPITA-ATE;


Para a resolução deste problema temos varias opções, dentre elas as estruturas de dados onde poderíamos criar uma estrutura chamada Aluno cujos atributos seriam nome e idade, este é um pouco mais complexo e exige certo conhecimento de estrutura de dados.


Nesta solução foi utilizado o conceito de vetores que é mais simples, definimos vetores, um para os nomes e outro para as idades ambos com o mesmo tamanho e fazemos a leitura dos dados em seqüência adicionando para cada posição o nome e a idade em seu respectivo vetor. Neste momento já podemos ir contando a quantidade de alunos com idade maior que 20 anos, assim evitamos escrever mais um laço de repetição. Logo após executamos um laço de repetição para imprimir os nomes de alunos com 18 anos e em seguida imprimimos a quantidade de alunos com idade superior a 20 anos.  


 

Algoritmo "Sala de Aula"

Var

// Seção de Declarações das variáveis 

   nomes: vetor [1..50] de caractere; //Vetor de 50 posições para os nomes

   idades: vetor [1..50] de inteiro;  //Vetor de 50 posições para as idades

   contador_mais_vinte, contador : inteiro //Contatdor de idades maior que 20 e contador de passos

Inicio

// Seção de Comandos, procedimento, funções, operadores, etc... 

         contador <- 1 //Inicializo contador

         repita //Inicio o laço de repetição para captura de dados

           Escreval("Informe o nome e idade do ", contador, "° aluno: ")

           Leia(nomes[contador]) //Pego o nome e coloco no vetor de nomes

           Leia(idades[contador]) //Pego a idade e coloco no vetor de idades

           se idades[contador] > 20 entao //Conto se for maior de 20 anos

              contador_mais_vinte <- contador_mais_vinte + 1

           fimse

           contador <- contador + 1 //Incremento contador

         ate contador = 50 //Condição de parada do repita ate

         //Inicializo contador novamente para nova operação

         contador <- 1

         Escreval("::::: Alunos com 18 anos :::::")

         repita //Inicio um laço para exibir os nomes de alunos com 18 anos.

           se idades[contador] = 18 entao//Se tiver 18 anos escrevo nome na tela

              Escreval("Nome: ", nomes[contador])

           fimse

           contador <- contador + 1

         ate contador = 50

         

         Escreval("::::::::::::::::::::::::::::::")//Somente como separador

         //Escrevo a quantidade de alunos com mais de 20 anos

         Escreval("Total de alunos com mais de 20 anos: ", contador_mais_vinte)

Fimalgoritmo

0
Dislike0
User badge image

RD Resoluções

Nesta solução foi utilizado o conceito de vetores que é mais simples, definimos vetores, um para os nomes e outro para as idades ambos com o mesmo tamanho e fazemos a leitura dos dados em seqüência adicionando para cada posição o nome e a idade em seu respectivo vetor. Neste momento já podemos ir contando a quantidade de alunos com idade maior que 20 anos, assim evitamos escrever mais um laço de repetição. Logo após executamos um laço de repetição para imprimir os nomes de alunos com 18 anos e em seguida imprimimos a quantidade de alunos com idade superior a 20 anos.

 

Algoritmo "Sala de Aula"

Var

// Seção de Declarações das variáveis

  nomes: vetor [1..50] de caractere; //Vetor de 50 posições para os nomes

  idades: vetor [1..50] de inteiro;  //Vetor de 50 posições para as idades

  contador_mais_vinte, contador : inteiro //Contatdor de idades maior que 20 e contador de passos

Inicio

// Seção de Comandos, procedimento, funções, operadores, etc...

        contador <- 1 //Inicializo contador

        repita //Inicio o laço de repetição para captura de dados

          Escreval("Informe o nome e idade do ", contador, "° aluno: ")

          Leia(nomes[contador]) //Pego o nome e coloco no vetor de nomes

          Leia(idades[contador]) //Pego a idade e coloco no vetor de idades

          se idades[contador] > 20 entao //Conto se for maior de 20 anos

             contador_mais_vinte <- contador_mais_vinte + 1

          fimse

          contador <- contador + 1 //Incremento contador

        ate contador = 50 //Condição de parada do repita ate

        //Inicializo contador novamente para nova operação

        contador <- 1

        Escreval("::::: Alunos com 18 anos :::::")

        repita //Inicio um laço para exibir os nomes de alunos com 18 anos.

          se idades[contador] = 18 entao//Se tiver 18 anos escrevo nome na tela

             Escreval("Nome: ", nomes[contador])

          fimse

          contador <- contador + 1

        ate contador = 50

        

        Escreval("::::::::::::::::::::::::::::::")//Somente como separador

        //Escrevo a quantidade de alunos com mais de 20 anos

        Escreval("Total de alunos com mais de 20 anos: ", contador_mais_vinte)

Fimalgoritmo

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais