Questões de Concurso sobre Linguagens de Programação

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
7.241 questões encontradas
Questões por página
20
Mais recentes
 

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


A

1000.0


B

500.0


C

500


D

1000


E

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.


A

5-4-3-2-1


B

5-4-3-2-1-0


C

5-4-3-2-1-0-


D

5-4-3-2-1-


E

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:


A

Apenas a afirmação I é correta.


B

As afirmações I e II são corretas.


C

Apenas a afirmação II é correta.


D

As afirmações II e III são corretas.


E

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.


A

O valor imprimido será 17.5.


B

O valor imprimido será 18.5.


C

O valor imprimido será 19.5.


D

O valor imprimido será 20.5.


E

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.


C

Certo


E

Errado

Em desenvolvimento de software orientado a objetos, o princípio SOLID conhecido como Inversão de Dependência estabelece que


A

apenas alterações potenciais na especificação do software devem ser capazes de afetar a especificação de uma classe.


B

classes devem ser abertas para extensões e fechadas para modificações.


C

se deve separar funções de diferentes naturezas em interfaces diferentes, sem construir uma interface única de propósito geral.


D

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.


E

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

a capacidade de memória do computador vai ser excedida quando da geração do código executável.


B

o número de funções presentes em um programa atingiu o máximo teórico.


C

não há necessidade de recompilar o programa a cada alteração do código fonte.


D

se está utilizando o mesmo nome para a definição de duas ou mais funções.


E

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

A compilação e execução do código fonte apresentará a mensagem em tela: 010


B

A compilação e execução do código fonte apresentará a mensagem em tela: 10


C

A compilação e execução do código fonte apresentará a mensagem em tela: 020


D

A compilação e execução do código fonte apresentará a mensagem em tela: 20


E

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

É 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.


B

É 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.


C

É 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.


D

É 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.


E

É 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?


A

Herança.


B

Polimorfismo.


C

Encapsulamento.


D

Acoplamento.


E

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

A criação de objetos é realizada através das instâncias de classes que encapsulam dados e comportamentos.


B

A abstração é uma característica importante do POO que permite a criação de entidades que representam conceitos do mundo real.


C

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.


D

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.


E

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.


A

Representam o relacionamento entre classes em que uma classe chamada de subclasse é uma extensão de outra classe chamada de superclasse.


B

São utilizados quando há necessidade que um mesmo método possua entradas (parâmetros) diferentes.


C

Geralmente são necessários quando métodos não requerem a criação de objetos para sua execução.


D

O seu uso possibilita instanciar objetos e, a partir disso, manipular de forma efetiva seus atributos e métodos.


E

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


A

insert()=


B

add()


C

append()


D

push()


E

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


A

abstract.


B

default.


C

final.


D

native.


E

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:


A

sobreposição


B

agregação


C

associação


D

dependência


E

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?


A

[3,27]


B

[-9,-6,0,0,3,27]


C

[0, 3, -9,-6,0,0,3]


D

[0, 3, -9,-6,0,0,3,27]


E

[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?


A

Permitir aderência de todas as suas subclasses à interface definida pela classe abstrata.


B

Prevenir a implementação de métodos indesejados em suas subclasses.


C

Reservar memória para um tipo não especificado de classe.


D

Reduzir o tempo de processamento.


E

Dispensar a implementação de métodos construtores nas subclasses.

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.


A

Uma classe é utilizada para definir métodos e o objeto utilizado para criar métodos em interfaces


B

Uma classe é uma instância de uma interface


C

Uma classe é uma representação abstrata de um objeto, enquanto um objeto é uma instância concreta dessa classe


D

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

É a capacidade de associar um método chamado em tempo de criação do projeto


B

É a capacidade de associar um método chamado em tempo de compilação


C

É 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


D

É a capacidade de criar as classes e vincular a outras em tempo de execução

   
Gerar simulado