Ir ao conteúdo

Posts recomendados

Postado

Boa tarde. Estou tentando fazer um código para adivinhar os seguintes transportes: Trator, Moto, Bicicleta, Trem, Carro, Caminhão, Ônibus, Paraquedas, Balão, Avião, Helicóptero, Submarino, Barco, Navio e Lancha.

 

Tentei utilizar a função SE, mas não deu certo. Não sei se combino com a caso ou se utilizo alguma outra que de looping... Quis fazer algo comum uma eliminação e dar as respostas. Lembrando que o "Sim" e "Não" são as únicas cabíveis. 


Código:

var
   resposta1, resposta2, resposta3, resposta4, resposta5 : caractere
   resposta6, resposta7, resposta8, resposta9, resposta10 : caractere
   resposta11, resposta12, resposta13, resposta14 : caractere

inicio
   escreval("Jogo de Adivinhação")
   escreval("Dentro os meios de transporte pense em um: ")
   escreval("- Trator")
   escreval("- Moto")
   escreval("- Bicicleta")
   escreval("- Trem")
   escreval("- Carro")
   escreval("- Caminhão")
   escreval("- Ônibus")
   escreval("- Paraquedas")
   escreval("- Balão")
   escreval("- Avião")
   escreval("- Helicóptero")
   escreval("- Submarino")
   escreval("- Barco")
   escreval("- Navio")
   escreval("- Lancha")

   escreval("")

   escreval("É terrestre?")
   leia (resposta1)

   se resposta1 = ("Sim") entao
      escreval("É pesado?")
      leia (resposta10)
      se resposta10 = ("Sim") entao
         escreval("É um trator")
      senao
         se resposta10 = ("Não") entao
            escreval("Usa capacete?")
            leia (resposta11)
            se resposta11 = ("Sim")entao
               escreval("O transporte é uma moto")
            senao
               se resposta11 = ("Não") entao
                  escreval("Usa trilho?)
                  leia (resposta12)
                  se resposta12 = ("Sim") entao
                     escreval("O tranporte é um trem")
                  senao
                     se resposta12 = ("Não")
                        escreval("É um veiculo leve?")
                        leia (resposta13)
                        se resposta13 = ("Sim") entao
                           escreval("O transporte é um carro")
                        senao
                           se respost13 = ("Não") entao
                              escreval("Usa carroceria?)
                              leia (resposta14)
                              se resposta14 = ("Sim") entao
                                 escreval("O transporte é uma carroça")
                              senao
                                 se respota14 = ("Não")
                                    escreval("O tranporte é um ônibus")
                                    se resposta1 = ("Não") entao
                                       escreval("É aérea?")
                                       leia (resposta2)
                                       se resposta2 = ("Sim") entao
                                          escreval("Precisa Pular?")
                                          leia (resposta7)
                                          se resposta7 = ("Sim") entao
                                             escreval("O transporte é uma Asa Delta")
                                          senao
                                             se resposta7 =("Não") entao
                                                escreval("É devagar?")
                                                leia (resposta8)
                                                se resposta8 = ("Sim") entao
                                                   escreval("O transporte é um Balão")
                                                senao
                                                   se resposta8 = ("Não") entao
                                                      escreval("Possui asas fixas?:")
                                                      leia (resposta9)
                                                      se resposta9 = ("Sim") entao
                                                         escreval("O tranporte é um Avião")
                                                      senao
                                                         se resposta9 = ("Não") entao
                                                            escreval("O transporte é um Helicóptero")
                                                         senao
                                                            se resposta2 = ("Não") entao
                                                               escreval("O transporte é áquático?")
                                                               leia (resposta3)
                                                               se resposta3 = ("Sim") entao
                                                                  escreval("É coberto d'água?")
                                                                  leia (resposta4)
                                                                  se resposta4 = ("Sim") entao
                                                                     escreval("O transporte é um Submarino")
                                                                  senao
                                                                     se resposta4 = ("Não") entao
                                                                        escreval("Possui Vela?")
                                                                        leia (resposta5)
                                                                        se resposta5 = ("Sim") entao
                                                                           escreval("O transporte é um barco")
                                                                        senao
                                                                           se resposta5 = ("Não") entao
                                                                              escreval("É alto?")
                                                                              leia (resposta6)
                                                                              se resposta6 = ("Sim") entao
                                                                                 escreval("O transporte é um Navio")
                                                                              senao
                                                                                 se resposta6 =("Não") entao
                                                                                    escreval("O transporte é uma lancha")
                                                                                 senao
                                                                                    se resposta3 = ("Não")
                                                                                       escreval("O transporte é inválido")
                                                                                    fimse
                                                                                 fimse
                                                                              fimse
                                                                           fimse
                                                                        fimse
                                                                     fimse
                                                                  fimse
                                                               fimse
                                                            fimse
                                                         fimse
                                                      fimse
                                                   fimse
                                                fimse
                                             fimse
                                          fimse
                                       fimse
                                    fimse
                                 fimse
                              fimse
                           fimse
                        fimse
                     fimse
                  fimse
               fimse
            fimse
         fimse
      fimse
   fimse
fimalgoritmo

 

 

 

  • Curtir 2
Postado

Não daria para dar aulas pelo fórum, então procure no Google alguma apostila de Portugol e estude, principalmente a parte de vetores, estruturas de repetição e estrutura de decisão do tipo "escolha".

  • Curtir 1
  • Membro VIP
Postado
Em 27/06/2022 às 14:44, Mário Yama disse:

Tentei utilizar a função SE, mas não deu certo.


Tá, mas o quê que não deu certo? Foi alguma coisa na lógica que você imaginou ou está dando algum erro?

 

Uma dica simples é: vá fazendo aos poucos... deixando funcionado até onde já fez.

 



Vamos lá:

  1. o primeiro ponto é que só precisaria de uma variável para resposta;
  2. ficou faltando algumas aspas duplas;
  3. ficou faltando alguns entao;
  4. seria melhor utilizar o "não" sem o "~". Fica mais simples para digitar. (Depois vê isso com mais calma.)

 

Oh! O VisualG não tem compilador (que acusa erros logo ao tentar compilar), daí precisa de uma atenção redobrada ao implementar (pois alguns os erros só ocorrem quando na execução bate lá)... Segue uma base:
 

algoritmo "Jogo de Adivinhação"
var
   resposta : caractere

inicio
   escreval("Jogo de Adivinhação")
   escreval("Dentro os meios de transporte pense em um: ")
   escreval("- Trator")
   escreval("- Moto")
   escreval("- Bicicleta")
   escreval("- Trem")
   escreval("- Carro")
   escreval("- Caminhão")
   escreval("- Ônibus")
   escreval("- Paraquedas")
   escreval("- Balão")
   escreval("- Avião")
   escreval("- Helicóptero")
   escreval("- Submarino")
   escreval("- Barco")
   escreval("- Navio")
   escreval("- Lancha")

   escreval("")

   escreval("É terrestre?")
   leia(resposta)

   se resposta = "sim" entao
      escreval("É pesado?")
      leia(resposta)
      se resposta = "sim" entao
         escreval("É um trator")
      senao
         se resposta = "não" entao
            escreval("Usa capacete?")
            leia(resposta)
            se resposta = "sim"entao
               escreval("O transporte é uma moto")
            senao
               se resposta = "não" entao
                  escreval("Usa trilho?")
                  leia(resposta)
                  se resposta = "sim" entao
                     escreval("O tranporte é um trem")
                  senao
                     se resposta = "não" entao
                        escreval("É um veiculo leve?")
                        leia(resposta)
                        se resposta = "sim" entao
                           escreval("O transporte é um carro")
                        senao
                           se resposta = "não" entao
                              escreval("Usa carroceria?")
                              leia(resposta)
                              se resposta = "sim" entao
                                 escreval("O transporte é uma carroça")
                              senao
                                 se resposta = "não" entao
                                    escreval("O tranporte é um ônibus")
                                    se resposta = "não" entao
                                       escreval("É aérea?")
                                       leia(resposta)
                                       se resposta = "sim" entao
                                          escreval("Precisa Pular?")
                                          leia(resposta)
                                          se resposta = "sim" entao
                                             escreval("O transporte é uma Asa Delta")
                                          senao
                                             se resposta ="não" entao
                                                escreval("É devagar?")
                                                leia(resposta)
                                                se resposta = "sim" entao
                                                   escreval("O transporte é um Balão")
                                                senao
                                                   se resposta = "não" entao
                                                      escreval("Possui asas fixas?:")
                                                      leia(resposta)
                                                      se resposta = "sim" entao
                                                         escreval("O tranporte é um Avião")
                                                      senao
                                                         se resposta = "não" entao
                                                            escreval("O transporte é um Helicóptero")
                                                         senao
                                                            se resposta = "não" entao
                                                               escreval("O transporte é áquático?")
                                                               leia(resposta)
                                                               se resposta = "sim" entao
                                                                  escreval("É coberto d'água?")
                                                                  leia(resposta)
                                                                  se resposta = "sim" entao
                                                                     escreval("O transporte é um Submarino")
                                                                  senao
                                                                     se resposta = "não" entao
                                                                        escreval("Possui Vela?")
                                                                        leia(resposta)
                                                                        se resposta = "sim" entao
                                                                           escreval("O transporte é um barco")
                                                                        senao
                                                                           se resposta = "não" entao
                                                                              escreval("É alto?")
                                                                              leia(resposta)
                                                                              se resposta = "sim" entao
                                                                                 escreval("O transporte é um Navio")
                                                                              senao
                                                                                 se resposta ="não" entao
                                                                                    escreval("O transporte é uma lancha")
                                                                                 senao
                                                                                    se resposta = "não" entao
                                                                                       escreval("O transporte é inválido")
                                                                                    fimse
                                                                                 fimse
                                                                              fimse
                                                                           fimse
                                                                        fimse
                                                                     fimse
                                                                  fimse
                                                               fimse
                                                            fimse
                                                         fimse
                                                      fimse
                                                   fimse
                                                fimse
                                             fimse
                                          fimse
                                       fimse
                                    fimse
                                 fimse
                              fimse
                           fimse
                        fimse
                     fimse
                  fimse
               fimse
            fimse
         fimse
      fimse
   fimse
fimalgoritmo


Não sei se tá 100% corrigido... mas seria algo por aí.

Observe que não mexi nada em relação à lógica... apenas em relação a sintaxe e alguns pequenos detalhes.

No VisualG o que precisa é isso mesmo: implementar com o máximo de atenção. 😄

 

 

 

 

 

Agora... em relação à lógica do problema... creio que funciona com cadeias de se/senao... basicamente você precisaria reajustá-las... Veja, por exemplo, no início você pergunta se é terrestre... daí, a depender das respostas, estaria perguntando se é aérea... não faz sentido, percebe? (Oras! Eu já disse "sim' para terrestre., Não tem como ser aéreo.)

 

Indo direto ao ponto: agrupe características mutuamente exclusivas, ou seja, que "se for um, não pode ser outro". A dica geral é ir do mais genérico para o mais específico. Exemplo prático:

 

algoritmo "Jogo de Adivinhação"
var
   resposta : caractere

inicio
   escreval("Jogo de Adivinhação")
   escreval("Dentro os meios de transporte pense em um: ")
   escreval("- Trator")
   escreval("- Moto")
   escreval("- Bicicleta")
   escreval("- Trem")
   escreval("- Carro")
   escreval("- Caminhão")
   escreval("- Ônibus")
   escreval("- Paraquedas")
   escreval("- Balão")
   escreval("- Avião")
   escreval("- Helicóptero")
   escreval("- Submarino")
   escreval("- Barco")
   escreval("- Navio")
   escreval("- Lancha")
   escreval("")

   escreval("É terrestre?")
   leia(resposta)
   se (resposta = "sim") entao
      //aqui tudo que é terreste
      escreval("Entrou no TERRESTRE")
   senao
      escreval("É aéreo?")
      leia(resposta)
      se (resposta = "sim") entao
         //aqui tudo que é aéreo
         escreval("Entrou no AÉREO")
      senao
         escreval("É aquático?")
         leia(resposta)
         se (resposta = "sim") entao
            //aqui tudo que é aquático
            escreval("Entrou no AQUÁTICO")
         fimSe
      fimSe
   fimSE
fimalgoritmo


Já dá para ver que a complexidade é alta... entretanto dá para funcionar... 

 

Iniciando os terrestres:
 

algoritmo "Jogo de Adivinhação"
var
   resposta : caractere

inicio
   escreval("Jogo de Adivinhação")
   escreval("Dentro os meios de transporte pense em um: ")
   escreval("- Trator")
   escreval("- Moto")
   escreval("- Bicicleta")
   escreval("- Trem")
   escreval("- Carro")
   escreval("- Caminhão")
   escreval("- Ônibus")
   escreval("- Paraquedas")
   escreval("- Balão")
   escreval("- Avião")
   escreval("- Helicóptero")
   escreval("- Submarino")
   escreval("- Barco")
   escreval("- Navio")
   escreval("- Lancha")

   escreval("")

   escreval("É terrestre?")
   leia(resposta)
   se (resposta = "sim") entao
      escreval("É pesado?")
      leia(resposta)
      se (resposta = "sim") entao
         escreval("É um trator")
      senao
         escreval("Usa capacete?")
         leia(resposta)
         se (resposta = "sim") entao
            escreval("O transporte é uma moto")
         fimSe
      fimSe
      
      
   senao
      escreval("É aéreo?")
      leia(resposta)
      se (resposta = "sim") entao
         //aqui tudo que é aéreo
         escreval("Entrou no AÉREO")
         
         
      senao
         escreval("É aquático?")
         leia(resposta)
         se (resposta = "sim") entao
            //aqui tudo que é aquático
            escreval("Entrou no AQUÁTICO")
         fimSe
      fimSe
   fimSE
fimalgoritmo

 

Por aí vai... 

Veja que NÃO IMPORTA onde vou "começar a crescer o código". Se quiser, já dá para jogar uns aquáticos... tanto faz... isso ocorre porque os se (estruturas de seleção) servem justamente para isso: "selecionar um caminho". Também conhecido como "desvio condicional"..., ou seja, que "desvia o fluxo natural do programa"... 😉



DICA FUNDAMENTAL: sempre mantenha seu código indentado. No VisualG é só pressionar Ctrl+G. Vá se acostumando com os alinhamentos dos dentes... Digitou um trecho de código novo? Ctrl+G na veia... observe que se faltar, por exemplo, um fimSe, muda todo o alinhamento (indicando que tem algo errado).. daí vai lá e vê onde tá faltando... mas o ideal é após inserir um se, já procurar ver e inserir já o respectivo fimSe. O código vai ficar um balaio de gato, mas dá para dar certo.

 

 

Tentando por esse caminho que mostrei ou por outro, qualquer dúvida e comentários é só postar.

  • Obrigado 1
Postado

@Simon Viegas Caramba, muito obrigado viu. Vou repensar em todo o meu código e os futuros. Eu sabia que teria que estudar um pouco mais mas é muito importante, pra mim no começo dos estudos, ter uma ideia vinda de alguém mais experiente. Muito obrigado mesmo!

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!