M02A05 – Condições Aninhadas – EXERCÍCIO 022 – Ordem Crescente.

Home Fóruns Programação Básica M02A05 – Condições Aninhadas – EXERCÍCIO 022 – Ordem Crescente.

Visualizando 3 respostas da discussão
  • Autor
    Posts
    • #129959
      Henrique Bichoff
      Participante

      Bom dia prof, tenho uma pequena dúvida neste exercício.

      programa
      {
      	
      	funcao inicio()
      	{
      		escreva("\t\t\t{EXERCÍCIO 022 - Ordem crescente}")
      
      		//Variaveis
      		inteiro N1, N2
      
      		//Entrada de Dados
      		escreva("\nDigite um Número: ")
      		leia(N1)
      		escreva("Digite outro Número: ")
      		leia(N2)
      
      		//Saída de Dados
      		se (N1 != N2) {
      			escreva("\nOs números em ordem são ", N1, " e ", N2)
      		} senao se ( N2 > N1) {
      			escreva("\nOs números em ordem são ", N2, " e ", N1)
      		} senao se (N1 == N2) {
      			escreva("\nNão existe ordem para números iguais!")
      		}
      		escreva("\n")
      	}
       
      }

      Assim que comecei meu código, na linha onde está o primeiro “se (N1 != N2)” antes de utilizar este operador “!=” eu tinha colocado o “<“. Porém deu errado, toda vez que eu iniciava o programa e colocava os números ele sempre me mostrava o N1 sempre a frente do N2 ignorando a ordem crescente. Eu achei que tinha errado, então eu troquei o “<” por “!=” e deu certo! Porém eu não entendi o por quê…

      Então fui para o vídeo onde o Guanabara mostra a resposta e vi que ele fez exatamente igual a mim, ele também utilizou o operador “<” onde eu coloquei o “!=”. Porém o dele deu certo e o meu não, agora eu estou confuso. Não sei se fiz algo de errado ao colocar o operador “<” e também não sei o porquê o código deu certo quando eu alterei para “!=”, me ajuda kkkk.

    • #129971
      Tutora Jessica
      Moderador

      Olá Henrique, quais foram os números que você testou?
      Eu fiz o teste e funcionou, no caso você só precisaria trocar o primeiro senao se por (N1 > N2)
      e o se com (N1 < N2).

      • #129976
        Henrique Bichoff
        Participante

        Jessica, era isso mesmo. foi falta de atenção minha, peço desculpas. Já deu certo aqui, obrigadoo!

    • #129975
      Henrique Bichoff
      Participante

      Então, no começo eu fiz exatamente assim, agora eu alterei de novo da mesma forma como você explicou. Mas no meu console está assim:

      Digite um número: 20
      Digite outro número: 30
      
      Os números em ordem são 20 e 30

      porém, se eu inverter a sequência e colocar o 30 primeiro e o 20 depois o console só mostra “Programa Finalizado”. Deve ser algum bug.

    • #129978
      Tutora Jessica
      Moderador

      Olá Henrique, fiz o teste da forma que colocou aqui e funcionou direitinho, observe o código como estou utilizando:

      programa
      {
      	
      	funcao inicio()
      	{
      		escreva("\t\t\t{EXERCÍCIO 022 - Ordem crescente}")
      
      		//Variaveis
      		inteiro N1, N2
      
      		//Entrada de Dados
      		escreva("\nDigite um Número: ")
      		leia(N1)
      		escreva("Digite outro Número: ")
      		leia(N2)
      
      		//Saída de Dados
      		se (N1 < N2) {
      			escreva("\nOs números em ordem são ", N1, " e ", N2)
      		} senao se ( N1 > N2) {
      			escreva("\nOs números em ordem são ", N2, " e ", N1)
      		} senao se (N1 == N2) {
      			escreva("\nNão existe ordem para números iguais!")
      		}
      		escreva("\n")
      	}
       
      }
Visualizando 3 respostas da discussão
  • Você deve fazer login para responder a este tópico.