Ir para conteúdo

(Duvida) Algoritmos (Contagem inteligente)


SEVEN

Posts Recomendados

Logica: O usuario digita o INICIO E FIM, (Numerico)

Por exemplo: 2 e 8

 

Ai vai fazer..

2

3

4

5

6

7

8

 

Mas se o INICIO for maior que o FIM, vai ser..

Por exemplo: 8 e 2

 

Ai vai fazer..

8

7

6

5

4

3

2

 

.... Nao consigo fazer a ordem decrescente, isto é, se o valor do fim, for maior, ele decresce o numero até o inicio.

 

ALGORITMO

 

var

   IN, F: real
inicio
      Escreva("Inicio: ")
      Leia(IN)
      Escreva("Fim: ")
      Leia(F)
      Se (IN<F) entao
         Enquanto (IN <= F) faca
               Escreval(IN)
               IN <- IN + 1
         FimEnquanto
      Senao
           Se (F>IN) entao
              Enquanto (F >= IN) faca
                    Escreval(F)
                    F <- F - 1
              FImEnquanto
           FimSe
      FimSe
fimalgoritmo
 
para mim, está correto, porem quando eu digito o valor, 8 e 3 por exemplo, nao funciona!
print:
 
D5T6e1g.png
Editado por ☢️ - SEVEN
Link para o comentário
Compartilhar em outros sites

é uma logica bem simples,

em vez de:

 

inicio
      Escreva("Inicio: ")
      Leia(IN)
      Escreva("Fim: ")
      Leia(F)
      Se (IN<F) entao
         Enquanto (IN <= F) faca
               Escreval(IN)
               IN <- IN + 1
         FimEnquanto
      Senao
           Se (F>IN) entao                   <-------- esse if n é necessário
              Enquanto (F >= IN) faca        <-------- verificar se IN é maior que F
                    Escreval(F)              <--------- escrever o IN aqui
                    F <- F - 1               <-------- decrescentar do IN
              FImEnquanto
           FimSe
      FimSe
fimalgoritmo

 

Código corrigido:

inicio
   Escreva("Inicio: ")
   Leia(IN)
   Escreva("Fim: ")
   Leia(F)
   
   Se (IN<F) entao
   
      Enquanto (IN <= F) faca
            Escreval(IN)
            IN <- IN + 1
      FimEnquanto
      
   Senao
   
     Enquanto (IN >= F) faca
           Escreval(IN)
           IN <- IN - 1
     FImEnquanto
     
   FimSe
fimalgoritmo

O IN é sua variável de controle, e o F é o limite do seu laço de repetição.

 

 

SF3BXCu.pngauSZL5k.png

Editado por DigitalZero
Link para o comentário
Compartilhar em outros sites

 

é uma logica bem simples,

em vez de:

 

inicio
      Escreva("Inicio: ")
      Leia(IN)
      Escreva("Fim: ")
      Leia(F)
      Se (IN<F) entao
         Enquanto (IN <= F) faca
               Escreval(IN)
               IN <- IN + 1
         FimEnquanto
      Senao
           Se (F>IN) entao                   <-------- esse if n é necessário
              Enquanto (F >= IN) faca        <-------- verificar se IN é maior que F
                    Escreval(F)              <--------- escrever o IN aqui
                    F <- F - 1               <-------- decrescentar do IN
              FImEnquanto
           FimSe
      FimSe
fimalgoritmo

 

Código corrigido:

inicio
   Escreva("Inicio: ")
   Leia(IN)
   Escreva("Fim: ")
   Leia(F)
   
   Se (IN<F) entao
   
      Enquanto (IN <= F) faca
            Escreval(IN)
            IN <- IN + 1
      FimEnquanto
      
   Senao
   
     Enquanto (IN >= F) faca
           Escreval(IN)
           IN <- IN - 1
     FImEnquanto
     
   FimSe
fimalgoritmo

O IN é sua variável de controle, e o F é o limite do seu laço de repetição.

 

 

SF3BXCu.pngauSZL5k.png

 

Muito obrigado por ter corrigido!

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...