Exercício 025 – Três valores em ordem

Home Fóruns Programação Básica Exercício 025 – Três valores em ordem

Visualizando 10 respostas da discussão
  • Autor
    Posts
    • #105439

      Exercício 025 – Três valores em ordem

      Foi a única forma que consegui resolver, pode ser que tenha um modo mais fácil sem usar biblioteca.

      programa
      {

      funcao inicio()
      {
      escreva(“Digite um valor: “)
      inteiro valor1
      leia(valor1)

      escreva(“Digite outro valor: “)
      inteiro valor2
      leia(valor2)

      escreva(“Digite mais um valor: “)
      inteiro valor3
      leia(valor3)

      inteiro maior = 0
      inteiro intermediario = 0
      inteiro menor = 0

      inteiro v1 = 0
      inteiro v2 = 0
      inteiro v3 = 0

      //——————————————————————
      se((valor1 > valor2) e (valor1 > valor3))
      {maior = valor1}

      senao
      {se((valor2 > valor1) e (valor2 > valor3))
      {maior = valor2}

      senao
      {se((valor3 > valor1) e (valor3 > valor2))
      {maior = valor3}}}

      //——————————————————————

      se(maior == valor1)
      {v2 = valor2
      v3 = valor3}

      senao
      {se(maior == valor2)
      {v2 = valor1
      v3 = valor3}

      senao
      {se(maior == valor3)
      {v2 = valor1
      v3 = valor2}}}
      //——————————————————————

      se(v2 > v3)
      {intermediario = v2}

      senao
      {se(v3 > v2)
      {intermediario = v3}}
      //——————————————————————

      se(maior != valor1 e intermediario != valor1)
      {menor = valor1}

      senao
      {se(maior != valor2 e intermediario != valor2)
      {menor = valor2}

      senao
      {menor = valor3}}
      //——————————————————————

      escreva(“\n”, “MAIOR: “, maior, “\n”)
      escreva(“INTERMEDIÁRIO: “, intermediario, “\n”)
      escreva(“MENOR: “, menor, “\n”)

      }
      }

    • #105454
      Tutora Jessica
      Moderador

      Olá Rogens , tem alguma dúvida?

      • #121841

        Oii Jessica. Eu consegui fazer o exercício 025, os resultados deram certo, mas quando vi o vídeo de resolução do professor, fiquei na dúvida se a minha forma de fazer também está certa, pois vi que o professor fez bem diferente. Segue o código que fiz:

        programa
        {

        funcao inicio()
        {
        inteiro n1
        inteiro n2
        inteiro n3

        escreva(“\nDigite um valor: “)
        leia (n1)
        escreva (“\nDigite outro valor: “)
        leia (n2)
        escreva (“\nDigite mais um valor: “)
        leia(n3)

        escreva (“\n——————————-\n”)

        se (n1>n2 e n1>n3){
        escreva(“MAIOR: ” + n1)
        }se (n2>n1 e n2>n3){
        escreva(“MAIOR: ” + n2)
        }se (n3>n2 e n3>n1){
        escreva (“MAIOR: ” + n3)
        }se (n1>n2 e n1<n3 ou n1<n2 e n1>n3){
        escreva(“\nINTERMEDIÁRIO: ” + n1)
        }se (n2>n1 e n2<n3 ou n2<n1 e n2>n3){
        escreva(“\nINTERMEDIÁRIO: ” + n2)
        }se (n3>n2 e n3<n1 ou n3<n2 e n3>n1){
        escreva(“\nINTERMEDIÁRIO: ” + n3)
        }se (n1<n2 e n1<n3){
        escreva(“\nMENOR: ” + n1)
        }se (n2<n1 e n2<n3){
        escreva(“\nMENOR: ” + n2)
        }se (n3<n2 e n3<n1){
        escreva (“\nMENOR: ” + n3)
        }
        }
        }

        Obrigada!!

      • #121960
        Tutora Jessica
        Moderador

        Ola Ritchie, não há somente uma forma de fazer o código, te sugiro quando terminar qualquer código testar todas as possibilidades para ver se vai ter algum erro, se funcionar conforme foi passado pelo professor Guanabara esta certo também, sempre veja as resoluções dos exercícios pois por lá o professor explica passo a passo de como concluir e da muitas dicas boas.
        Nesse seu código, você ja tentou todas as possibilidades? Estão todas funcionando?

    • #110059

      Oi, Rogens.

      Eu fiz assim:

      programa
      {
      funcao inicio()
      {
      inteiro n1, n2, n3

      escreva(“———————————\n”)
      escreva(“\t TRÊS VALORES EM ORDEM \t\n”)
      escreva(“———————————\n”)
      escreva(“Digite um valor: “)
      leia(n1)
      escreva(“Digite outro valor: “)
      leia(n2)
      escreva(“Digite mais um valor: “)
      leia(n3)
      escreva(“———————————\n”)

      escreva(“\n”)
      se (n1 > n2 e n1 > n3 e n2 > n3) {
      escreva(“MAIOR: ” + n1 + “\nINTERMEDIÁRIO: ” + n2 + “\nMENOR: ” + n3)
      } senao se (n1 > n2 e n1 > n3 e n2 < n3) {
      escreva(“MAIOR: ” + n1 + “\nINTERMEDIÁRIO: ” + n3 + “\nMENOR: ” + n2)
      } senao se (n1 < n2 e n1 > n3 e n2 > n3) {
      escreva(“MAIOR: ” + n2 + “\nINTERMEDIÁRIO: ” + n1 + “\nMENOR: ” + n3)
      } senao se (n1 < n2 e n1 < n3 e n2 > n3) {
      escreva(“MAIOR: ” + n2 + “\nINTERMEDIÁRIO: ” + n3 + “\nMENOR: ” + n1)
      } senao se (n1 > n2 e n1 < n3 e n2 < n3) {
      escreva(“MAIOR: ” + n3 + “\nINTERMEDIÁRIO: ” + n1 + “\nMENOR: ” + n2)
      } senao {
      escreva(“MAIOR: ” + n3 + “\nINTERMEDIÁRIO: ” + n2 + “\nMENOR: ” + n1)
      }
      escreva(“\n\n”)
      }
      }

    • #110958

      Poderia me ajudar? Está dando erro na compilação!

      funcao inicio()
      {
      inteiro num1
      inteiro num2
      inteiro num3
      inteiro maior , menor , meio

      escreva(“——————————“)
      escreva(“\nDigite um número: “)
      leia(num1)
      escreva(“Digite outro número: “)
      leia(num2)
      escreva(“Digite mais um número: “)
      leia(num3)
      escreva(“——————————“)

      se (num1 > num2){
      se (num3 > num1){
      maior = num3
      meio = num1
      menor = num2

      } senao se (num3 > num2) {
      maior = num1
      meio = num3
      menor = num2

      }

      } senao se (num3 > num2){
      maior = num3
      meio = num2
      menor = num1

      } senao se (num3 > num1){
      maior = num2
      meio = num3
      menor = num1

      } senao {
      maior = num2
      meio = num1
      menor = num3

      }

      escreva(“\nMENOR: ” + menor)
      escreva(“\nINTERMEDIÁRIO: ” + meio)
      escreva(“\nMAIOR: ” + maior)

      }

      }

    • #110997
      Tutora Jessica
      Moderador

      Ola Miguel, reveja seu código a partir do seu segundo senão se, ali deve ser somente senão.. a partir dali você deve rever as variáveis dentro dos se/senão para ficar certinho conforme pede o exercício.
      Se continuar com dificuldade, só retornar ao fórum.🖖

    • #111355
      Wagner
      Participante

      Boa noite! 🙂

      Fiz dessa forma.

      Se estiver correto espero que seja de alguma ajuda.

      programa
      {
      	/*
      
      	EX025 - Tres valores em ordem
      	
      	O programa vai pedir a entrada de tres valores,
      	avalia-los e po-los em ordem, do maior para o menor,
      	mostrando o intermediario tambem.
      
      	Autor	Gustavo Guanabara
      	Empresa	ESTUDONAUTA
      	
      	*/
      	
      	funcao inicio()
      	{
      	
      		// declarar variaveis - string declaration			
      		inteiro v1, v2, v3
      
      		// exibe na tela e pede entrada - output on screen and asks for input
      		escreva("\n{ EXERCÍCIO 025 - Três valores em ordem }\n")
      		escreva("-------------------------------------------\n")
      		escreva("Digite um valor: ")
      		leia(v1)
      		escreva("Digite outro valor: ")
      		leia(v2)
      		escreva("Digite mais um valor: ")
      		leia(v3)
      
      		// usar condicionais aninhadas para ordenar os valores, do maior para o menor
      		// use if-else statements to compare numbers and put them in greatest to least order
      		se (v1 > v2 e v1 > v3 e v2 > v3)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v1+"\n")
      			escreva("INTERMEDIÁRIO: "+v2+"\n")
      			escreva("MENOR: "+v3+"\n")
      		}		
      		senao se (v1 > v2 e v1 > v3 e v3 > v2)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v1+"\n")
      			escreva("INTERMEDIÁRIO: "+v3+"\n")
      			escreva("MENOR: "+v2+"\n")
      		}	
      		senao se (v2 > v1 e v2 > v3 e v1 > v3)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v2+"\n")
      			escreva("INTERMEDIÁRIO: "+v1+"\n")
      			escreva("MENOR: "+v3+"\n")
      		}
      		senao se (v2 > v1 e v2 > v3 e v3 > v1)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v2+"\n")
      			escreva("INTERMEDIÁRIO: "+v3+"\n")
      			escreva("MENOR: "+v1+"\n") 
      		}
      		senao se (v3 > v1 e v3 > v2 e v1 > v2)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v3+"\n")
      			escreva("INTERMEDIÁRIO: "+v1+"\n")
      			escreva("MENOR: "+v2+"\n")
      		}
      		senao se (v3 > v1 e v3 > v2 e v2 > v1)
      		{
      			escreva("------------------------------------------\n")
      			escreva("MAIOR: "+v3+"\n")
      			escreva("INTERMEDIÁRIO: "+v2+"\n")
      			escreva("MENOR: "+v1+"\n")
      		}
      		senao 
      		{
      			escreva("------------------------------------------\n")
      			escreva("Dois ou mais valores são iguais.\n")
      		}
      	}
      }
      
    • #111416
      Tutora Jessica
      Moderador

      Ola Wagner, esta correto sim !!
      Parabéns seu código esta correto e muito bem organizado 🖖

    • #120708

      programa
      {
      inclua biblioteca Matematica –> m
      funcao inicio()
      {
      inteiro v1, v2, v3, va, vb, vc
      escreva(“{ EXERCÍCIO 025 – Três valores em ordem }”)
      escreva(“\nDigite um valor: “)
      leia(v1)
      escreva(“Digite outro valor: “)
      leia(v2)
      escreva(“Digite mais um valor: “)
      leia(v3)
      escreva(“———————————————————“)
      va = m.maior_numero(m.maior_numero(v1, v2), m.maior_numero(v2, v3))
      vc = m.menor_numero(m.menor_numero(v1, v2), m.menor_numero(v2, v3))
      vb = 0
      se (va == v1 e vc == v2){
      vb = v3
      }
      senao se(va == v1 e vc == v3){
      vb = v2
      }
      senao se (va == v2 e vc == v1 ){
      vb = v3
      }
      senao se (va == v2 e vc == v3 ){
      vb = v1
      }
      senao se (va == v3 e vc == v1 ){
      vb = v2
      }
      senao se (va == v3 e vc == v2 ){
      vb = v1
      }
      escreva(“\nMAIOR: ” + va)
      escreva(“\nINTERMEDIÁRIO: “+ vb)
      escreva(“\nMENOR: ” + vc)
      }
      }

    • #120724
      Tutora Jessica
      Moderador

      Ola Kennedy, alguma duvida?

    • #126257
      RENAN CHAVES FERREIRA
      Participante

      Boa tarde@ Gostaria de uma eplicação de como e porque o Professor Guanabara chegou naquele raciocinio logico para o codigo usando apenas nos (se /senao se) a variavel ‘a’ e ‘c’. Pois nao entendi o raciocinio dele, e acredito que deve ser entendido pelo aluno ainda que eu tenha conseguido resolver com meu codigo, mas e se eu precisar dar manutenção em um código onde a pessoa tem uma abordagem diferente de raciciocinio? Por isso peço ajuda para uma explicação sobre a logica dessa resolução.
      Obrigado!

    • #126299
      Tutora Jessica
      Moderador

      Olá Renan, você assistiu o vídeo de resolução desse exercício?
      Esse vídeo:
      https://www.estudonauta.com/licao/portugol-ex025/

      Se assistiu, em qual parte da explicação do exercício você não conseguiu entender?

Visualizando 10 respostas da discussão
  • Você deve fazer login para responder a este tópico.