Prévia do material em texto
11/17/22, 3:46 PM Ilumno ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/7685815/7e8b1d10-9b48-11e8-a84c-0242ac110030/ 1/5 Place: Sala 7 - TJ - Prova On-line - Disciplinas On-line / Andar / Polo Tijuca / TIJUCA Academic: VIRCLP-001 Candidate: PEDRO HENRIQUE CANAVITSAS Assessment: A2- Registration: 20182100350 Date: Nov. 5, 2022 - 8 a.m. Finished Correto Incorreto Anulada Discursive Objective Total: 10.00/10.00 1 Código: 24786 - Enunciado: Segundo Varejão, dá-se o nome de paradigma a um conjunto de características que servem para categorizar um grupo de linguagens. Existem diversas classificações de paradigmas de LPs, sendo a mais comum a que divide os paradigmas em imperativo, orientado a objetos, funcional e lógico. Em relação ao paradigma imperativo, considere as afirmativas a seguir. I. A programação imperativa é um paradigma de programação de computador o qual descreve “o que” um programa deve realizar. II. A linguagem ADA suporta o paradigma estruturado, enquanto a linguagem Ruby suporta o paradigma orientado a objetos. III. A programação orientada a objetos fornece mais reutilização e menor dependência de função do que a programação estruturada. IV. A programação estruturada é mais segura quanto ao recurso de ocultar dados do que a programação orientada a objetos. Object oriented programming provides more reusability, less function dependency . Está correto apenas o que se afirma em: a) Somente as afirmativas II e III são corretas. b) Somente as afirmativas II e IV são corretas. c) Somente as afirmativas I e III são corretas. d) Somente as afirmativas I e II são corretas. e) Somente as afirmativas III e IV são corretas. Alternativa marcada: a) Somente as afirmativas II e III são corretas. Justification: Resposta correta: Somente as afirmativas II e III são corretas. A programação orientada a objetos considera que o que realmente nos interessa são os objetos os quais queremos manipular e não a lógica necessária para manipulá-los. O primeiro passo na programação orientada a objetos é identificar todos os objetos que o programador deseja manipular e como eles se relacionam. Uma vez que um objeto foi identificado, ele é generalizado como uma classe de objetos a qual define o tipo de dados que contém e as sequências de lógica que podem manipulá-lo. Cada sequência lógica distinta é conhecida como um método. Os objetos se comunicam com interfaces bem definidas por meio de chamadas com troca de mensagens. Distratores: A afirmativa I está errada, pois a programação imperativa descreve “como” realizar e não “o que” realizar. A afirmativa IV está errada, pois a programação estruturada é menos segura, pois não há como se esconder. 1.00/ 1.00 2 Código: 24373 - Enunciado: Segundo Varejão, uma Linguagem de Programação (LP) é um instrumento utilizado pelo profissional de computação para escrever programas, isto é, conjuntos de instruções a serem seguidas pelo computador para realizar um determinado processo. Nesse contexto, sabe-se que as linguagens de programação podem ser classificadas quanto ao nível, à geração e ao paradigma. No que se refere à classificação das linguagens de programação quanto ao nível, considere: I. As linguagens de baixo nível possuem o gerenciamento direto de memória.II. As linguagens de médio nível são voltadas para o uso da semântica para a construção das instruções e levam em consideração o entendimento humano para a construção das linguagens.III. As linguagens de alto nível possuem sintaxe mais flexível e maior portabilidade. Está correto apenas o que se afirma em: a) II e III estão corretas. b) I e III estão corretas. 1.00/ 1.00 Free Hand Free Hand Free Hand Free Hand 11/17/22, 3:46 PM Ilumno ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/7685815/7e8b1d10-9b48-11e8-a84c-0242ac110030/ 2/5 c) III está correta. d) II está correta. e) I e II estão corretas. Alternativa marcada: b) I e III estão corretas. Justification: Resposta correta: I e III estão corretas.A afirmativa I está correta, pois as linguagens de baixo nível estão diretamente relacionadas com a arquitetura do computador.A afirmativa III está correta, pois o objetivo principal das linguagens de alto nível é facilitar a maneira de programar, fazendo com que o programador se expresse de maneira mais simples. Distrator:A afirmativa II está incorreta, pois são as linguagens de nível alto que são voltadas para o uso da semântica para a construção das instruções e levam em consideração o entendimento humano para a construção das linguagens. 3 Código: 25990 - Enunciado: Na linguagem Ruby não há a necessidade de declarar as variáveis. Nesse contexto, o nome da variável automaticamente determina seu escopo. Quanto ao escopo, as variáveis podem ser variáveis locais, variáveis globais, variáveis de instância e variáveis de classe. Diante disso, marque a alternativa que apresenta corretamente o escopo de uma variável global. a) @nr b) nr c) &nr d) @@nr e) $nr Alternativa marcada: e) $nr Justification: Resposta correta: $nr. Correta, pois a convenção de nomes diz que essas variáveis devem ter seu nome começando com $. Distratores:nr. Incorreta, pois representa o escopo de uma variável local.@nr. Incorreta, pois representa o escopo de uma variável de instância.@@nr. Incorreta, pois representa o escopo de uma variável de classe.&nr. Incorreta, pois há erro de sintaxe, uma vez que & não define nenhum escopo de variável. 1.00/ 1.00 4 Código: 25972 - Enunciado: Uma função é um módulo que recebe nenhum, um, ou mais parâmetros, realiza a solução de uma tarefa e pode ou não retornar valores. Diante disso, marque a alternativa que apresenta corretamente a função que foi implementada em Pyhton. a) function diferenca (x, y) return x-y end b) def diferenca (x,y): x -y c) function diferenca (x, y) { return x -y;} d) int diferenca(x,y) {return x-y;} e) define diferenca(x,y): x-y Alternativa marcada: b) def diferenca (x,y): x -y Justification: Resposta correta: def diferenca (x,y): x -y.Correta, pois a sintaxe de uma função é definida por três partes: nome, parâmetros e corpo, a qual agrupa uma sequência de linhas que representa algum comportamento.Formato geral: def nome (arg, arg, ... arg): comando . . . comando Distratores: function diferenca (x, y) { return x -y;}. Incorreta, pois foi implementada em JavaScript.function diferenca (x, y) return x-y end. Incorreta, pois foi implementada em 1.00/ 1.00 11/17/22, 3:46 PM Ilumno ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/7685815/7e8b1d10-9b48-11e8-a84c-0242ac110030/ 3/5 Lua.int diferenca(x,y) {return x-y;}. Incorreta, pois foi implementada em Cdefine diferenca(x,y): x- y. Incorreta, pois define não existe. 5 Código: 25979 - Enunciado: 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, e a forma de Backus- Naur Form (BNF) tem sido a mais usada. Dado o comando: soma = salario – desconto; , o qual é representado na BNF da seguinte forma: <atribuição> → <var> = <expressão> , analise as afirmativas a seguir. I. O termo soma representa abstração <var>.II. O símbolo = representa um token.III. O termo salario – desconto representa um lexema. Está correto apenas o que se afirma em: a) I e III estão corretas. b) I está correta. c) I e II estão corretas. d) I, II e III estão corretas. e) II e III estão corretas. Alternativa marcada: c) I e II estão corretas. Justification: Resposta correta: I e II estão corretas.A afirmativa I está correta, pois BNF usa abstrações para estruturas sintáticas.A afirmativa II está correta, pois um token é uma categoria de lexemas, exemplo: identificardor, nesse caso =. Distrator:A afirmativa III está incorreta, uma vez que um lexama são os símbolos terminais e, nesse caso, o termo salário-desconto representa abstração <expressão>. 1.50/ 1.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) II e IV. b) III e IV. c) I e II. d) II e III. e) I e III. Alternativa marcada: d) II e III. Justification: 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. 1.50/ 1.50 7 1.50/ 1.50 11/17/22, 3:46 PM Ilumno ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/7685815/7e8b1d10-9b48-11e8-a84c-0242ac110030/ 4/5 Código: 26430 - Enunciado: Analise o código em Java a seguir. public class exemplo { public static void main(String[] args) { int a=5, b=6; double c=7.5; System.out.println("Soma: " + (a+b)); a++; System.out.println("Soma: " + (a+c)); }} Analisando o exposto, pode-se inferir que: a) O código apresenta uma forma distinta de sobrecarga de operadores. b) O código trabalha com a sobrecarga de métodos e operadores. c) O código não trabalha com o conceito de sobrecarga de operadores. d) O código apresenta duas formas distintas de sobrecarga de operadores. e) O código apresenta quatro formas distintas de sobrecarga de operadores. Alternativa marcada: e) O código apresenta quatro formas distintas de sobrecarga de operadores. Justification: Resposta correta: O código apresenta quatro formas distintas de sobrecarga de operadores. O operador + está sendo usado como operador de soma, (a+B) e (a+c), operador de incremento, a++, e operador de concatenação, System.out.println("Soma: " + ...). Distratores:O código não trabalha com o conceito de sobrecarga de operadores. Errada. O operador + está trabalhando com sobrecarga de operadores nas seguintes situações: "Soma: " +, (a+b), a++ e (a+c).O código trabalha com a sobrecarga de métodos e operadores. Errada. A sobrecarga de métodos se caracteriza pela definição de funções ou métodos com o mesmo identificador em um mesmo programa ou classe, o que não ocorre.O código apresenta uma forma distinta de sobrecarga de operadores. Errada. O operador + está trabalhando com sobrecarga de operadores nas seguintes situações: "Soma: " +, (a+b), a++ e (a+c), ou seja, quatro formas, e não uma única forma.O código apresenta duas formas distintas de sobrecarga de operadores. Errada. O operador + está trabalhando com sobrecarga de operadores nas seguintes situações: "Soma: " +, (a+b), a++ e (a+c), ou seja, quatro formas, e não duas. 8 Código: 25976 - Enunciado: A programação imperativa é um paradigma de programação de computador em que o programa descreve uma sequência de etapas a serem executadas. No que se refere ao paradigma imperativo, considere as afirmações a seguir. I. A programação estruturada fornece menos reutilização, mais dependência de funções.II. A programação orientada a objetos é mais segura quanto ao recurso de ocultar dados.III. Programação estruturada suporta herança, encapsulamento, abstração, polimorfismo etc. Está correto apenas o que se afirma em: a) I, II e III estão corretas. b) I está correta. c) II e III estão corretas. d) I e II estão corretas. e) I e III estão corretas. Alternativa marcada: d) I e II estão corretas. Justification: Resposta correta: I e II estão corretas.A afirmativa I está correta pois a programação estruturada consegue organizar o fluxo de controle de execução dos programas desestimulando o uso de comandos de desvio incondicional e incentivando a divisão dos programas em subprogramas e em blocos aninhados de comandos.A afirmativa II está correta pois as linguagens orientado a objetos enfocam as abstrações de dados como elemento básico de programação. Distrator:A afirmativa III está incorreta, uma vez que é a programação orientada a objetos que trabalha com os conceitos de herança, encapsulamento. 1.50/ 1.50 11/17/22, 3:46 PM Ilumno ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/7685815/7e8b1d10-9b48-11e8-a84c-0242ac110030/ 5/5