Em programação por eventos, o que determina o escopo de uma variável declarada dentro de um manipulador de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Usar autômatos para descrever comportamentos de forma abstrata automatizando-os através de uma linguagem de programação baseada em eventos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em programação por eventos, o que determina o escopo de uma variável declarada dentro de um manipulador de evento (handler)?
- A) O escopo é local ao handler; a variável existe apenas durante a execução do evento.
- B) O escopo é fixo; a variável só existe durante a execução de todo o programa.
- C) O escopo é baseado em funções; a variável vive apenas na primeira função que a chama.
- D) O escopo é global; a variável pode ser acessada de qualquer parte do código.
- E) O escopo é por classe; a variável se torna membro da classe que contém o handler.
✅ Resposta correta: alternativa A
Resolução passo a passo
- A questão pergunta o que determina o escopo de uma variável declarada dentro de um manipulador de evento (handler), que é uma função ou procedimento chamado pelo sistema quando um evento ocorre (clique, tecla pressionada, etc.).
- Em linguagens com escopo léxico, como a maioria das linguagens usadas em programação por eventos (JavaScript, Java, C#, Python), uma variável declarada dentro do corpo de uma função existe apenas dentro daquele bloco. Assim, um handler funciona como uma função: suas variáveis locais são criadas quando o evento dispara e deixam de existir ao término da execução do handler.
- Portanto, a alternativa correta é a A, pois o escopo é local ao handler e a variável existe apenas durante a execução do evento.
- A alternativa B está errada, porque variáveis locais não existem durante todo o programa; elas são destruídas ao fim da execução do handler.
- A alternativa C está errada, porque o escopo não é determinado por 'primeira função que chama', e sim pelo bloco onde a variável foi declarada.
- A alternativa D está errada, porque uma variável declarada dentro do handler não é global e não pode ser acessada de qualquer parte do código.
- A alternativa E está errada, porque o handler não cria membro de classe a partir de uma variável local, salvo se a variável for explicitamente declarada como atributo.
- O gabarito oficial (A) está correto.
💡 Dica: Considere o conceito de escopo em programação.
Alternativa por alternativa
Variáveis declaradas dentro de um handler são locais: alocadas no contexto da chamada do evento e não acessíveis fora dele, evitando colisões com variáveis globais.
O aluno confunde variável local com variável de duração permanente, imaginando que a variável persiste enquanto o programa roda.
Por que engana: Confundir escopo local com escopo global, acreditando que a variável pode ser acessada fora do handler.
O aluno associa o escopo à cadeia de chamadas de funções, achando que a variável pertence à primeira função que a invoca, o que não corresponde ao bloco de declaração.
O aluno acredita que, por o handler ser disparado pelo sistema, tudo o que é criado nele fica disponível globalmente, usando uma intuição do cotidiano de que 'se o evento aconteceu, a informação é pública'.
O aluno supõe que um handler pertence a uma classe e que qualquer variável declarada nele vira automaticamente um membro (atributo) dessa classe.
Raio-X da questão
escopo de variáveis
avaliacao
escopo de variáveis · programação por eventos
Revisar os conceitos de escopo de variáveis em programação.
Confundir escopo local com escopo global, acreditando que a variável pode ser acessada fora do handler.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um programa, qual é a diferença de escopo entre uma variável declarada dentro de uma função (variável local) e uma…
- Em programação por eventos, o que é um handler de evento e qual é seu papel ao processar um evento recebido pelo…
- Em linguagens de programação orientadas a eventos, o que é um 'handler' (manipulador de eventos) e qual sua função…
- Em um algoritmo, qual é a função do escopo de uma variável no tratamento de dados e nomes de variáveis?
- Em programação por eventos, qual é o papel de uma variável 'estado' em um autômato dirigido por eventos ao processar uma…
- Em um algoritmo que contém uma função que soma elementos de uma lista e usa uma variável contador temporária dentro…
Todas as questões de Programação - Autômatos e linguagens baseadas em eventos
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
