Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Xavito

Erro no algoritmo do Visualg

Recommended Posts

Meus amigos, bom dia!

 

Meus amigos boa tarde!

 

Vocês poderiam me ajudar com um exercício em visualg? 

Exercicio: "Colocar em MAIOR o maior de A,B e C e em MENOR o menor deles, sendo que A, B E C devem ser lidos. Imprimir os valores lidos e os determinados."

(Tenho que perguntar os três números para o usuário e compará-los de uma vez)

Eu fiz assim:

 

algoritmo "Maior_e_Menor"
var
A,B,C, MAIOR, MENOR: Inteiro
inicio
escreval ("Digite o primeiro número")
leia (A)
escreval ("Digite o segundo número")
leia (B)
escreval ("Digite o terceiro número")
leia (C)

se (A>B) e (A>C) então
MAIOR <- A
senao
MENOR <- A
fimse
se (B>C) e (B>A) então
MAIOR <- B
senao
MENOR <- B
fimse
se (C>A) e (C>B) então
MAIOR <- C
senao
MENOR <- C
fimse
escreval ("Os números digitados foram: ", A,B,C)
escreval("Maior: ", MAIOR)
escreval("Menor: ", MENOR)
fimalgoritmo

Eu fiz um teste, e não deu certo:

 

---------------------------------------------
Início da execução
Digite o primeiro número
5
Digite o segundo número
6
Digite o terceiro número
7
Os números digitados foram:  5 6 7
Maior:  7
Menor:  6 // AQUI DEVERIA SER 5
Fim da execução.
--------------------------------------------

 

Alguem pode me ajudar por favor?

 

Obrigado!!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Primeiramente você considerou que se um número não for o maior ele é automaticamente o menor (um erro).

Quando o algoritmo fez a primeira conta, ele adicionou o valor de A como menor número, ok.

Mas quando ele fez a segunda conta, se o B era maior que A ou C, obviamente o B não era maior que C, então seu algoritmo escreveu B como MENOR, sobrescrevendo o primeiro cálculo.

 

Um melhor caminho para achar o menor e o maior número seria:

// definir o maior
se (A>B) e (A>C) então
MAIOR <- A
fimse
se (B>C) e (B>A) então
MAIOR <- B
fimse
se (C>A) e (C>B) então
MAIOR <- C
fimse

// e agora definir o menor
se (A<B) e (A<C) então
MENOR <- A
fimse
se (B<C) e (B<A) então
MENOR <- B
fimse
se (C<A) e (C<B) então
MENOR <- C
fimse

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por alexdyna
      Prezados,
      Amigos tenho que fazer um trabalho da faculdade onde o professor me da um arquivo que vou colocar anexo e tenho que fazer um algoritmo que leia o arquivo e monte uma tabela com as informações.
      pelo que vejo ele tem na primeira linha 8 barra e nas demais linha 10 barras
      ate a ultima que seria sua parada onde temos 2 barras seguidas.
       
      ficaria muito grato com a ajuda de todos.
       
      No arquivo anexo esta o texto:
      Nome/telefone/nascimento/Horas Curso/vendas T1/vendas T2/vendas T3/vendas T4/
       Luiz Ranza Neo/99934-5255/05/12/1989/200/107099,072578621/76915,8996218681/100922,271239691/76372,9971916498/
      Richard de Barrissaia/99326-4689/18/03/1990/150/55123,0080621828/68062,2200055909/67233,9928593779/45236,5928531083/
      Rodrigo Abalâminos/99911-7413/09/08/1987/168/71697,3866071191/58063,5644108225/88183,6230762134/48160,3116315664/
      José Gigfrid/99658-7874/15/04/1997/135/48816,199086596/50086,3689415844/52916,3066872779/55232,0663463164/
      Luiza Celly Silva/99659-1214/01/02/2000/90/29208,8223591438/39361,8088384592/45062,056112236/38913,7237126574/
      Maria Kunlun/99686-7845/21/04/1984/182/92076,1053757689/80440,5339844205/87575,0546657182/79220,9398178354/
      //
       
    • Por thiago_tw
      eu to com uma tarefa que preciso de ajuda, já tentei alguns algoritmos que achei por aqui mas nunca dá certo, mandei a imagem do que é para ser feito, agradecido se me ajudarem

    • Por Geralt96
      Bom dia. Alguém pode me dá uma ajuda pra desenvolver essa questão, por gentileza?

      Aqui está ela: https://projecteuler.net/problem=6

      A soma dos quadrados dos primeiros dez números naturais é: 1² + 2² + ... 10² = 385...
      O quadrado da soma dos dez primeiros números naturais é: (1+2+ ... 10)² = 55² = 3025...
      Portanto, a diferença entre a soma dos quadrados dos primeiros dez números naturais e o quadrado da soma é: 3025 - 385 = 2640.
      Encontre a diferença entre a soma dos quadrados dos primeiros cem números naturais e o quadrado da soma.
    • Por cerejafalante
      Olá pessoal, estou com uma lista de exercício de funções para fazer no visualg mas não sei por onde começar, alguém pode me ajudar fazendo esse exercício? ai eu pego ele de exemplo e faço os outros, obrigada
       
      o exercício é 
      Escreva um programa que calcula área de figuras: quadrado, retângulo, triângulo e círculo. O usuário informa qual forma deseja calcular a área, informa os parâmetros necessários e a área da forma é calculada em uma função. 
    • Por cerejafalante
      Pessoal tenho que fazer um algoritmo de função no visualg de uma calculadora. Eu fiz o algoritmo mas não sei como fazer função, alguém me ajudaaa
      o código está aqui, tem que por em função, obrigada
       
      Var
      n1,n2,r:real
      operacao:inteiro
      inicio
      repita
      escreval ("1. Multiplicação ")
      escreval ("2. Divisão ")
      escreval ("3. Subtração ")
      escreval ("4. Soma ")
      escreval ("5. Sair ")
      leia (operacao)
      se ( operacao = 5 ) entao
      fimalgoritmo
      fimse
      limpatela
      escreva ("Diga o primeiro numero: ")
      leia ( n1 )
      ate ( operacao >= 1 ) e ( operacao <= 5 )
      se ( operacao <= 4 ) e ( operacao >= 1 ) entao
      escreva ("Diga o segundo numero: ")
      leia (n2)
      fimse
      escolha operacao
      caso 1
      r <- n1*n2
      caso 2
      r <- n1/n2
      caso 3
      r <- n1-n2
      caso 4
      r <- n1+n2
      outrocaso
      escreva ("escolha incorreta")
      fimescolha
      escreval ("O resultado é: ", r)
      escreval ("")
      ate ( operacao = 5 )
      fimalgoritmo
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.