Ir ao conteúdo
  • Cadastre-se
mutiladot21

VisualG Uso do SE-SENAO e ESCOLHA-CASO.

Posts recomendados

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@devair1010 @Simon Viegas  Valeu pessoal, eu tava com duvida mesmo sobre ser inteiro ou real.
Vou tentar diminuir mais o algoritmo também kkk.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!