Questões de Concurso Público IF Sul Rio-Grandense 2025 para Professor EBTT - Área 13, 17, 20, 25, 42: Informação e Comunicação I
Foram encontradas 27 questões
let [a, ...b] = [1, 2, 3, 4]; console.log(b);
Após a execução do código, qual será o conteúdo da variável b?
document.querySelectorAll('.openModal') .forEach(btn => btn.addEventListener('click', () => { const modal = document.createElement('div'); modal.classList.add('modal'); modal.innerHTML = `<div class="modal-content"> <h2>Hello World!</h2> <p>This is my website</p> <button id="closeModal">Fechar</button> </div>`; modal.querySelector('#closeModal') .addEventListener('click', () => modal.remove()); document.body.appendChild(modal); }));
Com base no código acima, analise as seguintes afirmações sobre o comportamento esperado do site e identifique a INCORRETA:
const numbers = [1, 2, 3]; numbers[5] = 6; console.log(numbers.length);
Após a execução do código, qual será o valor exibido no console?
function func1(msg, num) { return msg+num; } let msg = "10"; let num = 10; let result = func1(msg,num); console.log(result);
Qual será o resultado apresentado após a execução do código?
async function getTodoData() { try { const response = await fetch('https://jsonplaceholder.typicode.com/todos/1'); const data = await response.json(); console.log(data.title); } catch (e) { console.log("Erro ao buscar dados"); } } getTodoData(); console.log("Depois de getTodoData");
O código faz uma requisição à URL 'https://jsonplaceholder.typicode.com/todos/1' e, caso a resposta seja recebida com sucesso, o conteúdo será
{"userId":1,"id":1,"title":"delectus aut autem","completed":false}
Quais serão as duas saídas apresentadas no console quando o código for executado?
Qual das afirmações que seguem descreve corretamente o comportamento desses comandos?
const numeros = [10, 5, 8, 1, 7]; const final = numeros .sort((a,b) => b - a) .map(num => num * 3) .filter(num => num % 2 === 0); console.log(final);
O conteúdo do array final após a execução do código será:
const pessoa = { nome: 'Alice', saudar: function() { const saudacaoRegular = function() { console.log(`Olá, meu nome é ${this.nome}`); }; const saudacaoArrow = () => { console.log(`Olá, meu nome é ${this.nome}`); }; saudacaoRegular(); saudacaoArrow(); } }; pessoa.saudar();
A saída no console da execução do código apresentado será:
Com relação ao tema apresentado, analise as afirmativas a seguir:
I. O laço for...of é usado para iterar diretamente sobre os valores de objetos iteráveis, como arrays e strings.
II. O laço for...in é usado para iterar sobre as propriedades enumeráveis (chaves) de um objeto.
III. O laço for...of pode ser utilizado para iterar sobre as propriedades de objetos que não sejam iteráveis.
IV. O laço for...in retorna os valores dos elementos de um array, enquanto for...of retorna os índices do array.
Estão corretas apenas as afirmativas
Considere o seguinte código que faz uso desses conceitos.
const products = [ { id: 1, name: 'Laptop', price: 1500, available: true }, { id: 2, name: 'Phone', price: 800, available: false }, { id: 3, name: 'Tablet', price: 600, available: true } ]; const availableProducts = products .filter(product => product.available) .map(product => ({ ...product, price: product.price * 0.9 })); const finalProductList = [ ...availableProducts, { id: 4, name: 'Monitor', price: 300, available: true } ]; console.log(finalProductList[1]);
Considerando o código acima, qual das alternativas a seguir descreve corretamente o que será impresso no console após a execução do código?
A restrição apresentada na classe "Colaborador" é um exemplo de qual conceito de programação orientada a objetos?
class BombaDeCombustivel{ int id; private float qtde; private float precoTotal; public static precoPorLitro = 6.10;
public void setQtde(float qtde){ this.qtde = qtde; this.precoTotal = qtde*this.precoPorLitro; } }
Sobre o(os) atributo(s) da classe BombaDeCombustivel, é correto afirmar que
As palavras que preenchem a sentença, completando-a corretamente, são:
Os padrões de criação abstraem o processo de instanciação. Eles ajudam a tornar um sistema independentemente de como seus objetos são criados, compostos e representados.
Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto. Os padrões de criação se tornam importantes à medida que os sistemas evoluem no sentido de depender mais da composição de objetos do que da herança de classes.
Algumas vezes, os padrões de criação competem entre si. Por exemplo, há casos em que tanto Prototype (121) como Abstract Factory (95) podem ser usados proveitosamente.
Em outras ocasiões, eles são complementares: Builder (104) pode usar um dos outros padrões para implementar quais componentes são construídos. Prototype (121) pode usar Singleton (130) na sua implementação.
Dessa forma, é importante identificar as características de cada padrão.
Faça a associação correta entre as colunas, relacionando o tipo de padrão e suas características.
1-Abstract Factory (95). 2-Builder (104). 3-Factory Method (112). 4-Prototype (121). 5-Singleton (130).
A- Fornece uma interface para criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes concretas.
B- Garante que uma classe tenha somente uma instância e fornece um ponto global de acesso para ela.
C- Especifica os tipos de objetos a serem criados, usando uma instância prototípica, e cria novos objetos copiando este protótipo.
D- Separa a construção de um objeto complexo da sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
E- Define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe a ser instanciada. Permite a uma classe postergar (defer) a instanciação às subclasses.
Qual é a associação correta entre números e letras?
Texto publicado no XXXVI Congresso da Sociedade Brasileira de Computação diz que
“A Programação Orientada a Objetos (POO) mostra-se um paradigma de programação, influente, pelo qual a maior parte dos cursos da área de computação incluem a POO como parte de seus currículos. No entanto, o ensino de POO não é uma tarefa trivial.
Há alertas sobre as dificuldades encontradas por alunos e professores no ensino de POO; os autores apontam que é difícil para os alunos entenderem conceitos abstratos como classes, instâncias, encapsulamento, herança e construtores.
Apesar de muitos esforços terem sido feitos desde então, as disciplinas de programação ainda são responsáveis por um alto índice de reprovação nos cursos de computação.”
Considerando os conceitos de Programação Orientada a Objetos, avalie as seguintes asserções e a relação proposta entre elas:
I. A herança de classes é uma das principais características da Programação Orientada a Objetos (POO). Por meio dessa característica do paradigma POO, um objeto recebe características e comportamentos de outro objeto. Quando estiver criando classes, você vai perceber que essa possibilidade permite o reaproveitamento de código e torna o trabalho mais racional e otimizado.
PORQUE
II. Novas classes podem ser definidas em termos das classes existentes, usando-se herança de classe. Quando uma subclasse herda de uma classe-mãe, ela inclui as definições de todos os dados e operações que a classe-mãe define. Os objetos que são instâncias das subclasses conterão todos os dados definidos pela subclasse e suas classes mãe, e eles serão capazes de executar todas as operações definidas por esta subclasse e seus “ancestrais”.
A respeito dessas asserções, qual é a opção correta?
I- Private Torna a variável visível apenas para sua classe.
II- Protected A variável só é visível para a classe que foi criada e suas herdeiras.
III- Public Pode ser acessada de qualquer classe.
IV- Sem modificadores A variável pode ser usada por todas as classes do programa.
Estão corretas apenas as afirmativas
Com relação ao tema apresentado, analise as afirmativas a seguir:
I. Na ligação dinâmica, um método será executado sempre da mesma maneira, independentemente do objeto ou da interação.
II. Na ligação dinâmica, a vinculação tardia é realizada com base na referência armazenada na variável da superclasse, selecionando o método correspondente em tempo de execução.
III. A ligação dinâmica permite determinar, em tempo de execução, qual versão de um método será chamada com base no objeto.
IV. A ligação dinâmica permite que classes, que compartilham a mesma interface, forneçam suas próprias implementações de um mesmo método.
Estão corretas apenas as afirmativas
Tendo como referência o tema classes concretas, classes abstratas e métodos abstratos, analise as afirmativas abaixo, assinalando V, para as Verdadeiras, e F, para as Falsas.
( ) As classes concretas atuam como modelos que definem um conjunto de características e comportamentos que suas subclasses devem seguir, sem estarem diretamente associadas a objetos.
( ) Superclasses abstratas obrigam suas subclasses a sobrescrever e implementar os métodos declarados como abstratos.
( ) Uma subclasse concreta deve fornecer implementações concretas de todos os métodos abstratos herdados da superclasse; caso contrário, será considerada abstrata também.
A sequência correta, de cima para baixo, é:
Sobre o tema modificadores, associe os termos às descrições, utilizando os códigos a seguir:
I. static. II. public. III. private. IV. protected.
( ) Ao ser definido em um elemento, significa que pode ser acessado apenas dentro da mesma classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado apenas entre classes que se relacionam em uma hierarquia de herança.
( ) Ao ser definido em um elemento, significa que pertence à classe, em vez de pertencer a instâncias individuais dessa classe.
( ) Ao ser definido em um elemento, significa que pode ser acessado por qualquer classe, seja dentro ou fora do pacote da classe.
A associação correta, de cima para baixo, é:
A respeito do conceito apresentado, avalie as asserções a seguir e a relação proposta entre elas:
I. O polimorfismo por sobrecarga em Java permite que métodos com o mesmo nome executem diferentes comportamentos com base no número ou no tipo de parâmetros fornecidos.
II. No polimorfismo por sobrecarga, a escolha de qual método será invocado é feita em tempo de execução, permitindo maior flexibilidade no comportamento dinâmico dos objetos.
Após feita a análise, é correto afirmar que