Questões de Concurso sobre C#

 
 
Disciplina 1
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
 
193 questões encontradas
Questões por página
20
Mais recentes
 

Observe as classes escritas em C# a seguir:

1

class A

2

{

3

public double x { get; set; }

4


5

public A(double x)

6

{

7

this.x = x;

8

}

9

public virtual void calcula(int a, int b)

10

{

11

x = x + a + b;

12

}

13

public virtual void calcula(double a, double b)

14

{

15

x = x + a – b;

16

}

17

}

18

class B:A

19

{

20

public double z {get; set; }

21


22

public B(int x, int z): base(x)

23

{

24

this.z = z;

25

}

26

public B(double x, double z): base(x)

27

{

28

this.z = x;

29

}

30


31

public override void calcula(double a, double b)

32

{

33

base.calcula(a,b);

34

z = x + z;

35

}

36

static void Main()

37

{

38

A obj1 = new A(5);

39

B obj2 = new B(3, 4.5);

40

obj1.calcula(1,2);

41

obj2.calcula(2.5, 1.5);

42

double resposta = obj1.x + obj2.x + obj2.z;

43

MessageBox.Show(resposta.ToString());

44

}

45


46



Os códigos nas linhas 18, 26, 31 e 38 implementam os respectivos conceitos da programação orientada a objeto:


A

Polimorfismo – Encapsulamento – Herança – Instanciação de Classes.


B

Herança – Polimorfismo(Sobrecarga) – Polimorfismo(Sobrescrita) – Instanciação de Classes.


C

Herança – Encapsulamento – Polimorfismo(Sobrescrita) – Instanciação de Classes.


D

Herança – Polimorfismo(Sobrescrita) – Polimorfismo(Sobrecarga) – Instanciação de Classes.

Observe o código do programa em C# a seguir:


namespace ProgramaProva

{

class Program

{

static void Main(string[] args)

{

int i,n1,n2,n3,r1,r2;


Console.Write("Entre com o primeiro número: ");

n1 = Convert.ToInt32(Console.ReadLine());

Console.Write("Entre com o segundo número: ");

n2 = Convert.ToInt32(Console.ReadLine());

Console.Write("Entre com o terceiro número: ");

n3 = Convert.ToInt32(Console.ReadLine());


r1 = 0;

for (i = 1; i <= n1; i++)

r1 = r1 + i;

Console.WriteLine("{0} ", r1);

r2 = 1;

for (i = 1; i <= n2; i++)

r2 = r2 * i;

Console.WriteLine("{0} ", r2);

i = 1;

while (i <= n3)

{

if (n3 % i == 0)

Console.Write("{0} ", i);

i++;

}

Console.ReadLine();

}

}

}


Se forem digitados os números 5, 4 e 18, nessa sequência, o resultado exibido será:


A

15

24

2 6 18


B

5

4

18


C

15

24

1 2 3 6 9 18


D

10

16

1 2 3 6 9 18

No C#, o trecho de código que escreve a palavra “sim” se o resultado da divisão da variável “x” pelo número 3 produz um número inteiro é:


A

if (x % 3 == 0){

Console.WriteLine(“sim”);

} else {

Console.WriteLine(“não”);

};


B

if (x >> 3 == 3){

Console.WriteLine(“sim”);

} else {

Console.WriteLine(“não”);

};


C

if (x % 0 == 3){

Console.WriteLine(“não”);

} else {

Console.WriteLine(“sim”);

};


D

if (x ^ 3 == 0){

Console.WriteLine(“sim”);

} else {

Console.WriteLine(“não”);

};


E

if (x / 3){

Console.WriteLine(“não”);

} else {

Console.WriteLine(“sim”);

};

Considere o programa na linguagem C:


#include <stdio.h>

int main() {

int array[10] = {1, -2, 3, -4};

int a, loop;

a = 0;

for(loop = 1; loop >= 0; loop--) {

a = a + array[loop];

}

printf(" %d", a);

return 0;

}


Ao executarmos o programa, o valor da saída será:


A

−1


B

1


C

−2


D

2


E

3

No que se refere ao mecanismo de passagem de parâmetros em C#, analise os itens a seguir e, ao final, assinale a alternativa correta:


I - O modificador “override” atribuído a um argumento de método implica o ocultamento do tipo definido na classe-pai.

II - As palavras-chaves “ref” e “out” indicam, respectivamente, passagem de parâmetro por referência e por valor.

III – Quando se passa um argumento para um método, o parâmetro correspondente é inicializado com uma cópia do argumento, inclusive para um tipo-referência.


A

Apenas o item I é verdadeiro.


B

Apenas o item II é verdadeiro.


C

Apenas o item III é verdadeiro.


D

Apenas os itens I e II são verdadeiros.


E

Todos os itens são verdadeiros.

No que se refere à sobrecarga de operadores em C#, analise os itens a seguir e, ao final, assinale a alternativa correta:


I – Os operadores são declarados estáticos.

II – A precedência e a associatividade dos operadores sobrecarregados são redefinidas pelo programador.

III – Os operadores são declarados públicos.


A

Apenas o item I é verdadeiro.


B

Apenas o item II é verdadeiro.


C

Apenas o item III é verdadeiro.


D

Apenas os itens I e III são verdadeiros.


E

Nenhum dos itens é verdadeiro.

Na classe de conexão com o banco de dados de uma aplicação C# criada com o Visual Studio, em condições ideais, foi criado o método abaixo.


public static I getConnection()

{

II

return conn;

}


Considerando a existência de um banco de dados chamado DB_TRF3, em condições ideais, preenchem, correta e respectivamente, as lacunas I e II:

Imagem associada para resolução da questão



A

Imagem associada para resolução da questão


B

Imagem associada para resolução da questão


C

Imagem associada para resolução da questão


D

Imagem associada para resolução da questão


E

Imagem associada para resolução da questão

No C#, o método AddRange da classe ArrayList insere os elementos de uma coleção


A

no final da lista.


B

no início da lista.


C

caso não existam na lista.


D

em uma posição arbitrária da lista.


E

ordenando seus elementos na lista.

Observe o método C# a seguir:


public static void Main()

{

try {

try {

int x = 0;

int y = 10 / x;

} catch (DivideByZeroException){

Console.Write(“1”);

throw;

} catch (ArithmeticException){

Console.Write(“2”);

throw;

} catch (Exception){

Console.Write(“3”);

throw;

}

} catch {

Console.Write(“4”);

}

}

A execução desse código vai imprimir no console a mensagem:


A

14


B

34


C

1234


D

3214


E

4321

Considere o código C# a seguir:


String y = “circulo triangulo,quadrado,losango”;
String[] x = y.Split(',');

foreach(String i in x)
Console.WriteLine(i);


Após ser executado, ele produzirá a saída:


A

losango


B

circulo triangulo


C

circulo triangulo

quadrado losango


D

circulo triangulo

quadrado

losango


E

circulo

triangulo

quadrado

losango

No C#, a coleção HashSet:


A

mantém os dados ordenados.


B

somente permite a remoção do último elemento adicionado à coleção.


C

somente permite a remoção do primeiro elemento da coleção.


D

não pode ser acessada usando LINQ.


E

não permite a inclusão de elementos duplicados.

A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. Entre os princípios da orientação a objetos, um consiste na alteração do funcionamento interno de um método herdado de um objeto pai. É um mecanismo por meio do qual selecionam-se as funcionalidades utilizadas de forma dinâmica por um programa no decorrer de sua execução. Desta forma, os mesmos atributos e objetos podem ser utilizados em objetos distintos, porém, com implementações lógicas diferentes. Esse princípio é conhecido por:


A
abstração

B
acoplamento

C
polimorfismo

D
encapsulamento

Considere o fragmento de código abaixo retirado de uma classe criada em C#, em condições ideais.


int m = 8;

int n = 7;

int p = 3;

if (m >= n && m >= p)

{

//statement 1

}

if (m >= n && !(p > m))

{

//statement 2

}

if (m > n | | m > p)

{

//statement 3

}

if (m % 2 == 0)

{

//statement 4

}


A partir da observação do código, considere as afirmações abaixo:


I. if (m >= n && m >= p) verifica se m é maior que n ou maior que p.

II. if (m >= n && !(p > m)) verifica se m é maior que n e também maior que p.

III. Se if (m > n || m > p) resultar em true indica que m não é o menor dos 3 números.

IV. if (m % 2 == 0) verifica se o valor m contém um número inteiro.


Está correto o que consta APENAS de


A

I e III.


B

I e IV.


C

II e III.


D

III e IV.


E

II e IV.

Considere os seguintes operadores:


Igual a

Negação lógica

Módulo (resto da divisão)

Ou lógico

And lógico

Assinale a lista dos símbolos que, respectivamente, representam esses operadores no C#.


A

== ! % || &&


B

== ~ %% || &&


C

= ! & or and


D

== ~ mod || &&


E

= != & or and

Ano: 2018
Prova: IBADE - Câmara de Vilhena - Analista Administrativo - Área Tecnologia da Informação - 2018

O Linux foi originalmente escrito na seguinte linguagem de programação:


A

C.


B

Java.


C

Python.


D

PHP.


E

Assembler.

   
Gerar simulado