Buscar

A2 Conceitos de Linguagem de Programação UVA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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