EXERCÍCIO 025 – MAIOR, INTERM, MENOR

Home Fóruns Programação Básica EXERCÍCIO 025 – MAIOR, INTERM, MENOR

Visualizando 8 respostas da discussão
  • Autor
    Posts
    • #88937
      Raphael Alves Souza
      Participante

      Olá pessoal tudo bem? Essa foi minha solução para o exercício 025 do módulo 02. Está funcionando bem! Gostaria de eliminar algumas linhas de programação conforme (2 versão do programa abaixo em seguida) só que a 2 versão diz que talvez minha variável “maior” não tenha sido inicializada. Será que alguém poderia me auxiliar?

      ===01 versão funcionando===
      programa
      {
      funcao inicio()
      {
      escreva(“=============================”)
      escreva(“\n TRÊS VALORES EM ORDEM “)
      escreva(“\n=============================”)

      inteiro a,b,c
      inteiro maior
      inteiro interm
      inteiro menor

      escreva(“\nPrimeiro valor:”)
      leia(a)
      escreva(“Segundo valor:”)
      leia(b)
      escreva(“Terceiro valor:”)
      leia(c)
      escreva(“=============================”)
      escreva(“\n\n”)

      se(a > b e a > c){
      se(b > c){
      maior = a
      interm = b
      menor = c
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }senao{
      maior = a
      interm = c
      menor = b
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }
      }senao se(b > c e b > a){
      se(c > a){
      maior = b
      interm = c
      menor = a
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }senao{
      maior = b
      interm = a
      menor = c
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }
      }senao se(c > a e c > b){
      se(a > b){
      maior = c
      interm = a
      menor = b
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }senao{
      maior = c
      interm = b
      menor = a
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }
      }
      escreva(“\n\n”)
      }
      }

      ===2 versao não funciona===

      programa
      {
      funcao inicio()
      {
      escreva(“=============================”)
      escreva(“\n TRÊS VALORES EM ORDEM “)
      escreva(“\n=============================”)

      inteiro a,b,c
      inteiro maior
      inteiro interm
      inteiro menor

      escreva(“\nPrimeiro valor:”)
      leia(a)
      escreva(“Segundo valor:”)
      leia(b)
      escreva(“Terceiro valor:”)
      leia(c)
      escreva(“=============================”)
      escreva(“\n\n”)

      se(a > b e a > c){
      se(b > c){
      maior = a
      interm = b
      menor = c

      }senao{
      maior = a
      interm = c
      menor = b

      }
      }senao se(b > c e b > a){
      se(c > a){
      maior = b
      interm = c
      menor = a

      }senao{
      maior = b
      interm = a
      menor = c

      }
      }senao se(c > a e c > b){
      se(a > b){
      maior = c
      interm = a
      menor = b

      }senao{
      maior = c
      interm = b
      menor = a

      }
      }
      escreva(“\n\n”)
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      }
      }

      Erro de compilação
      Existem trechos de código onde a variável maior pode não ter sido inicializada

      Obrigado pela ajuda pessoal

    • #89116
      IcaroFilho
      Moderador

      Bom dia. este é um erro comum da linguagem. para isso basta inicializa-las na declaração.

      
      inteiro maior = 0
      inteiro interm = 0
      inteiro menor = 0
      
    • #89135
      Raphael Alves Souza
      Participante

      //Cara funcionou, que orgulho, obrigado irm”ao pela ajuda.

      programa
      {
      funcao inicio()
      {
      escreva(“=============================”)
      escreva(“\n TRÊS VALORES EM ORDEM “)
      escreva(“\n=============================”)

      inteiro a,b,c
      inteiro maior = 0
      inteiro interm = 0
      inteiro menor = 0

      escreva(“\nPrimeiro valor:”)
      leia(a)
      escreva(“Segundo valor:”)
      leia(b)
      escreva(“Terceiro valor:”)
      leia(c)
      escreva(“=============================”)

      se(a > b e a > c){
      se(b > c){
      maior = a
      interm = b
      menor = c
      }senao{
      maior = a
      interm = c
      menor = b
      }
      }senao se(b > c e b > a){
      se(c > a){
      maior = b
      interm = c
      menor = a
      }senao{
      maior = b
      interm = a
      menor = c
      }
      }senao se(c > a e c > b){
      se(a > b){
      maior = c
      interm = a
      menor = b
      }senao{
      maior = c
      interm = b
      menor = a

      }
      }
      escreva(“\nMAIOR: \t” + maior)
      escreva(“\nINTERM: ” + interm)
      escreva(“\nMENOR: \t” + menor)
      escreva(“\n\n”)
      }
      }

    • #94448
      LUCAS ARAUJO BORGES
      Participante

      Só para compartilhar a minha solução:

      funcao inicio()
      {
      inteiro n1, n2, n3
      escreva(“\n{ EXERCÍCIO 025 – Três valores em ordem }”)
      escreva(“\nDigite um valor: “)
      leia(n1)
      escreva(“Digite outro valor: “)
      leia(n2)
      escreva(“Digite mais um valor: “)
      leia(n3)
      escreva(“\n—————————————-\n\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 n3 > n2) {
      escreva(“MAIOR: “, n1, “\nINTERMEDIÁRIO: “, n3, “\nMENOR: “, n2)
      } senao se(n2 > n1 e n2 > n3 e n1 > n3) {
      escreva(“MAIOR: “, n2, “\nINTERMEDIÁRIO: “, n1, “\nMENOR: “, n3)
      } senao se(n2 > n1 e n2 > n3 e n3 > n1) {
      escreva(“MAIOR: “, n2, “\nINTERMEDIÁRIO: “, n3, “\nMENOR: “, n1)
      } senao se(n3 > n1 e n3 > n2 e n1 > n2) {
      escreva(“MAIOR: “, n3, “\nINTERMEDIÁRIO: “, n1, “\nMENOR: “, n2)
      } senao se(n3 > n1 e n3 > n2 e n2 > n1) {
      escreva(“MAIOR: “, n3, “\nINTERMEDIÁRIO: “, n2, “\nMENOR: “, n1)
      } senao se(n1 == n2 e n1 > n3){
      escreva(“O primeiro e segundo valor são iguais.\nMAIOR: “, n1, “\nMENOR: “, n3)
      } senao se(n1 == n2 e n3 > n1) {
      escreva(“O primeiro e segundo valor são iguais.\nMAIOR: “, n3, “\nMENOR: “, n1)
      } senao se(n1 == n3 e n1 > n2) {
      escreva(“O primeiro e terceiro valor são iguais.\nMAIOR: “, n1, “\nMENOR: “, n2)
      } senao se(n1 == n3 e n2 > n1) {
      escreva(“O primeiro e terceiro valor são iguais.\nMAIOR: “, n2, “\nMENOR: “, n3)
      } senao se(n2 == n3 e n2 > n1) {
      escreva(“O segundo e o terceiro valor são iguais.\nMAIOR: “, n2, “\nMENOR: “, n1)
      } senao se(n2 == n3 e n1 > n2){
      escreva(“O segundo e o terceiro valor são iguais.\nMAIOR: “, n1, “\nMENOR: “, n2)
      } senao {
      escreva(“Os valores são todos iguais, é impossível colocar em ordem.”)
      }
      }

    • #94658
      Tutor Davy
      Membro

      Lucas, Parabéns! Sua resolução do exercício está certa! Continue se dedicando assim e estará cada vez melhor.
      Se houver quaisquer dúvidas basta entrar em contato que lhe ajudaremos. 🖖

    • #96130

      programa
      { //EXERCÍCIO 025 – TRÊS VALORES EM ORDEM

      funcao inicio()
      {
      inteiro n1, n2, n3
      escreva(“Digite um número: “)
      leia(n1)
      escreva(“Digite outro número: “)
      leia(n2)
      escreva(“Digite outro número: “)
      leia(n3)
      se (n1 > n2 e n3 < n2){
      escreva(“MAIOR: “+ n1 +”\nINTERMEDIÁRIO: “+ n2 +”\nMENOR: “+ n3)
      } senao se (n2 > n1 e n3 < n1){
      escreva(“MAIOR: “+ n2 +”\nINTERMEDIÁRIO: “+ n1 +”\nMENOR: “+ n3)
      } senao se (n3 > n2 e n1 < n2){
      escreva(“MAIOR: “+ n3 +”\nINTERMEDIÁRIO: “+ n2 +”\nMENOR: “+ n1)
      }
      }
      }`

      • #96183
        IcaroFilho
        Moderador

        Boa noite Matheus,
        Seu código esta incorreto
        A sequencia Maior - Intermediário - Menor não tem saída
        A sequencia menor - maior - Intermediário não tem saída
        Pode testar pondo a seguinte sequencia de números:
        4 1 3
        2 10 5

        A tratativa desta questão um pouco mais complexo que 3 possibilidades.
        Você pode por cada possibilidade na mão um a um Como o Lucas fez, mas este não é nem o ideal nem o intuito.
        O ideal é fazer lógica do Raphael onde se usa um SE dentro de outro SE.

        Tenta solucionar o exercício novamente e qualquer problema na lógica é só perguntar.

      • #96192

        REALMENTE, TINHA FEITO N TESTES ANTES DE MANDAR, E QUERIA REALMENTE DAR AQUELE INSIGHT PARA DIZER “AHHHHHHHHHHHHHH”, ESPEROQ EU MEU CÉREBRO DÊ O ESTALO. EU SENTIA QUE ESTAVA ESTRANHO, INCORRETA.

    • #96230

      programa
      { //EXERCÍCIO 025 – TRÊS VALORES EM ORDEM

      funcao inicio()
      {
      inteiro n1, n2, n3
      escreva(“Digite um número: “)
      leia(n1)
      escreva(“Digite outro número: “)
      leia(n2)
      escreva(“Digite outro número: “)
      leia(n3)
      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 n3 > n2){

      escreva(“MAIOR: “+ n1 +”\nINTERMEDIÁRIO: “+ n3 +”\nMENOR: “+ n2)

      } senao se(n2 > n1 e n2 > n3 e n3 > n1){

      escreva(“MAIOR: “+ n2 +”\nINTERMEDIÁRIO: “+ n3 +”\nMENOR: “+ n1)

      } senao se(n2 > n1 e n2 > n3 e n1 > n3){

      escreva(“MAIOR: “+ n2 +”\nINTERMEDIÁRIO: “+ n1 +”\nMENOR: “+ n3)

      } senao se(n3 > n2 e n3 > n1 e n1 > n2){

      escreva(“MAIOR: “+ n3 +”\nINTERMEDIÁRIO: “+ n1 +”\nMENOR: “+ n2)

      } senao se(n3 > n2 e n3 > n1 e n2 > n1){

      escreva(“MAIOR: “+ n3 +”\nINTERMEDIÁRIO: “+ n2 +”\nMENOR: “+ n1)

      } senao se(n1==n2 e n1>n3){

      escreva(“O “+ n1 +” e o “+ n2 +” são iguais, porém o “+ n3 +” é menor que os dois”)

      } senao se(n1==n3 e n1>n2){

      escreva(“O “+ n1 +” e o “+ n3 +” são iguais, porém o “+ n2 +” é menor que os dois”)

      } senao se(n2==n1 e n2>n3){

      escreva(“O “+ n2 +” e o “+ n1 +” são iguais, porém o “+ n3 +” é menor que os dois”)

      } senao se(n2==n3 e n2>n1){

      escreva(“O “+ n2 +” e o “+ n3 +” são iguais, porém o “+ n1 +” é menor que os dois”)

      } senao se(n3==n1 e n3>n1){

      escreva(“O “+ n3 +” e o “+ n1 +” são iguais, porém o “+ n1 +” é menor que os dois”)

      } senao se(n3==n2 e n3>n2){

      escreva(“O “+ n3 +” e o “+ n2 +” são iguais, porém o “+ n2 +” é menor que os dois”)

      }
      }
      }`

    • #96231

      programa
      { //EXERCÍCIO 025 – TRÊS VALORES EM ORDEM

      funcao inicio()
      {
      inteiro n1, n2, n3
      escreva(“Digite um número: “)
      leia(n1)
      escreva(“Digite outro número: “)
      leia(n2)
      escreva(“Digite outro número: “)
      leia(n3)
      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 n3 > n2){

      escreva(“MAIOR: “+ n1 +”\nINTERMEDIÁRIO: “+ n3 +”\nMENOR: “+ n2)

      } senao se(n2 > n1 e n2 > n3 e n3 > n1){

      escreva(“MAIOR: “+ n2 +”\nINTERMEDIÁRIO: “+ n3 +”\nMENOR: “+ n1)

      } senao se(n2 > n1 e n2 > n3 e n1 > n3){

      escreva(“MAIOR: “+ n2 +”\nINTERMEDIÁRIO: “+ n1 +”\nMENOR: “+ n3)

      } senao se(n3 > n2 e n3 > n1 e n1 > n2){

      escreva(“MAIOR: “+ n3 +”\nINTERMEDIÁRIO: “+ n1 +”\nMENOR: “+ n2)

      } senao se(n3 > n2 e n3 > n1 e n2 > n1){

      escreva(“MAIOR: “+ n3 +”\nINTERMEDIÁRIO: “+ n2 +”\nMENOR: “+ n1)

      } senao se(n1==n2 e n1>n3){

      escreva(“O “+ n1 +” e o “+ n2 +” são iguais, porém o “+ n3 +” é menor que os dois”)

      } senao se(n1==n3 e n1>n2){

      escreva(“O “+ n1 +” e o “+ n3 +” são iguais, porém o “+ n2 +” é menor que os dois”)

      } senao se(n2==n1 e n2>n3){

      escreva(“O “+ n2 +” e o “+ n1 +” são iguais, porém o “+ n3 +” é menor que os dois”)

      } senao se(n2==n3 e n2>n1){

      escreva(“O “+ n2 +” e o “+ n3 +” são iguais, porém o “+ n1 +” é menor que os dois”)

      } senao se(n3==n1 e n3>n1){

      escreva(“O “+ n3 +” e o “+ n1 +” são iguais, porém o “+ n1 +” é menor que os dois”)

      } senao se(n3==n2 e n3>n2){

      escreva(“O “+ n3 +” e o “+ n2 +” são iguais, porém o “+ n2 +” é menor que os dois”)

      } senao{
      escreva(“TODOS OS VALORES SÃO IGUAIS”)
      }
      }
      }`

    • #128810
      Saulo Matos
      Participante

      `// testei todas as possiblidades de dar errado ou de qubrava o código e deu certo, gostaria de saber porque antes ele quebrebrava
      se eu digitasse 3,2,1 o intermediario nao aparecia antes de eu adicionar os “senao se” nos intermediarios, pq quebrava antes?

      programa
      {

      funcao inicio()
      {

      inteiro num1, num2,num3

      escreva(“\n digite um valor: “)
      leia(num1)

      escreva(“\n digite outro valor: “)
      leia(num2)

      escreva(“\n digite mais um valor: “)
      leia(num3)

      //menor1
      se (num1 < num2 e num1< num3){
      escreva(“\n MENOR:”,num1)
      } //menor 2
      se (num2 < num1 e num2 < num3){
      escreva(“\n MENOR:”,num2)
      } //menor 3
      se (num3 < num2 e num3< num1){
      escreva(“\n MENOR:”,num3)
      }

      escreva(“\n————————“)

      //intermediario 1
      se (num1 > num2 e num1 < num3){
      escreva(“\n INTER: “+num1)
      }
      senao se(num1 < num2 e num1 > num3){
      escreva(“\n INTER: “+num1)
      }

      //intermediario 2
      se (num2 < num1 e num2 > num3) {
      escreva(“\n INTER: “+num2)
      }
      senao se(num2 > num1 e num2 < num3) {
      escreva(“\n INTER: “+num2)
      }

      //intermediario 3
      se (num3 > num1 e num3 < num2) {
      escreva(“\n INTER: “+num3)
      }
      senao se(num3 < num1 e num3 > num2) {
      escreva(“\n INTER: “+num3)
      }

      escreva(“\n————————“)

      //maior 1
      se (num1 > num2 e num1> num3){
      escreva(“\n MAIOR:”,num1)
      }//maior 2
      se (num2 > num1 e num2 > num3){
      escreva(“\n MAIOR:”,num2)
      }//maior
      se (num3 > num2 e num3> num1){
      escreva(“\n MAIOR:”,num3)
      }

      }
      }

      • #128881
        Tutora Jessica
        Moderador

        Trouxe sua duvida para um tópico ja existente desse exercício no forum, acima tem algumas explicações que acho que pode lhe ajudar, caso continue com duvidas, so entrar em contato novamente que vamos tentar lhe ajudar.

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