M3A053 – Dúvidas sobre erro: “Expressões fora do escopo”

Home Fóruns Programação Básica M3A053 – Dúvidas sobre erro: “Expressões fora do escopo”

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #126001
      Daniel C. Cunha
      Participante

      Boa tarde, tenho dúvidas no exercício 053, mas o exercício em si eu consegui fazer…

      O que acontece, é que coloco as vezes uma expressão como “comentario” ( // ou /* */ )para fazer uma outra expressão e testar sem apagar a última.

      E nesse procedimento, começou a gerar um erro que mesmo colocando expressões corretas fora do comentário…o fato de ter uma espressão como

      comentário, o Portugol Studio me mostra uma mensagem de erro: “Não são permitidas expressões fora do escopo do programa”

      ATÉ EU ENTENDER QUE ISSO ERA POR CONTA DE UM COMENTÁRIO… EU QUASE TAQUEI O LAPTOP PELA JANELA

      programa é esse abaixo… veja que fiz somente as validações do exercício…e se colocar para rodar verão que ele da erro, e se tirar o comentário lá debaixo >>> ( /* } enquanto (nao(opcao == ‘N’ ou opcao == ‘n’)) */ ) <<<, no segundo enquanto…ele irá rodar tranquilamente
      OBS : esse erro me fez criar uma Flag para resolver…mas sei que essa não é a melhor opção e já corrigi, fiz assim pois o erro me fez achar que eu estava errando o codigo…

      {
      inclua biblioteca Tipos –> t
      funcao inicio()
      {
      inteiro num, cont, soma
      cadeia teclado
      caracter opcao = ‘S’, flag = ‘S’

      escreva(“Início.. “)

      faca {
      enquanto (verdadeiro) {
      escreva(“\nDIGÍTE UM NÚMERO (ENTRE 1 E 10): “)
      leia(teclado)
      se (t.cadeia_e_inteiro(teclado,10)) {
      num = t.cadeia_para_inteiro(teclado,10)
      se (num > 0 e num <= 10) {
      escreva(teclado)
      pare
      } senao {
      escreva(“\nO número deve estar entre 1 e 10 “)
      }
      } senao {
      escreva(“\n<<< O valor digitado deve ser um número >>>”)
      }
      }
      enquanto (verdadeiro) {
      escreva(“\nCONTINUAR? [S/N] “)
      leia(opcao)
      se (opcao == ‘N’ ou opcao == ‘n’) {
      escreva(“\nSaindo.. “)
      flag = ‘N’
      pare
      } senao se (opcao == ‘S’ ou opcao == ‘s’) {
      escreva(“OK!”)
      pare
      } senao {
      escreva(“\n<<< ERRO! Deve digitar [S] sim ou [N] Não. >>>”)
      }
      }
      /* } enquanto (nao(opcao == ‘N’ ou opcao == ‘n’)) */
      } enquanto (nao(flag == ‘N’))

      escreva(“\nEncerrado.. “)
      }
      }

    • #126028
      Tutora Jessica
      Moderador

      Olá Daniel, quando você retira os */ funciona normalmente? aqui persiste que o erro não esta ali.. você consegue me enviar um print do seu código funcionando pelo discord?
      Obs: Peço para que quando for postar aqui no fórum, dê uma olhadinha se já não existe um tópico criado do mesmo exercício, assim conseguimos deixar o fórum mais organizado e ajudar a mais alunos com a mesma dúvida.

      • #126030
        Daniel C. Cunha
        Participante

        Boa tarde,
        Quando retiro o comentário funciona sim… e enviarei o print lá no Discord…
        E vou colocar minhas dúvidas num local mais refinado pela pesquisa da proxima vez….falta de hábito.
        Obrigado!

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