Samuel Pinto da Silva

Respostas no Fórum

Visualizando 1 post (de 1 do total)
  • Autor
    Posts
  • em resposta a: Modulo 2 – Exercicio 25 #75418
    Samuel Pinto da Silva
    Participante

    Olá. Gostaria de compartilhar uma solução diferente para o exercício 025.

    Antes de expô-la, vou explicar meu raciocínio.
    Há exatamente seis possibilidades para ordenar três números diferentes quaisquer entre si. Segue abaixo as ordenações (Os números serão chamados de n1, n2 e n3).

    Primeira possibilidade: n1, n2, n3
    Segunda possibilidade: n1, n3, n2
    Terceira possibilidade: n2, n1, n3
    Quarta possibilidade: n2, n3, n1
    Quinta possibilidade: n3, n1, n2
    Sexta possibilidade: n3, n2, n1

    Tendo isso em mente, basta transcrever essas seis possibilidades na linguagem do Portugol. Segue o código abaixo.

    programa
    {// { EXERCÍCIO 025 – Três Valores em Ordem }

    funcao inicio()
    {
    inteiro n1, n2, n3

    escreva(“=====================================”)
    escreva(“\n\tTRÊS VALORES EM ORDEM\n”)
    escreva(“=====================================”)
    escreva(“\nDigite um número inteiro: “)
    leia(n1)
    escreva(“Digite outro número inteiro (diferente do primeiro): “)
    leia(n2)
    escreva(“Digite um último número inteiro (diferente dos últimos dois): “)
    leia(n3)
    escreva(“————————————–“)

    se ((n1 > n2) e (n2 > n3)) {//Primeira possibilidade
    escreva(“\nMAIOR: “, n1)
    escreva(“\nINTERMEDIÁRIO: “, n2)
    escreva(“\nMENOR: “, n3)
    } senao se ((n1 > n3) e (n3 > n2)) {//Segunda possibilidade
    escreva(“\nMAIOR: “, n1)
    escreva(“\nINTERMEDIÁRIO: “, n3)
    escreva(“\nMENOR: “, n2)
    } senao se ((n2 > n1) e (n1 > n3)) {//Terceira possibilidade
    escreva(“\nMAIOR: “, n2)
    escreva(“\nINTERMEDIÁRIO: “, n1)
    escreva(“\nMENOR: “, n3)
    } senao se ((n2 > n3) e (n3 > n1)) {//Quarta possibilidade
    escreva(“\nMAIOR: “, n2)
    escreva(“\nINTERMEDIÁRIO: “, n3)
    escreva(“\nMENOR: “, n1)
    } senao se ((n3 > n1) e (n1 > n2)) {//Quinta possibilidade
    escreva(“\nMAIOR: “, n3)
    escreva(“\nINTERMEDIÁRIO: “, n1)
    escreva(“\nMENOR: “, n2)
    } senao se ((n3 > n2) e (n2 > n1)) {Sexta possibilidade
    escreva(“\nMAIOR: “, n3)
    escreva(“\nINTERMEDIÁRIO: “, n2)
    escreva(“\nMENOR: “, n1)
    } senao {//Sétima e última possibilidade
    escreva(“Dois ou mais dos números digitados são iguais, e portanto não posso realizar diferenciações entre número maior, intermediário e menor.”)
    } escreva(“\n\n”)
    }
    }

    Como podem ver, há uma sétima possibilidade no código, isso porque esse é o caso de dois ou mais números serem iguais, isto é, possuírem o mesmo valor. Nesse caso, não há como ordená-los em maior, intermediário e menor.

Visualizando 1 post (de 1 do total)