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 atrás por Daniel C. Cunha.
-
AutorPosts
-
-
2 de novembro de 2023 às 12:58 #126001Daniel C. CunhaParticipante
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.. “)
}
} -
3 de novembro de 2023 às 10:43 #126028Tutora JessicaModerador
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.-
3 de novembro de 2023 às 14:24 #126030Daniel C. CunhaParticipante
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!
-
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.