Questões de Concurso Sobre programação

Foram encontradas 12.823 questões

Q3208900 Programação
A Programação Orientada a Objetos (POO) é um paradigma de programação que revolucionou a forma como desenvolvemos software. Baseada em conceitos como encapsulamento, herança e polimorfismo, a POO oferece uma abordagem estruturada e modular para o desenvolvimento de sistemas complexos. No campo da educação, especialmente no ensino de POO, pesquisadores têm buscado métodos que facilitem o processo de aprendizagem, já que muitas vezes, alunos enfrentam dificuldades para compreender esses conceitos abstratos.

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?
Alternativas
Q3208899 Programação
Os padrões de projeto são classificados por dois critérios: finalidade e escopo. O primeiro critério, chamado finalidade, reflete o que um padrão faz. Os padrões podem ter finalidade de criação, estrutural ou comportamental.

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?
Alternativas
Q3208898 Programação
Quando um objeto é criado em programação orientada a objetos, o método responsável por inicializar o objeto é conhecido como __________. Esse método deve ter o mesmo nome da __________ e pode ser usado para definir valores iniciais para os atributos do objeto. Por exemplo, em um restaurante que vende comida por quilo, o peso do prato pode ser descontado automaticamente da pesagem total por meio desse método. Caso não haja valores fornecidos, os atributos do objeto assumem __________ que foram definidos previamente.
As palavras que preenchem a sentença, completando-a corretamente, são:
Alternativas
Q3208897 Programação
Um programador está desenvolvendo um sistema utilizando o paradigma de programação orientada a objetos para um posto de combustível. Neste contexto, considere a definição de classe a seguir utilizando Linguagem Java.

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 
Alternativas
Q3208896 Programação
Em um sistema desenvolvido para o setor de recursos humanos de uma empresa, as informações de nome e salário de cada colaborador são armazenadas em uma classe chamada "Colaborador". Essas informações não podem ser acessadas diretamente por outras partes do programa, sendo necessário o uso de métodos específicos para alterar ou obter esses dados.
A restrição apresentada na classe "Colaborador" é um exemplo de qual conceito de programação orientada a objetos?
Alternativas
Q3208885 Programação
Em JavaScript, os métodos filter e map são frequentemente usados para manipulação de arrays, enquanto o operador spread (...) pode ser utilizado para copiar, combinar ou transformar arrays e objetos.

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? 
Alternativas
Q3208884 Programação
Os laços de repetição em JavaScript são usados para iterar sobre coleções de dados, como arrays, objetos ou strings, permitindo a execução repetida de um bloco de código. Dois dos principais laços usados para esse propósito são for...in e for...of. Cada um deles possui uma funcionalidade específica e um comportamento distinto na iteração de elementos.

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 
Alternativas
Q3208883 Programação
Analise o código em JavaScript, que faz uso da palavra reservada this no contexto de um objeto, em funções regulares e funções arrow. A palavra this refere-se ao contexto de execução em que uma função é chamada, mas seu comportamento pode variar entre funções regulares e funções arrow.

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á:
Alternativas
Q3208882 Programação
Analise o seguinte código em JavaScript, que manipula arrays utilizando os métodos sort, map e filter. Esses métodos são amplamente utilizados para ordenar, transformar e filtrar elementos de arrays de forma eficiente, proporcionando uma maneira funcional e concisa de trabalhar com coleções de dados em JavaScript.
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á:
Alternativas
Q3208881 Programação
No JavaScript, os comandos break e continue são utilizados para controlar o fluxo de execução em estruturas de repetição, como for, while e do...while, bem como em estruturas de seleção switch.
Qual das afirmações que seguem descreve corretamente o comportamento desses comandos?
Alternativas
Q3208880 Programação
Observe o trecho de código a seguir, que faz uso dos comandos async/await na linguagem JavaScript. Esses comandos são utilizados para trabalhar com operações assíncronas de maneira mais simples e legível. 
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?
Alternativas
Q3208879 Programação
As funções em JavaScript permitem a passagem de valores durante sua execução, possibilitando a manipulação dinâmica de dados e comportamentos com base nos argumentos fornecidos. Considere o seguinte código em JavaScript, que faz a chamada de uma função com parâmetros:

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?
Alternativas
Q3208878 Programação
Considere o código a seguir, que manipula um array utilizando a linguagem JavaScript. Sabendo que os arrays em JavaScript não possuem alocação pré-definida e não exigem a declaração prévia de seu tamanho, analise o comportamento do código. 

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?
Alternativas
Q3208877 Programação
Considere o seguinte código JavaScript, que cria dinamicamente uma modal no DOM ao clicar em qualquer botão com a classe .openModal. A modal contém um botão de “Fechar”, que a remove do DOM quando clicado.

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:
Alternativas
Q3208876 Programação
Considere o trecho de código em JavaScript abaixo. Ele utiliza o operador spread (...), que é amplamente usado para manipular arrays e objetos, permitindo a expansão de seus elementos. Observe como o operador interage com o array fornecido. 

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? 
Alternativas
Q3208582 Programação

Julgue o item subsecutivo, relativo à arquitetura orientada a serviços (SOA), à arquitetura distribuída, à especificação de web services e a dispositivos móveis. 


Os aplicativos web progressivos (PWA) são executados em navegadores de dispositivos móveis e podem ser desenvolvidos utilizando-se JavaScript, CSS e HTML5.

Alternativas
Q3208562 Programação

A respeito de governança e gestão de TI, julgue o próximo item. 


No framework de controles CIS, versão 8, é recomendado que todas as organizações, independentemente do seu porte e setor, implementem exatamente os mesmos controles de segurança, sem necessidade de adaptação às especificidades do ambiente de TI de cada organização. 

Alternativas
Q3208394 Programação

Julgue o item que se segue, a respeito de desenvolvimento de projetos digitais. 


A programação orientada a objetos é baseada no conceito de objetos, que representam instâncias ou abstrações de conceitos do mundo real. 

Alternativas
Q3208393 Programação

Com base nas linguagens de programação Python, julgue o próximo item. 


O pacote estatístico Pingouin é recomendado para aplicações estatísticas simples em Python, mas bastante usuais. 

Alternativas
Q3208392 Programação

Com base nas linguagens de programação Python, julgue o próximo item. 


A execução do script em Python a seguir apresentará False em tela. 


x = [4,1,2,3]

y = sorted(x)

y.sort()

print(x == y) 

Alternativas
Respostas
141: B
142: D
143: A
144: D
145: B
146: A
147: A
148: A
149: C
150: C
151: B
152: B
153: D
154: D
155: B
156: C
157: E
158: C
159: C
160: E