Você está na página 1de 5

PD

F -X C h a n ge

PD

F -X C h a n ge

O W !

bu

to

lic

.d o

c u -tr a c k

.c

Questionrio de pr-avaliao Programador C# 1. Voc um programador c# na empresa 3XY Tecnologia e o seu lder de equipe lhe entregou o cdigo abaixo reclamando que por alguma razo o cdigo no compila exibindo a mensagem ndice (baseado em zero) deve ser maior ou igual a zero e menor que o tamanho da lista de argumentos. O que est ocasionando o erro acima?
1 2 3 4 5

lic

to

bu

N
w

O W !
.d o

c u -tr a c k

.c

int numerador = 10; int denominador = 2; int resultado = numerador / denominador; Console.Write("O resultado da expresso {0} multiplicado por {1} {2}.", denominador, numerador); Console.WriteLine(resultado);

a) A linha 3 deveria ser int resultado = denominador * numerador; b) A mensagem acima s aparece quando tenta compilar o cdigo em modo debug. Para corrigir o problema basta alterar o modo de compilao para release; c) A linha 5 deveria ser {2}.", denominador, resultado, numerador); d) Para que mensagens internas do compilador no apaream no momento da compilao o desenvolvedor deve desabilitar a opo Thrown no menu Debug -> Exceptions -> Common Language Runtime Exceptions; e) A linha 4 deveria ser Console.Write("O resultado da expresso {0} dividido por {1} ; 2. O seu colega de trabalho escreveu o cdigo abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public abstract class Cor { public string Nome { get; set; } }

public class Carro { public string Marca { get; set; } public string Modelo { get; set; } public int AnoFabricacao { get; set; } public int AnoModelo { get; set; } public Cor Cor { get; set; } public Carro() { this.Cor = new Cor().Nome = "Amarelo"; } }

Ao tentar compilar voc percebe que o cdigo apresenta erro. Qual providncia voc toma? a) Reescreve a linha 16 da seguinte forma:
this.Cor = new Cor(); this.Cor.Nome = "Amarelo";

b) Renomeia a propriedade Cor da classe Carro nas linhas 12 e 16 para _Cor pois uma classe no pode conter uma propriedade com o mesmo nome de outra classe j existente; c) D um Clean Solution para limpar as sujeiras do cdigo e o prprio Visual Studio se autorecuperar do problema ocorrido; d) Renomeia a classe Cor para CorDeCarro na linha 1 e replicar a alterao nas linhas 12 e 16 para evitar que uma propriedade tenha o mesmo nome de uma classe; e) Remove a palavra reservada abstract da linha 1;

Questionrio elaborado em 05/01/2010 por Renato Ucha

w
w

w
w

PD

F -X C h a n ge

PD

F -X C h a n ge

O W !

bu

to

lic

.d o

c u -tr a c k

.c

Questionrio de pr-avaliao Programador C# 3) Olhando o programa abaixo, responda a ordem em que as mensagens sero exibidas na tela:
public class NotificadorDeTempo { public event EventHandler TempoDecorrido; public void Aguardar() { Thread thread = new Thread(new ThreadStart(Aguardar5s)); thread.Start(); } private void Aguardar5s() { Thread.Sleep(5000); OnTempoDecorrido(); } private void OnTempoDecorrido() { if (this.TempoDecorrido != null) this.TempoDecorrido(this, new EventArgs()); } } class Program { static void Main(string[] args) { Console.WriteLine("Iniciando..."); NotificadorDeTempo notificador = new NotificadorDeTempo(); notificador.TempoDecorrido += new EventHandler(notificador_TempoDecorrido); Console.WriteLine("Comeou a contagem..."); notificador.Aguardar(); Console.WriteLine("Finalizou o chamado da funo..."); } static void notificador_TempoDecorrido(object sender, EventArgs e) { Console.WriteLine("Decorreu o tempo..."); } }

lic

to

bu

N
w

O W !
.d o

c u -tr a c k

.c

a) b) c) d) e)

"Iniciando..." "Comeou a contagem..." "Decorreu o tempo..." "Finalizou o chamado da funo..." "Iniciando..." "Comeou a contagem..." "Finalizou o chamado da funo..." "Decorreu o tempo..." "Iniciando..." "Comeou a contagem..." "Finalizou o chamado da funo..." "Iniciando..." "Decorreu o tempo..." "Comeou a contagem..." "Finalizou o chamado da funo..." "Iniciando..." "Finalizou o chamado da funo..."

Questionrio elaborado em 05/01/2010 por Renato Ucha

w
w

w
w

PD

F -X C h a n ge

PD

F -X C h a n ge

O W !

bu

to

lic

.d o

c u -tr a c k

.c

Questionrio de pr-avaliao Programador C# 4. Voc acabou de ser contratado para trabalhar com C# na empresa Desafios & Cia Ltda. Ao chegar na empresa o seu chefe lhe pergunta sobre Arrays. Aps explicar o que e como funcionam os Arrays, voc apresenta um cdigo que exemplifica o que voc falou. Sinalize o cdigo abaixo que voc apresentaria para o seu chefe para exemplificar a sua explicao. a)
Point array = new Point(); array.X = 10; array.Y = 15; MessageBox.Show("O array atual est nos pontos " + array.X + " e " + array.Y);

lic

to

bu

N
w

O W !
.d o

c u -tr a c k

.c

b)

public class ImplementacaoDeArrays { public delegate void Arrays(int Index); public event Arrays ArrayAtual; public void RandomizarArray() { int indiceRandomico = new Random().Next(100); this.ArrayAtual(indiceRandomico); } }

c)

Array nomes = new Array(5); nomes[1] = "Michele"; nomes[2] = "Letcia"; nomes[3] = "Clepatra"; nomes[4] = "Marcela"; nomes[5] = "Patrcia";

d) e)

int[] numeros = new int[15] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };

public event EventHandler Array;

5. Voc precisa criar uma conexo com banco de dados SQL Server 2000 mas esqueceu-se dos comandos necessrios para criar uma string de conexo. A qual classe voc deveria recorrer para auxili-lo na criao da string de conexo? a) b) c) d) e)
SqlConnectionStringBuilder; SqlServerStringBuilder; StringBuilder; SqlConnection; SqlServerConnection;

Questionrio elaborado em 05/01/2010 por Renato Ucha

w
w

w
w

PD

F -X C h a n ge

PD

F -X C h a n ge

O W !

bu

to

lic

.d o

c u -tr a c k

.c

Questionrio de pr-avaliao Programador C# 6. Considere as tabelas do SQL Server 2005 abaixo:

lic

to

bu

N
w

O W !
.d o

c u -tr a c k

.c

O seu chefe solicitou que voc emita uma relao contendo o nome do autor e os seus livros publicados, como mostrado abaixo.

Quais os possveis comandos que voc utilizar para obter esse resultado? (informe todos) a) SELECT Autor.nome, Livro.titulo FROM Livro, Autor WHERE Livro.id_autor = Autor.id b) SELECT Nome, Titulo FROM Livro INNER JOIN Autor ON id_autor = id c) SELECT Nome, Titulo FROM Livro, Autor WHERE Livro.id_autor = Autor.id d) SELECT Autor.Nome, Livro.titulo FROM Livro INNER JOIN Autor ON Livro.id_autor = Autor.id e) SELECT A.Nome, L.Titulo FROM Livro L INNER JOIN Autor A ON L.id_autor = A.id

7. Considerando que a varivel Conexao j existe e representa uma SqlConnection e as tabelas da questo anterior, o que est errado no cdigo abaixo?
1 2 3 4 5 6 7

SqlCommand commando = new SqlCommand("sp_help", Conexao); commando.CommandType = System.Data.CommandType.StoredProcedure; commando.Parameters.AddWithValue("objname", "Livro"); DataSet resultado = new DataSet(); SqlDataAdapter conector = new SqlDataAdapter(commando); conector.Fill(resultado);

a) necessrio colocar o cdigo Conexao.Open()antes da linha 1 para abrir a conexo; b) A expresso "objname" na linha 3 no existe, o nome correto "tablename"; c) Ao invs de DataSet, na linha 4 deveria ser instanciado um DataTable pois somente uma tabela retornada pelo comando SQL; d) No existem erros no cdigo acima; e) Na linha 2 o tipo do comando deve ser alterado para System.Data.CommandType.Text;

Questionrio elaborado em 05/01/2010 por Renato Ucha

w
w

w
w

PD

F -X C h a n ge

PD

F -X C h a n ge

O W !

bu

to

lic

.d o

c u -tr a c k

.c

Questionrio de pr-avaliao Programador C# 8. Observe com ateno a classe abaixo:


public class ClasseExemplo { public List<object> Dados { get; set; } public ClasseExemplo() { Dados = new List<object>(); } public List<T> Retornar<T>() { List<T> retorno = new List<T>(); foreach (object o in Dados) { if (o is T) retorno.Add((T)o); } return retorno; } }

lic

to

bu

N
w

O W !
.d o

c u -tr a c k

.c

Analisando o cdigo abaixo, responda qual o contedo das variveis itens1, itens3 e itens2 respectivamente:
ClasseExemplo exemplo = new ClasseExemplo(); exemplo.Dados.Add(15d); exemplo.Dados.Add(18); exemplo.Dados.Add(25d); exemplo.Dados.Add("tesoura"); List<string> itens1 = exemplo.Retornar<string>(); List<double> itens2 = exemplo.Retornar<double>(); List<int> itens3 = exemplo.Retornar<int>();

a) tesoura; 15 e 25; 18; b) tesoura; 18; 15 e 25; c) Tesoura; 15 e 25; 18; d) tesoura; 15 e 25; nulo; e) tesoura; nulo; 15 e 25; 9. A propsito da classe ClasseExemplo da questo anterior. Quais os tipos que podem ser informados para a funo Retornar<T> em substituio ao T? a) qualquer tipo desde que seja nativo do .NET; b) qualquer tipo, inclusive aqueles criados pelo desenvolvedor; c) string, double ou int; d) qualquer tipo desde que implemente a interface IGeneric; e) apenas string; 10. Para que serve o decorador [Serializable] utilizado antes da declarao de uma classe? a) Para indicar que a classe serializada; b) Para indicar que a classe deve implementar a interface ISerializable; c) Para facilitar a leitura do cdigo; d) Para indicar que o mtodo Clone()est disponvel na classe; e) Para indicar que a classe pode ser serializada;

Questionrio elaborado em 05/01/2010 por Renato Ucha

w
w

w
w

Você também pode gostar