Ir ao conteúdo
  • Cadastre-se

M4DM0NK31

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

posts postados por M4DM0NK31

  1. @Simon Viegas Realmente, não havia observado o erro grotesco de lógica na última sintaxe. 😅  Obrigado pela dica, acho que finalmente, dessa vez, deu certo! Segue o código: 
     

    Algoritmo "Notas de satisfação"
    
    Const
       total = 100
    
    Var
       nome, otimo, nota : caracter
       idade, idadef, x, a, b, c, d, f, cont, menorf, maiorf, notaf, contf : inteiro
       mediaid, somaid, porcf : real
    
    Inicio
    mudacor ("verde", "frente")
    para x de 1 ate 100 faca
       limpatela
       escreval ("Informe seu nome:")
       leia (nome)
       escreval ()
       escreval ("Informe sua idade:")
       leia (idade)
       escreval ()
       escreval ("-----------------------------------------------------")
       escreval ("Informe a nota:")
       escreval ()
       escreval ("A. Ótimo")
       escreval ("B. Bom")
       escreval ("C. Regular")
       escreval ("D. Ruim")
       escreval ("F. Péssimo")
       leia (nota)
       escreval ()
       escreval ("------------------------------------------------------------")
       se nota = "a" entao
          a := a+1
       fimse
       se nota = "d" entao
          d := d+idade
          somaid := d
       fimse
       se nota = "f" entao
          f := f+1
       fimse
       se (nota = "f") e (idade < total) entao
          menorf := idade
       fimse
    fimpara
    
    mediaid := somaid/100
    porcf := f/100
    
    escreval ("Você obteve:", a, "notas como ótimo serviço")
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("A média de idade, doss clientes que responderam D, é:", mediaid)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O Percentual de clientes que responderam F, é:", porcf)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O cliente de menor idade, que votou F, é:", menorf)
    
    Fimalgoritmo

    Muito interessante, irei começar a utilizar! 👍
    Só não entendi o porquê de não precisar de um ALEATORIO OFF, neste caso. Poderia me explicar ?

     

    4 horas atrás, Simon Viegas disse:

    Para gerar os dados automaticamente:

     

    
       ALEATORIO ON //ativa o aleátorio
       LISTA "nomes" //define uma lista de valores possíveis
       leia (nome)
       ...
       ALEATORIO 15, 50 //ativa o aleátorio definindo uma faixa de valores
       leia (idade)
       ...
       LISTA "notas" //define uma lista de valores possíveis
       leia (nota)

    Ali nas idades, também poderia definir uma lista, mas fica mais prático utilizar um recurso que já existe.

     

    Obs.: enquanto o ALEATORIO estiver ativado, todo leia() que passar será preenchido automaticamente. Para desativar, pode usar o ALEATORIO OFF. Nesse caso, nem precisa.

     

     

    Para criar/editar uma lista, só ir no menu Manutenção/Configurações e ir em Listas:

     

     

    image.png

     

    O resto é auto-explicativo.

     

    • Obrigado 1
    • Confuso 1
  2. @Simon Viegas Obrigado pelas dicas, no caso do último item:

    Em 25/08/2020 às 08:38, Simon Viegas disse:

    O cálculo para média está com um erro de lógica. Experimente não inserir alguma nota F e veja o que acontece.

    Não identifiquei erro de lógica na média da nota "F", e sim na menor idade, onde se não colocasse nenhum valor o menorf mantinha o valor 100. Se puder me ajudar a encontrar este erro de lógico agradeço muito. Segue o código com as devidas correções:

     

    Algoritmo "Notas de satisfação"
    
    Var
       nome, otimo, nota : caracter
       idade, idadef, x, a, b, c, d, f, cont, menorf, maiorf, notaf, contf : inteiro
       mediaid, somaid, porcf : real
    
    Inicio
    mudacor ("verde", "frente")
    menorf := 100
    para x de 1 ate 100 faca
       limpatela
       escreval ("Informe seu nome:")
       leia (nome)
       escreval ()
       escreval ("Informe sua idade:")
       leia (idade)
       escreval ()
       escreval ("-----------------------------------------------------")
       escreval ("Informe a nota:")
       escreval ()
       escreval ("A. Ótimo")
       escreval ("B. Bom")
       escreval ("C. Regular")
       escreval ("D. Ruim")
       escreval ("F. Péssimo")
       leia (nota)
       escreval ()
       escreval ("------------------------------------------------------------")
       se nota = "a" entao
          a := a+1
       fimse
       se nota = "d" entao
          d := d+idade
          somaid := d
       fimse
       se nota = "f" entao
          f := f+1
       fimse
       se (nota = "f") e (idade < menorf) entao
          menorf := idade
       senao
          menorf := 0
       fimse
    fimpara
    
    mediaid := somaid/100
    porcf := f/100
    
    escreval ("Você obteve:", a, "notas como ótimo serviço")
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("A média de idade, doss clientes que responderam D, é:", mediaid)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O Percentual de clientes que responderam F, é:", porcf)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O cliente de menor idade, que votou F, é:", menorf)
    
    Fimalgoritmo

     

    • Curtir 1
  3. @devair1010@Simon Viegas Boa noite, agradeço demais todo o apoio. Segue o código completo:

     

    Var
       nome, nota : caracter
       idade, x, a, b, c, d, f, menorf, maiora, maiord : inteiro
       mediaid, somaid, porcf : real
    
    
    Inicio
    mudacor ("verde", "frente")
    menorf := 100
    maiora := 0
    maiord := 0
    para x de 0 ate 100 faca
       limpatela
       escreval ("Informe seu nome:")
       leia (nome)
       escreval ()
       escreval ("Informe sua idade:")
       leia (idade)
       escreval ()
       escreval ("-----------------------------------------------------")
       escreval ("Informe a nota:")
       escreval ()
       escreval ("A. Ótimo")
       escreval ("B. Bom")
       escreval ("C. Regular")
       escreval ("D. Ruim")
       escreval ("F. Péssimo")
       leia (nota)
       escreval ()
       escreval ("------------------------------------------------------------")
       se nota = "a" entao
          a := a+1
       fimse
       se nota = "d" entao
          d := d+idade
          somaid := d
       fimse
       mediaid := somaid/100
       se nota = "f" entao
          f := f+1
       fimse
       porcf := f/100
       se (nota = "f") e (idade < menorf) entao
          menorf := idade
       fimse
       se (nota = "a") e (idade > maiora) entao
          maiora := idade
       fimse
       se (nota = "d") e (idade > maiord) entao
          maiord := idade
       fimse
    fimpara
    
    escreval ("Você obteve:", a, "notas como ótimo serviço")
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("A média de idade, doss clientes que responderam D, é:", mediaid)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O Percentual de clientes que responderam F, é:", porcf)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ()
    escreval ("O cliente de menor idade, que votou F, é:", menorf)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ("O cliente de maior idade, que votou A, é:", maiora)
    escreval ()
    escreval ("------------------------------------------------------------")
    escreval ("O cliente de maior idade, que votou D, é:", maiord)
    Fimalgoritmo

     

    • Obrigado 1
  4. Boa tarde,

    Estou enfrentando grande problema pra resolver um exercício do VisualG, onde o contador só conta a primeira vez no comando "PARA", segue o enunciado:
     

    Uma loja deseja fazer a avaliação com base na opinião de seus clientes. Para isto, ela irá disponibilizar um computador que irá perguntar a cada cliente a sua idade e a nota que ele avalia a loja. Você deverá elaborar o programa de computador que fará a leitura da opinião dos 100 primeiros clientes e deverá informar os dados solicitados abaixo: NOTAS: A. Ótimo B. Bom C. Regular D. Ruim E. Péssimo 1. A quantidade de respostas A (Ótimo); 2. A média de idade das pessoas que responderam D (Ruim); 3. A percentagem de respostas E (Péssimo) e a menor idade de quem informou esta resposta; 4. A maior idade de quem respondeu A (Ótimo) e a maior idade de quem respondeu D (Ruim);

     

    Segue o algoritmo que eu escrevi:

     

    Var
    nome : caracter
    idade, x, a, b, c, d, f, nota, cont : inteiro
    
    para x de 0 ate 100 faca
    limpatela
    escreval ("Informe seu nome:")
    leia (nome)
    
    escreval ()
    escreval ("Informe sua idade:")
    leia (idade)
    escreval ("-----------------------------------------------------")
    escreval ("Informe a nota:")
    escreval ()
    escreval ("A. Ótimo")
    
    escreval ("B. Bom")
    escreval ("C. Regular")
    escreval ("D. Ruim")
    escreval ("F. Péssimo")
    leia (nota)
    
    escreval ("------------------------------------------------------------")
    se nota = a entao
    a := nota+1
    fimse
    fimpara
    escreval ("Você obteve:", a, "notas como ótimo serviço")

    Como podem ver, parei aqui: 1. A quantidade de respostas A (Ótimo);  Alguém poderia me ajudar, me dizendo onde estou errando pois o contador só conta a primeira vez que digito "A". Gratidão!

    • Amei 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...