EXERCÍCIO 025 – MAIOR, INTERM, MENOR

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

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

    • #153156

      Eu não tô conseguindo verificar todas as possibilidades. Apesar de ser apenas três números, não estou conseguindo de jeito nenhum. Quem poderia mim ajudar aí?

    • #153164
      Tutora Jessica
      Moderador

      Ola Kauan, nos envie seu código para podermos analisar .. No fórum você encontra tópicos de exercícios peço para que quando for compartilhar seu código analise se ja não tem um tópico criado desse mesmo módulo e exercício, se encontrar só compartilhar nesse mesmo tópico, assim conseguimos organizar nosso fórum e tambem a ajudar outros alunos que tenham a mesma duvida. 🖖🏼

    • #153247

      programa
      {

      funcao inicio()
      {
      inteiro c = 1
      inteiro n = 0, maior = 0, menor = 0

      enquanto (c <= 4) {
      escreva (“Digite um número: “)
      leia (n)

      se (c == 1) {
      menor = n
      maior = n
      }senao se (n < menor) {
      maior = n
      }
      se (n > maior) {
      menor = n
      }
      c++
      }

      escreva (“O menor número é “,menor,”\n”)
      escreva (“O maior número é “,maior)
      }
      }

      não to conseguido entender direito. ajude ai

    • #153251
      Tutora Jessica
      Moderador

      Ola Kauan, trouxe sua duvida para uma ja existente no forum do mesmo exercicio e modulo, observe acima algumas resoluções e explicações.. caso você não consiga resolver esse exercício indico a rever a aula atentamente prestando bastante a atenção e após tentar resolver novamente esse exercício.

      Bons estudos 🖖🏼

    • #153257
      Mario Pugas
      Participante

      Boa tarde professor, meu código ficou com a resolução diferente da apresentada na solução do modulo, porém gostaria de saber se minha estrutura da forma que fiz está correta ou devo levar alguma norma em consideração, para realizar este tipo de estrutura.
      Segue o código abaixo:

      //M02-EX025- 3 NUMEROS EM ORDEM
      programa
      {

      funcao inicio()
      {
      inteiro n1, n2, n3
      escreva(“—————————————\n”)
      escreva(” TRÊS VALORES EM ORDEM \n”)
      escreva(“—————————————\n”)

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

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

      se ( n1 > n2 e n1> n3) escreva(“MAIOR: ” + n1)
      se ( n2 > n1 e n2 > n3) escreva(“MAIOR: ” + n2)
      se ( n3 > n1 e n3 > n2) escreva(“MAIOR: ” + n3)

      se ( n1 < n2 e n1 < n3) escreva(“\nMENOR: ” + n1 )
      se ( n2 < n1 e n2 < n3) escreva(“\nMENOR: ” + n2)
      se ( n3 < n1 e n3 < n2) escreva(“\nMENOR: ” + n3)

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

    • #153261
      Tutora Jessica
      Moderador

      Olá Mario, trouxe sua dúvida para uma já existente no fórum do mesmo módulo e exercício, peço por gentileza que toda vez que for postar visualize se no fórum ja não ha uma duvida do mesmo exercício, se tiver poste na mesma página por favor 🙏🏼, assim conseguimos deixar nosso fórum mais organizado e com isso ajudamos mais alunos .

      Em relação ao seu código, acima você encontra outras resoluções e explicações, mas vale ressaltar que o exercício não precisa ficar idêntico ao apresentado pelo professor Guanabara, o mais importante é você entender todo o passo a passo e colocar todas as informações que são solicitadas no enunciado do exercício.

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