Ir ao conteúdo

Posts recomendados

Postado

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 determiados."

 

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? 

 

Obrigado!

  • Curtir 1
Postado
4 minutos atrás, Kaique Xavier Atalla disse:

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

É bom colocar uma condição intermediária também (já que o "6" não é maior nem menor, porém no meio... Não sei como ajustar, pois sou iniciante também. Mas até onde eu saiba, é isso).

  • Curtir 1
Postado

@Kaique Xavier Atalla     na hora de comparar  se você comparar com dois números será mais fácil verificar qual é o maior e o menor, então você pega dois números e compara, então com isso você sabe qual é o maior e o menor, depois você pega o outro número e testa se esse número é maior que o maior , se for então esse passa a ser o maior,  se não for então testa se  é menor que o menor, se for então esse passa a ser o menor.

veja seu código com algumas modificações :

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)
  se a>b ENTÃO
    maior := a
    menor := b
  senao
    maior := b
    menor := a
  fimse
  escreval ("Digite o terceiro número")
  leia (C)
  se c > maior ENTÃO
    maior := c
  senao
    se c < menor ENTÃO
      menor := c
    fimse
  fimse
  escreval ("Os números digitados foram: ", A,B,C)
  escreval("Maior: ", MAIOR)
  escreval("Menor: ", MENOR)
fimalgoritmo

 

Postado
10 horas atrás, devair1010 disse:

@Kaique Xavier Atalla     na hora de comparar  se você comparar com dois números será mais fácil verificar qual é o maior e o menor, então você pega dois números e compara, então com isso você sabe qual é o maior e o menor, depois você pega o outro número e testa se esse número é maior que o maior , se for então esse passa a ser o maior,  se não for então testa se  é menor que o menor, se for então esse passa a ser o menor.

veja seu código com algumas modificações :


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)
  se a>b ENTÃO
    maior := a
    menor := b
  senao
    maior := b
    menor := a
  fimse
  escreval ("Digite o terceiro número")
  leia (C)
  se c > maior ENTÃO
    maior := c
  senao
    se c < menor ENTÃO
      menor := c
    fimse
  fimse
  escreval ("Os números digitados foram: ", A,B,C)
  escreval("Maior: ", MAIOR)
  escreval("Menor: ", MENOR)
fimalgoritmo

 

 

@devair1010 Obrigado pela resposta. Mas pelo enunciado, eu devo fazer tudo ao mesmo tempo. Não posso solicitar dois números para o usuário e depois solicitar um terceiro. Tenho que solicitar os três ao mesmo tempo. 

 

Você tem uma luz? :(

adicionado 0 minutos depois
19 horas atrás, Ian Rossi disse:

É bom colocar uma condição intermediária também (já que o "6" não é maior nem menor, porém no meio... Não sei como ajustar, pois sou iniciante também. Mas até onde eu saiba, é isso).

Muito obrigado pela resposta. Mas cara, eu não entendi hehe!

Postado

Você pode fazer o teste apenas com se para ter um entendimento melhor do comportamento do algoritmo.

algoritmo "Maior_e_Menor"
// Função :
// Autor :
// Data : 03/08/2017
// Seção de Declarações 
var
A, B, C, MAIOR, MENOR: Inteiro
inicio
// Seção de Comandos
escreval("Digite o primeiro número")
leia(A)
escreval("Digite o segundo número")
leia(B)
escreval("Digite o terceiro número")
leia(C)

MENOR <- A; // assume que o primeiro numero é o menor
se (B < MENOR) então
MENOR <- B;
fimse

se (C < MENOR) então
MENOR <- C;
fimse
		
MAIOR <- A; // assume que o primeiro numero é o maior
se (B > MAIOR) então
MAIOR <- B;
fimse

se (C > MAIOR) então
MAIOR <- C;
fimse

escreval ("Os números digitados foram: ", A,B,C)
escreval("Maior: ", MAIOR)
escreval("Menor: ", MENOR)
fimalgoritmo

 

  • Curtir 1
Postado
4 horas atrás, Kaique Xavier Atalla disse:

Mas cara, eu não entendi hehe!

São três números e duas condicionais... (Maior e menor) Não percebe que você precisa pelo menos colocar uma condição mais ou menos assim:

(A<B>C); 

(B<C>A);

(C<A>B);

E aí todos eles diz que é médio.

 

 

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!