Ir ao conteúdo
  • Cadastre-se
Higor Gustavo Martins

VisualG SuperContador entre 3 opções

Recommended Posts

algoritmo "semnome"
var
   N, Cont: inteiro
inicio
Cont <- 1
Repita
      Escreval("                   ")
      Escreval("===================")
      Escreval("|       Menu      |")
      Escreval("===================")
      Escreval("| [1] De 1 a 10 |  ")
      Escreval("| [2] De 10 a 1 |  ")
      Escreval("| [3] Sair      |  ")
      Escreval("===================")
      Leia(N)
      Repita
            Se (N <= 1)entao
               Escreva(Cont, "..")
               Cont <- Cont + 1
            Senao
                 Se (N = 2)entao
                    Escreva(Cont, "..")
                    Cont <- Cont - 1
                 Senao
                      Se (N = 3)entao
                         Escreva("Saindo..")
                      Fimse
                 Fimse
            Fimse
      Ate(Cont = 10)
Ate(N = 3)

Como eu faço para o N°1 ( contar de 1 ate 10 e não ate 09)

E como eu faço para o N° 2 ( contar de 10 ate 1 sem ficar no loop ) ?

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

1#
Sobre:

48 minutos atrás, Higor Gustavo Martins disse:

Como eu faço para o N°1 ( contar de 1 ate 10 e não ate 09)

Entenda o seu código. Entenda o que foi implementado.

 

 

 

2#

48 minutos atrás, Higor Gustavo Martins disse:

E como eu faço para o N° 2 ( contar de 10 ate 1 sem ficar no loop ) ?

 

Idem. Entenda o que você implementou. Então, o Visualg é apenas um interpretador de algoritmo.... quem definiu as etapas foi você :)

 

 

***

 

Sugestão:

Procure fazer uma coisa de cada vez. Primeiro apenas implemente o item do menu 1. Posta o código aqui... só depois tenta fazer o 2.

 

Abaixo de algumas modificadas no seu código, mas utilizei a mesma base:

algoritmo "Aqui coloque o nome que identifica o seu programa"
var
   opcao, cont:inteiro
   aux        :caracter
inicio
repita
   limpaTela()
   cont <- 1
   escreval("                   ")
   escreval("===================")
   escreval("|       Menu      |")
   escreval("===================")
   escreval("|  [1] De 1 a 10  |")
   escreval("|  [2] De 10 a 1  |")
   escreval("|  [3] Sair       |")
   escreval("===================")
   leia(opcao)
   escreval()
   repita
      se (opcao = 1) entao
         escreva(cont,"..")
         cont <- cont + 1
      senao
         se (opcao = 2)entao
            escreval("EM CONSTRUÇÃO - IMPLEMENTAR DE 10 a 1")
            interrompa
         senao
            se (opcao = 3) entao
               escreva("Saindo..")
            fimse
         fimse
      fimse
   ate cont=10
   escreval()
   escreval()
   escreva ("Pressione ENTER para continuar")
   leia(aux) //ler qualquer coisa, só para aguardar um ENTER
ate (opcao = 3)
fimAlgoritmo

Entenda o que está ocorrendo...

 

Dica:

Spoiler

Percebe que está terminando em 9. Então, o que faz terminar a contagem? o que você pode fazer para que termine com 10?

 

 

No aguardo.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas

 

Então eu andei vendo a edição que você fez e mesmo assim continua as mesmas coisas...

Ai eu tentei ver se achava uma solução e não consigo encontrar o que eu estou fazendo e mexendo de errado...

 

Eu ja assisti a minha aula varias vezes e não sei o que eu posso fazer.. 

Eu to achando que o Código não precisa ser tão grande assim,,, mas eu não se devo tirar alguma coisa ou colocar uma outra expressão.

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 minuto atrás, Higor Gustavo Martins disse:

Então eu andei vendo a edição que você fez e mesmo assim continua as mesmas coisas...


Eu não corrigi. Veja a dica.

adicionado 1 minuto depois

Qual o enunciado desse problema?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Higor Gustavo Martins      para sair do primeiro repita precisa N ser = 10 , então o cont := cont -1 não pode ser assim , pois senão ele nunca sairá do loop , por isso precisa somar o valor de cont mesmo , e maneira de contar de trás para frente  seria colocar o valor que você quer começar a imprimir menos cont ,  então seu código poderia ser assim  :

algoritmo "num de 1 a10 e de 10 a 1"
var
  N, Cont: inteiro
inicio
  Repita
    limpatela
    Escreval("                   ")
    Escreval("===================")
    Escreval("|       Menu      |")
    Escreval("===================")
    Escreval("| [1] De 1 a 10   |")
    Escreval("| [2] De 10 a 1   |")
    Escreval("| [3] Sair        |")
    Escreval("===================")
    Leia(N)
    Cont <- 1  // precisa ficar dentro do repita
    Repita
      Se N <= 1 entao
        mudacor("amarelo","frente")
        Escreva(Cont, "..")
      Senao
        Se N = 2 entao
          mudacor("verde","frente")
          Escreva(11-cont, "..")  // por que vai até 10
        Senao
          Se N >= 3 entao
            mudacor("azul_claro","frente")
            Escreva("Saindo..")
            cont := 10  // para sair do loop
          Fimse
        Fimse
      Fimse
      Cont <- Cont + 1  // cont vai até 11
    Ate  Cont = 11
    escreval
    se N <> 3 entao
      escreva("     Tecle Enter !")
      leia(N)
      N := 0
    fimse
  Ate N = 3
Fimalgoritmo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Simon Viegas

 

Então a 1° dica foi entender o meu Código... 

Eu revisei ele e não consigo ver o erro.... 

 

A 2° foi que eu quis saber praticamente a mesma resposta... E sei que quem escreve o código sou eu e que o erro esta na minha forma de implementar o código, pois se eu revisar e pensar mais eu encontro o erro... mas é que eu ja estou nesse exercício a 2 dias kkkkk e não sei aonde eu estou errando... 

 

e a 3°..Seria eu refazer e "prestar mais atenção"....pois só assim eu entenderei... e é o que eu to fazendo.... 

 

mas também não quero vir aqui e so colocar o código e esperar que alguém refaça ele e me entregue pronto.. quero que vcs apontem o erro e deixe com que eu descubra o problema.... 

 

e sobre o enunciado kkkk eu estou boiando kkkkk 

 

 

E muito obrigado pela atenção e por toda ajuda...    

adicionado 19 minutos depois

@devair1010

 

Oh cara muito obrigado pela ajuda... vou começar a olhar mais e pensar mais... vou pegar esse código e colocar perto do que eu fiz e ver o que faltava e o que eu coloquei a mais.

 

E vou pedir mais uma ajuda.... igual eu falei para a Simon Viegas quando eu colocar o código aqui e pedir a ajuda de vcs kkkkkk como sempre kkkk peço a vcs que não me passem o código certo, mas sim que me mostrem aonde estão o erro que eu irei quebrar a cabeça  aqui para resolver.

 

 

Mas agradeço de coração a ajuda. e que DEUS te abençoe;

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×