

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.
Sobre a linguagem C#, é INCORRETO afirmar que:
É orientada a objetos.
É interpretada.
Há duas categorias principais de tipos de variáveis: tipos de referência e tipos de valor.
É fortemente tipada.
É orientada a componentes.
Considere os programas em C# e em PHP a seguir:
C# using System; namespace TratamentoExcecao ( class Program ( static void Main(:string[] arqs) ( try( double num = 10; double den = 0; double r = FazDivisao(num, den); Console.WriteLine($"Resultado da divisao: {r}"); } catch (DivideByZeroException ex) { Console.WriteLine($"Erro: (ex.Message}"); } catch (Exception ex) { Console.WriteLine($"Erro desconhecido: {ex.Message}"); } }
static double FazDivisao(double n, double d) ( if (d==0) ( ......I } return n / d; } } } | PHP <?php function divide($a, $b) { if ($b === 0) { ......II } return $a / $b; } try { $num1 = 10; $num2 = 0;
$resultado = divide($num1, $num2); echo "O resultado da divisão é: " . $resultado; } catch (Exception $e) { echo "Erro: " . $e->getMessage (); } ?> |
Em condições ideais, para que cada um dos programas possa ser executado fazendo o tratamento de exceção relativo à divisão e sejam impressas as frases exatamente iguais, as lacunas I e II devem ser corretamente preenchidas com:
Lacuna I | Lacuna II |
throw new Exception ("Divisão por zero não é válida.") | throw new Exception ("Divisão por zero não é válida.") |
Lacuna I | Lacuna II |
throw new DivideByZeroException("Divisão por zero não é válida.") | throw new DivideByZeroException("Divisão por zero não é válida.") |
Lacuna I | Lacuna II |
throw new DivideByZeroException("Divisão por zero não é válida.") | throw new Exception ("Divisão por zero não é válida.") |
Lacuna I | Lacuna II |
throw new Exception ("Divisão por zero não é válida.") | throw new DivideByZeroException("Divisão por zero não é válida.") |
Lacuna I | Lacuna II |
throw new DivideByZeroException("Divisão por zero não é válida.") | throw new Exception_DivideByZero("Divisão por zero não é válida.") |
No C#, a expressão que resulta no número inteiro 12 é
12 & 0xB
2 + 22 / 2
10 * 4 / 5 + 2 * 2
4 ^ 2 - 4
0xF | 12
A plataforma .NET permite escrever aplicativos em linguagens como C#, F# ou Visual Basic. A Figura 3, abaixo, apresenta um trecho de código-fonte escrito na linguagem C#.
string[]nomes = {''João'',''Maria'',''Paulo'',''Silvia'',''Vitor''}; for (int cont = 1; cont <= 4; cont ++) { Console.WriteLine(''{0}'', nomes[cont]); } |
Figura 3 – Código-fonte em C#
Qual das alternativas apresenta uma alteração em uma das linhas do código-fonte da Figura 1 que fará com que sejam impressos todos os elementos do array "nomes"?
string[5] nomes = {"João", "Maria", "Paulo", "Silvia", "Vitor"};
for (int cont = 1; cont < 4; cont++)
for (int cont = 0; cont <= 4; cont++)
Console.WriteLine("{cont}", nomes[cont]);
Console.WriteLine("{5}", nomes[cont]);
Assinale a alternativa que descreve corretamente o conceito de polimorfismo em C#.
É uma técnica de programação que permite que um objeto possa ser substituído por outro sem alterar o comportamento do sistema.
É uma técnica de programação que permite que um objeto seja criado por outro objeto.
É uma técnica de programação que permite que uma classe possa herdar os membros de outra classe.
É uma técnica de programação que permite que uma classe possa ser instanciada várias vezes.
É uma técnica de programação que permite que uma variável possa referenciar objetos de diferentes tipos.
Qual classe é usada para criar uma caixa de diálogo de seleção de arquivo em um aplicativo Windows Forms em C#?
OpenFileDialog
MessageBox
FileDialog
SaveFileDialog
InputDialog
Assinale a alternativa que apresenta a sintaxe correta para gerar Prefeitura de Santana de Parnaiba em C#.
Console.WriteLine("Prefeitura de Santana de Parnaiba");
Print ("Prefeitura de Santana de Parnaiba");
System.out.println("Prefeitura de Santana de Parnaiba");
Echo("Prefeitura de Santana de Parnaiba");
As linhas de código abaixo identificam a linguagem de programação que é:
class Car
{
int maxSpeed;
static void Main(string[ ]args)
{
Car myobj = new Car ( ) ;
myobj . maxSpeed = 200;
console.WriteLine (myObj.color);
console.WriteLine (myObj.maxSpeed);
}
}
Visual Basic
PHP
C++
C#
Na linguagem de programação C#, os indexadores (indexers) permitem que
consultas realizadas sobre listas sejam executadas mais rapidamente.
índices sejam criados automaticamente nas tabelas do banco de dados.
matrizes se mantenham ordenadas quando seu conteúdo é modificado.
instâncias de classes possam ser acessadas com o auxílio de um índice, como se fossem matrizes.
diversas instâncias de uma classe possam ser criadas simultaneamente.
Assinale a estrutura correta de acordo com a sintaxe do C#.
using System;
namespace HelloWorld;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Assim funciona!");
}
}
using System;
namespace HelloWorld;
class Program
{
static void Main(parameters)
{
Console.WriteLine("Assim funciona!");
}
}
using System;
namespace HelloWorld
{
class Program
{
proc Main(string[] args)
{
Console.WriteLine("Assim funciona!");
}
}
}
using System;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Assim funciona!");
}
}
}
using System;
namespace HelloWorld
{
class static Main(string[] args)
{
Console.WriteLine("Assim funciona!");
}
}
}
No âmbito da linguagem C#, analise o trecho de código a seguir.
class Pessoa
{
private string nome;
public string Nome
{
get { return nome; }
set { nome = value; }
}
}
A sintaxe C# permite que a sexta e a sétima linhas sejam resumidas pelo trecho:
{ get; set; }
{ get(); set(value); }
{ get <- nome; set -> nome; }
get { -> nome }
set { nome <= args[] }
get { return this.nome; }
set { let this.nome = args[]; }
C# é uma linguagem de programação orientada a objetos que permite a criação de sistemas por meio de um código bem estruturado, a qual utiliza modificadores de acesso que descrevem o alcance da acessibilidade de um objeto e seus membros. O modificador cujo alcance da acessibilidade é limitado apenas dentro das classes ou estruturas em que é declarado é
internal.
internal protected.
private.
public.
protected.
No contexto da linguagem C#, considere o código a seguir.
using System;
namespace MyApplication
{
class Program
{
static void Main(string[] args)
{
int[] a = {4,64,32};
a[0] = a[0] >> 2;
a[1] = ++a[1] + 1;
a[2] = a[2] % 3;
foreach (int x in a)
{ Console.WriteLine(x);
}
}
}
}
Assinale a lista de números exibidos na execução desse código.
0, 66, 1
1, 66, 2
2, 64, 3
4, 65, 2
8, 66, 0
Um desenvolvedor necessita fazer uma iteração em C# e está em dúvida sobre qual laço deve utilizar. Sabe-se que o desenvolvedor não conhece a quantidade de vezes que o laço é executado, entretanto o desenvolvedor sabe que o laço deve ser executado ao menos uma vez. Diante do exposto, com qual das alternativas a seguir a iteração deve ser efetuada?
while (<expressão de teste>) {
/
};
for (<inicialização>;<critério de parada>;
<variável de controle>){
/
}
foreach (<tipo de dado> <variável> in <nome
vetor>) {
/
}
Switch (<variável>){
case <valor1>://executa instrução
case <valor2>://executa instrução
case <valorn>://executa instrução
}
do {
/
} while (<expressão de teste>);
No contexto da linguagem C#, considere o código a seguir.
namespace NS
{ abstract class C1
{ public abstract void M1();
public void M2()
{
. . . .
}}
----------------
class P
{ static void Main(string[] args)
{
C2 x = new C2();
x.M1();
x.M2();
}}}
A estrutura de código que substitui corretamente o tracejado é:
public override void M2()
{ . . . . .
}
class C2 : C1
{ public override void M2()
{ . . . . .
}}
class C1 : C2
{ public override void M1()
{ . . . . .
}}
class C2 : C1
{ public override void M1()
{ . . . .
}}
class C1 : C2
{ public override void M2()
{ . . . . .
}}
Considere o código C# a seguir:
using System;
public delegate void A();
class Program {
public static void B(String msg) {
Console.WriteLine(msg);
}
public static void Main() {
A x = B;
x();
}
}
Esse código apresenta erro, pois
o método Main não possui os argumentos obrigatórios.
a definição do método B difere do tipo delegado A.
a declaração do tipo delegado A deveria estar dentro da classe Program.
o tipo delegado A deveria retornar String para poder ser utilizado como parâmetro do método B.
métodos estáticos não podem ser utilizados para a criação de objetos delegados.
Observe a porção de código abaixo, ele pertence a uma das linguagens de marcação de hypertexto:
<video width="320" height="240" controls="controls">
<source src="movie.mp4” type="video/mp4" /
<source src="movie.ogg" lype="video/ogg" /
Seu navegador não suporta a tag vídeo.
</
A qual linguagem de marcação de texto pertence o código exibido?
Assinale a alternativa correta:
CSS
HTML5
PHP
JavaScript
C#
Observe o código C# a seguir.
namespace MyApplication
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; --i < 5; i++)
{
Console.WriteLine(i);
}}}}
Assinale o conteúdo exibido no dispositivo de saída.
O número -1 repetido indefinidamente.
Os números 0, 1, 2, 3, 4.
Os números 0, 1, 2, 3, 4 repetidos cinco vezes.
Os números 0, 1, 2, 3, 4, 5.
Os números 1, 2, 3, 4, 5.
No contexto da linguagem C#, analise as etapas do ciclo de vida de uma página ASP.NET, exibidos em ordem alfabética.
Initialization
Load Page
Request
Postback
Postback event handling
Rendering
Start
Unload
Dentre as etapas listadas acima, assinale as duas primeiras etapas, na ordem em que ocorrem.
Initialization e Load.
Load e Page Request.
Page Request e Start.
Postback e Rendering.
Start e Postback.
No C#, são tipos numéricos sem sinal (unsigned) os seguintes tipos:
int e short.
mail e fork.
byte e unit.
long e unit.
level e short.