Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal, 
Estou tentando resolver a seguinte questão de logica no visualG, porém não consegui fazer a parte do ESCOLHA-CASO.:

-Ler 3 valores (considere que não serão informados valores iguais) e escrever a soma dos 2
maiores.

 Segue o algoritmo que fiz:

var
n1,n2,n3,soma,resul:real

inicio
 escreval ("digite 3 valores diferentes")
 leia (n1,n2,n3)
  se (n2<n1) e (n1>n3) entao
   resul <- n1
  senao
   se (n1<n2) e (n2>n3) entao
    resul <- n2
   senao
    se (n2<n3) e (n3>n1) entao
     resul <- n3
    senao
     escreval ("valor não identificado")
    fimse
   fimse
  fimse
 escolha resul
  caso resul=n1
   se (n2<resul) e (n2>n3) entao
    soma<-resul+n2
    escreval ("o valor da soma dos dois maiores valores é ",soma)
   senao
    escreval ("soma não identificada")
   fimse
  caso resul=n2
   se (n3<resul) e (n3>n1) entao
    soma<-resul+n3
    escreval ("o valor da soma dos dois maiores valores é ",soma)
   senao
    escreval ("soma não identificada")
   fimse
  caso resul=n3
   se (n1<resul) e (n1>n2) entao
    soma<-resul+n1
    escreval ("o valor da soma dos dois maiores valores é ",soma)
   senao
    escreval ("soma não identificada")
   fimse
  fimescolha
Fimalgoritmo

Alguém pode me ajudar por favor.

  • Obrigado 1
Postado

@mutiladot21     o caso é como um if , só precisa um valor do tipo inteiro , então seu código podria ser assim :

Algoritmo "escolha caso"
var
  n1,n2,n3,soma,resul : inteiro
inicio
  escreval ("digite 3 valores diferentes")
  leia(n1,n2,n3)
  se (n2<n1) e (n1>n3) entao
    resul <- n1
  senao
    se (n1<n2) e (n2>n3) entao
      resul <- n2
    senao
      se (n2<n3) e (n3>n1) entao
        resul <- n3
      senao
        escreval ("valor não identificado")
      fimse
   fimse
  fimse
  escolha resul
  caso n1
    se (n2<resul) e (n2>n3) entao
      soma<-resul+n2
      escreval ("o valor da soma dos dois maiores valores é ",soma)
    senao
      escreval ("soma não identificada")
    fimse
  caso n2
    se (n3<resul) e (n3>n1) entao
       soma<-resul+n3
       escreval ("o valor da soma dos dois maiores valores é ",soma)
    senao
      escreval ("soma não identificada")
    fimse
  caso n3
    se (n1<resul) e (n1>n2) entao
      soma<-resul+n1
      escreval ("o valor da soma dos dois maiores valores é ",soma)
    senao
      escreval ("soma não identificada")
    fimse
  fimescolha
Fimalgoritmo

 

  • Curtir 1
  • Membro VIP
Postado

Olá. Dei uma simplificada no código:

algoritmo "escolha caso"
var
   n1, n2, n3, soma, maior : inteiro
inicio
   escreval("Digite 3 valores diferentes")
   leia(n1, n2, n3)
   se (n1 > n2) e (n1 > n3) entao
      maior <- n1
   senao
      se (n2 > n1) e (n2 > n3) entao
         maior <- n2
      senao
         maior <- n3
      fimSe
   fimSe
   escolha maior
   caso n1
      se (n2 > n3) entao
         soma <- maior + n2
      senao
         soma <- maior + n3
      fimSe
   caso n2
      se (n1 > n3) entao
         soma <- maior + n1
      senao
         soma <- maior + n3
      fimSe
   caso n3
      se (n1 > n2) entao
         soma <- maior + n1
      senao
         soma <- maior + n2
      fimSe
   fimEscolha
   escreval("O valor da soma dos dois maiores valores é ", soma)
fimAlgoritmo

 

adicionado 2 minutos depois

Uma outra forma:

algoritmo "escolha caso"
var
   n1, n2, n3, soma, menor : inteiro
inicio
   escreval("Digite 3 valores diferentes")
   leia(n1, n2, n3)
   se (n1 < n2) e (n1 < n3) entao
      menor <- n1
   senao
      se (n2 < n1) e (n2 < n3) entao
         menor <- n2
      senao
         menor <- n3
      fimSe
   fimSe
   fimescolha
   soma <- n1 + n2 + n3 - menor
   escreval("O valor da soma dos dois maiores valores é", soma)
fimAlgoritmo

 

  • Curtir 2
  • Membro VIP
Postado
4 horas atrás, mutiladot21 disse:

[....] eu tava com duvida mesmo sobre ser inteiro ou real.

 

E em qual conclusão chegou? Tem que usar inteiro ou real; e porque?

 

 

ADENDO:

 

Outro ponto em relação ao seu código original:

 

Sobre:

Em 21/09/2019 às 23:56, devair1010 disse:

escreval ("valor não identificado")

 

Essa mensagem por si só não faz muito sentido... como assim "valor não identificado"? O que significaria essa mensagem? Então... pela lógica da estrutura desses se, SEMPRE um dos 3 será verdadeiro, já que SEMPRE vai ter um maior que os outros... Lembre-se que o enunciado é categórico:

 

Em 21/09/2019 às 10:57, mutiladot21 disse:

[...] (considere que não serão informados valores iguais) [...]

 

Logo sempre terá um maior (e também terá um segundo maior).

 

Idem para a outra frase:

Em 21/09/2019 às 23:56, devair1010 disse:

escreval ("soma não identificada")

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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