Magna Concursos

Foram encontradas 55.986 questões.

3520007 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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 classesmã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?

 

Provas

Questão presente nas seguintes provas
3519989 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL
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?
 

Provas

Questão presente nas seguintes provas
3519968 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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:

 

Provas

Questão presente nas seguintes provas
3519966 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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

 

Provas

Questão presente nas seguintes provas
3519851 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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?

 

Provas

Questão presente nas seguintes provas
3519483 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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?

 

Provas

Questão presente nas seguintes provas
3519477 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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

 

Provas

Questão presente nas seguintes provas
3519472 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL
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á:
 

Provas

Questão presente nas seguintes provas
3509727 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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á:

 

Provas

Questão presente nas seguintes provas
3509725 Ano: 2025
Disciplina: TI - Desenvolvimento de Sistemas
Banca: IF-SUL
Orgão: IF-SUL

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?

 

Provas

Questão presente nas seguintes provas