Home › Fóruns › Programação Básica › M3A053 – Dúvidas sobre erro: “Expressões fora do escopo”
Marcado: expressões fora do escopo
- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 1 ano, 12 meses atrás por Daniel C. Cunha. 
- 
		AutorPosts
- 
		
			- 
2 de novembro de 2023 às 12:58 #126001Daniel C. Cunha ParticipanteBoa 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.. “) 
 }
 }
- 
3 de novembro de 2023 às 10:43 #126028Tutora Jessica ModeradorOlá 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.- 
3 de novembro de 2023 às 14:24 #126030Daniel C. Cunha ParticipanteBoa 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!
 
- 
 
- 
- 
		AutorPosts
- Você deve fazer login para responder a este tópico.
