Baixe o app para aproveitar ainda mais
Prévia do material em texto
22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 1/7 Local: A300 - Bloco A - 3º andar / Andar / Polo Tijuca / TIJUCA Acadêmico: VIRCLP-001 Aluno: DANDARA LESSA ARIGONY PEREIRA Avaliação: A2- Matrícula: 20171108604 Data: 30 de Maio de 2018 - 15:30 Finalizado Correto Incorreto Anulada Discursiva Objetiva Total: 7,50/10,00 1 Código: 24372 - Enunciado: No momento da escolha da linguagem, foi analisada a seguinte situação: quanto mais fácil for seguir as instruções de um programa, mais fácil será entender o que está sendo feito e também descobrir os erros de programação. Indique a qual critério refere-se essa situação. a) Modificabilidade. b) Reusabilidade. c) Facilidade de aprendizado. d) Redigibilidade. e) Legibilidade. Alternativa marcada: e) Legibilidade. Justificativa: Resposta correta: Legibilidade. É importante que os programas escritos sejam de fácil leitura e entendimento. Distratores: Redigibilidade. Errada. Está ligada à legibilidade do código e à simplicidade. Modificabilidade. Errada. Está ligada à facilidade de alteração do código. Reusabilidade. Errada. Está relacionada ao reaproveitamento de código desenvolvido para uma aplicação em outras. Facilidade de aprendizado. Errada. Está relacionada à facilidade de compreensão, criação e desenvolvimento do código. 0,50/ 0,50 2 Código: 24374 - Enunciado: Ao escrevermos um programa, trabalhamos com os conceitos de sintaxe e semântica. A sintaxe de uma linguagem de programação é definida formalmente por meio de uma gramática. Nesse contexto, para a criação de uma linguagem de programação, precisamos de um modelo ou forma a ser aplicado no processo de definição da sintaxe. A Backus-Naur Form – BNF tem sido a mais usada. Em relação à descrição da gramática na forma de Backus-Naur – BNF, trabalhamos com alguns conceitos, dentre eles o token, o qual podemos afirmar que: a) É uma coleção de regras. b) É o símbolo terminal. c) É uma linguagem usada para descrever outra. d) É a sequência de strings se separados pelo símbolo. e) É uma definição de uma abstração. Alternativa marcada: a) É uma coleção de regras. Justificativa: Resposta correta: É o símbolo terminal. Os tokens também são chamados de lexamas e representam os símbolos terminais. Distratores: É uma linguagem usada para descrever outra. Errada. Corresponde à metalinguagem. É uma coleção de regras. Errada. Corresponde à gramática. É uma definição de uma abstração. Errada. Corresponde à produção. É a sequência de strings se separados pelo símbolo. Errada. Corresponde à derivação. Em cada etapa, um não terminal é substituído pelo lado direito de uma de suas produções. 0,00/ 0,50 3 Código: 24787 - Enunciado: A linguagem Lisp foi a primeira linguagem funcional, desenvolvida por John McCarthy, em 1958, com influências do cálculo de lambda. Com base nessa afirmação, analise as assertivas a seguir. É com apenas esses dois tipos de dados que se constroem as expressões-S, as estruturas basilares de Lisp. A não dependência das operações de atribuição permite aos programas avaliações nas mais diferentes ordens. Lisp, em relação a outras linguagens funcionais mais recentes, é fortemente tipada. É correto afirmar o que se afirma em: a) Apenas I. b) I e II. c) I e III. d) Apenas II. e) II e III. Alternativa marcada: 1,50/ 1,50 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 2/7 b) I e II. Justificativa: Resposta correta: I e II. Explicam adequadamente a linguagem Lisp, de acordo com suas estruturas e possibilidade de cálculo de lambda. Distrator: A afirmatiiva III está errada, pois a tipagem é fraca em relação a outras linguagens funcionais. 4 Código: 24375 - Enunciado: Analise as afirmativas, a seguir, relativas à vinculação a que está relacionada a associação entre nomes e a sua identificação. A vinculação de um símbolo e a operação a que está associado ocorre em tempo de compilação. A vinculação de uma variável ao endereço de memória, responsável pelo armazenamento do dado, ocorre em tempo de carga. A vinculação de dinâmica de variáveis a endereços de memória, de forma explícita ou implícita, ocorre em tempo de ligação. A vinculação de um tipo de dado e o conjunto de valores, que podem ser associados, ocorre em tempo de implementação da linguagem. Está correto o que se afirma em: a) II e III. b) II e IV. c) I, II e IV. d) I e II. e) I, III e IV. Alternativa marcada: b) II e IV. Justificativa: Resposta correta: II e IV. Distratores: A afirmativa I está incorreta, pois a vinculação de um símbolo e a operação, a que está associado, ocorre em tempo de projeto da linguagem. A afirmativa III também está incorreta, pois a vinculação de dinâmica de variáveis a endereços de memória, de forma explícita ou implícita, ocorre em tempo de execução. 1,50/ 1,50 5 Código: 24788 - Enunciado: As variáveis em Ruby são digitadas dinamicamente, o que significa que qualquer variável pode conter qualquer tipo de objeto. Nesse contexto, quando você chama um método em um objeto, o Ruby lança o método pelo nome sozinho, não importando o tipo de objeto. Diante disso, pode-se afirmar que o escopo de uma variável global é: a) %x. b) @x. c) @@x. d) x. e) $x. Alternativa marcada: d) x. Justificativa: Resposta correta: $x. A sintaxe, para apresentarmos o escopo de uma variável global, é @@nomeVariável. Distratores: As demais alternativas estão errada de acordo com suas respectivas justificavas a seguir: x – Escopo de variável local. @x – Escopo de variável de instância. @@x – Escopo de variável de classe. %x – Não representa escopo de variável. 0,00/ 0,50 6 Código: 24779 - Enunciado: A maioria das linguagens de programação modernas disponibiliza uma estrutura de controle de fluxo alternativa, denominada tratamento de exceções. Essa estrutura permite que o fluxo de programa seja desviado, quando uma instrução desencadeia uma situação de anormalidade ou quando há uma situação atípica em uma compilação. Referente à linguagem Java, avalie as afirmativas a seguir. Na geração de exceções, utilizamos a palavra reservada throw para o retorno normal de valores por um método. A forma mais comum de uso é por meio da estrutura try-catch-finally. Finally é uma cláusula opcional nessa estrutura e é responsável por executar ações de finalização do trecho de código, sendo usada, normalmente, para a liberação de recursos abertos. Na hierarquia de classes para tratamento de exceções, a classe error mapeia os erros na execução do código Java. É correto apenas o que se afirma em: a) I e III. b) II e III. c) III e IV. d) II e IV. e) I e II. 1,50/ 1,50 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 3/7 Alternativa marcada: b) II e III. Justificativa: Resposta correta: II e III. Aplicaram a linguagem Java apropriadamente, conforme as descrições das afirmativas. Distratores: A afirmativa I está incorreta, pois a palavra reservada é return. A afirmativa IV está incorreta, pois a classe é exception. 7 Código: 24781 - Enunciado: Em algumas linguagens de programação, como Java, podemos trabalhar com o tratamento de exceção e o tratamento de eventos. Sintetize o processo de tratamento de eventos. Resposta: Justificativa: Expectativa de resposta: O tratamento de eventos efetua um desvio no controle de fluxo de forma a executar um determinado trecho de código associado ao evento disparado. Ele desvia para um trecho de execução específico, determinado pelo programador, de forma a atender a uma requisição normalmente do usuário.Um evento é, geralmente, disparado por um usuário quando da interação desse com uma interface gráfica. 2,50/ 2,50 8 Código: 24376 - Enunciado: A compilação consiste na tradução do código fonte em transformar um programa fonte, descrito em linguagem de alto nível, em código de máquina. Dessa forma, explique as quatro fases do processo da compilação. Resposta: Comentários: Resposta correta: As fases da compilação estão explicadas a seguir. • Análise léxica: agrupa os caracteres do programa fonte em unidades léxicas. • Análise sintática: transforma unidades léxicas em árvores de analise sintática (parse trees), que representam a estrutura sintática do programa. • Análise semântica: gera código intermediário. • Geração de código: é gerado o código de máquina. Justificativa: Expectativa de resposta: As fases da compilação estão explicadas a seguir. Análise léxica: agrupa os caracteres do programa fonte em unidades léxicas. Análise sintática: transforma unidades léxicas em árvores de analise sintática (parse trees), que representam a estrutura sintática do programa. Análise semântica: gera código intermediário. Geração de código: é gerado o código de máquina . 0,00/ 1,50 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 4/7 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 5/7 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 6/7 (https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2018/06/08/6444189c- 6b11-11e8-bef8-0242ac110004.jpg? Signature=bzeGF%2FX20fL6AFVNMbTnEJYRxJM%3D&Expires=1548167905&AWSAccessKeyId=AKIAJ5OVDHP63TNW 22/01/2019 Ilumno http://ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/1413225/05a4236a-0a8f-11e7-a296-0242ac110014/ 7/7 (https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2018/06/08/662f048c- 6b11-11e8-bef8-0242ac110004.jpg? Signature=SwmfMCTohNYYzcCmYmqt5TLmXKo%3D&Expires=1548167905&AWSAccessKeyId=AKIAJ5OVDHP63TNW
Compartilhar