

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Considere o seguinte programa escrito em Java:
class Conta {
double saldo;
void sacar (double qtd) { saldo -= qtd; }
void depositar(double qtd) { saldo += qtd; }
}
public class Programa {
public static void main(String[] args) {
Conta c1 = new Conta();
c1.depositar(1000);
Conta c2 = c1;
c1.sacar(500);
System.out.println(c1.saldo);
}
}
Ao compilar e executar esse programa, o valor impresso na tela é:
1000.0
500.0
500
1000
Indeterminado, pois o saldo não foi inicializado.
Analise o trecho de código abaixo em linguagem C.
#include <stdio.h>
void func(int n) {
if(n == 0) {
return;
}
printf("%d-", n);
func(n-1);
}
int main(int argc, char *argv[]) {
func(5);
return 0;
}
Assinale a alternativa que apresenta corretamente o que é impresso na execução desse código.
5-4-3-2-1
5-4-3-2-1-0
5-4-3-2-1-0-
5-4-3-2-1-
Nenhuma das alternativas anteriores.
Um programador criou um código Java com a seguinte aplicação “ApplicationMeuApp.java” e salvou no pacote “MeuApp”. Adicionalmente, salvou as classes “Contact.java”, “DialUp.java” e “Adsl.java” no mesmo pacote. Os códigos dos referidos arquivos Java são apresentados a seguir:
Contact.java |
package MeuApp; public interface Contact( public void connect (); } |
DialUp.java |
package MeuApp: public class DialUp implements Contact { @override public void connect(){ System.out.println("DialUpdialing..."); } } |
Adsl.java |
package MeuApp; public class Adsl implements Contact f @override public void connect () 1 System.out.printin("Adsl dialing..."); } } |
ApplicationMeuApp.java |
package MeuApp: public class ApplicationMeuApp { public static void main(String[] args) { Contact DialUp = new DialUp(); DialUp.connect (); Contact Adsl = new Adsl(); Adsl.connect (); } } |
Analisando o código, considere as seguintes afirmações:
I – No código ocorre o conceito de herança.
II – No código ocorre o conceito de polimorfismo.
III – Os objetos DialUp e Adsl criados não fazem referência a um objeto do tipo Contact, mas se referenciam a partir da implementação do método connect.
Assinale a alternativa CORRETA:
Apenas a afirmação I é correta.
As afirmações I e II são corretas.
Apenas a afirmação II é correta.
As afirmações II e III são corretas.
As afirmações I, II e III são corretas.
A linguagem de programa Java utiliza estruturas de controle de fluxo de execução. Pode-se, então, citar as estruturas for, while e do while. A seguir, tem-se um código na linguagem de programação Java usando a estrutura for e while:
public class Main (
public static void main(String args[]) {
double n = 15;
double m = 0;
double resultado = 1;
for(int i = 2; i < n; i++){
m = m + 2 * i;
while( resultado < 12) {
resultado = resultado + m;
}
}
System.out.printin(1.5 * resultado);
}
}
Com base no código acima, da linguagem de programação Java, assinale a alternativa CORRETA.
O valor imprimido será 17.5.
O valor imprimido será 18.5.
O valor imprimido será 19.5.
O valor imprimido será 20.5.
O valor imprimido será 20.7.
No contexto da computação, os bancos de dados orientados a objetos permitem que as informações sejam representadas na forma de objetos, como na programação orientada a objetos.
Certo
Errado
Em desenvolvimento de software orientado a objetos, o princípio SOLID conhecido como Inversão de Dependência estabelece que
apenas alterações potenciais na especificação do software devem ser capazes de afetar a especificação de uma classe.
classes devem ser abertas para extensões e fechadas para modificações.
se deve separar funções de diferentes naturezas em interfaces diferentes, sem construir uma interface única de propósito geral.
uma implementação de função que recebe referências para objetos de determinada classe deve ser capaz de lidar com objetos de suas subclasses sem conhecê-las.
classes devem depender de interfaces ou classes abstratas, em vez de classes concretas.
Considerando a programação orientada a objetos, quando se faz a sobrecarga (overload) do nome de uma função, significa que
a capacidade de memória do computador vai ser excedida quando da geração do código executável.
o número de funções presentes em um programa atingiu o máximo teórico.
não há necessidade de recompilar o programa a cada alteração do código fonte.
se está utilizando o mesmo nome para a definição de duas ou mais funções.
as funções desse tipo devem ter seu código executável gerado separadamente.
Considere o código fonte escrito em linguagem C++ e executado em https://www.onlinegdb.com/online_c++_ compiler.
#include <iostream>
int main() {
int a = 10, b = 20, c, d;
(a > b ? &c :&d ) = a;
std::cout << c << d << std::endl;
}
Indique a sentença CORRETA.
A compilação e execução do código fonte apresentará a mensagem em tela: 010
A compilação e execução do código fonte apresentará a mensagem em tela: 10
A compilação e execução do código fonte apresentará a mensagem em tela: 020
A compilação e execução do código fonte apresentará a mensagem em tela: 20
A compilação do código fonte apresentará uma mensagem de erro.
O que é o polimorfismo em Orientação a Objetos e como ele é implementado em diferentes linguagens de programação?
É a capacidade de uma classe herdar métodos e atributos de outra classe. Ele é implementado de forma diferente em cada linguagem de programação, dependendo de sua sintaxe e semântica.
É a técnica de agrupar dados e métodos relacionados em uma mesma classe. Ele é implementado de forma diferente em cada linguagem de programação, dependendo de sua sintaxe e semântica.
É a capacidade de uma classe se comunicar com outras classes por meio de associações e ligações. Ele é implementado de forma diferente em cada linguagem de programação, dependendo de sua sintaxe e semântica.
É a capacidade de uma classe apresentar diferentes comportamentos ou formas em diferentes situações. Ele é implementado de forma diferente em cada linguagem de programação, dependendo de sua sintaxe e semântica.
É a técnica de fornecer interfaces padronizadas para acesso a objetos. Ele é implementado de forma diferente em cada linguagem de programação, dependendo de sua sintaxe e semântica.
No paradigma de programação orientada a objetos, qual princípio preconiza que cada unidade de código deve ser responsável por possuir informações e executar tarefas que dizem respeito somente ao conceito que ela pretende representar?
Herança.
Polimorfismo.
Encapsulamento.
Acoplamento.
Coesão.
O Paradigma de Orientação a Objetos (POO) é um modelo amplamente adotado em programação. Sobre essa abordagem, assinale a alternativa INCORRETA.
A criação de objetos é realizada através das instâncias de classes que encapsulam dados e comportamentos.
A abstração é uma característica importante do POO que permite a criação de entidades que representam conceitos do mundo real.
O conceito de herança admite que uma classe herde os atributos e métodos de outra classe, permitindo que desenvolvedores reutilizem o código e criem hierarquias de classes.
A associação é a relação de interação entre duas ou mais classes, na qual uma delas utiliza os serviços ou objetos da outra.
Os métodos estáticos definem comportamentos ou ações que são acessados a partir dos objetos criados pela instância de uma classe.
Em relação à programação orientada a objetos, assinale a alternativa que apresenta uma informação correta sobre métodos construtores.
Representam o relacionamento entre classes em que uma classe chamada de subclasse é uma extensão de outra classe chamada de superclasse.
São utilizados quando há necessidade que um mesmo método possua entradas (parâmetros) diferentes.
Geralmente são necessários quando métodos não requerem a criação de objetos para sua execução.
O seu uso possibilita instanciar objetos e, a partir disso, manipular de forma efetiva seus atributos e métodos.
Determinam um conjunto de outros métodos que devem obrigatoriamente ser usados quando a classe é instanciada.
Listas são um tipo de dados na linguagem Python que permite armazenar múltiplos elementos em uma mesma variável. A função utilizada para adicionar um elemento sempre no final de uma lista é:
insert()=
add()
append()
push()
pop()
Marcos está trabalhando em um projeto de sistemas em Java e quer garantir que o atributo de uma classe seja inicializado apenas uma vez e que seu valor não possa ser modificado posteriormente.
Na linguagem de programação Java, esse atributo deve ser definido com o modificador
abstract.
default.
final.
native.
volatile.
No OOP (programação orientada a objetos), os objetos se relacionam para alcançar um determinado resultado, sendo que cada objeto é responsável por tratar uma parte do problema. Em UML a documentação de um programa deve-se se mostrar como os objetos se relacionam. Uma abordagem clássica dos tipos de relacionamento são descritas a seguir, exceto:
sobreposição
agregação
associação
dependência
composição
Observe o código phyton apresentado.
nums = [0, -5, 3, -9, -6, -11,0,0,5, 3,27]
print([num for num in nums if num % 3 == 0][:-2])
Qual a saída produzida?
[3,27]
[-9,-6,0,0,3,27]
[0, 3, -9,-6,0,0,3]
[0, 3, -9,-6,0,0,3,27]
[0, 3, -9, -6,0,0]
Qual seria uma possível razão para se criar uma classe abstrata, já que não é possível ter qualquer instância concreta dela?
Permitir aderência de todas as suas subclasses à interface definida pela classe abstrata.
Prevenir a implementação de métodos indesejados em suas subclasses.
Reservar memória para um tipo não especificado de classe.
Reduzir o tempo de processamento.
Dispensar a implementação de métodos construtores nas subclasses.
Diante do shell script abaixo:

Qual o retorno que deverá ser apresentado em um terminal Linux, após a execução do script?
1,3,5
1,2,3,4,5
5
3
2
O paradigma orientado a objetos surgiu na década de 1960, e até hoje vem sendo aprimorado e largamente utilizado. Diversas linguagens do dia de hoje são orientadas por este paradigma, um dos conceitos mais importantes são classes e objetos, assinale a alternativa que descreve a principal diferença entre classes e objetos.
Uma classe é utilizada para definir métodos e o objeto utilizado para criar métodos em interfaces
Uma classe é uma instância de uma interface
Uma classe é uma representação abstrata de um objeto, enquanto um objeto é uma instância concreta dessa classe
Uma classe é uma instância de um objeto
O paradigma orientado a objetos possui quatro pilares fundamentais, sendo eles abstração, encapsulamento, herança e polimorfismo. Estes pilares orientam técnicas e conceitos robustos para o desenvolvimento utilizando este paradigma. Assinale a alternativa correta sobre o que é late binding (ligação tardia) em relação ao pilar polimorfismo.
É a capacidade de associar um método chamado em tempo de criação do projeto
É a capacidade de associar um método chamado em tempo de compilação
É a capacidade de associar um método chamado com a implementação correta durante o tempo de execução, ao em vez de durante o tempo de compilação
É a capacidade de criar as classes e vincular a outras em tempo de execução