Você está na página 1de 8

Curso: Engenharia em Tecnologias e Sistemas de Informação

Duração: 90 minutos Período: Pós-laboral


Data: 24.09.2019 2° Ano Académico Semestre: Segundo
Primeira Avaliação: Programação em C#.

Leia atentamente as questões e responda com clareza.

1. Escreva um programa que calcule o reajuste salarial de uma empresa que possui
05 funcionários de acordo com os seguintes critérios: os funcionários com
salário inferior á 10.000.00 devem ter reajuste de 55%; os funcionários com
salário entre 10.000.00 e 25.000.00 devem ter reajuste de 30%; os funcionários
com salário de 25.000.00 devem ter reajuste de 25%. (3.0)
R:
Program p = new Program();
Double Salario;

Console.WriteLine("Informe o seu salário, use ponto");

Console.WriteLine();

Console.Write("Salario: ");
double.TryParse(Console.ReadLine(), out Salario);

Console.WriteLine();

Console.Write("Salário atual: ");


Console.ForegroundColor = ConsoleColor.Red;
Console.Write(Salario.ToString());

Console.ResetColor();
Console.WriteLine();

Console.WriteLine("\a");

Console.Write("Novo salário: ");


Console.ForegroundColor = ConsoleColor.Green;

Console.Write(p.CalculaSalario(Salario));

Console.ReadKey();
}
Bom Trabalho O grupo de Disciplina
private double CalculaSalario(double Salario)
{

double NovoSalario = 0;
double reaj = 0;

if (Salario < 10000 )


{
reaj = 0.55 * Salario;
NovoSalario = (Salario + reaj) ;
}
else if (Salario >= 10000 && Salario < 25000)
{
reaj = 0.30 * Salario;
NovoSalario = (Salario + reaj);
}
else
{
reaj = 0.25 * Salario;
NovoSalario = (Salario + reaj);
}

return NovoSalario;

output:

Ou
double novoSalario;
int intervalo;
Bom Trabalho O grupo de Disciplina
int salario;

Console.Write("Introduza o salario = ");


salario = Int32.Parse(Console.ReadLine());

Console.Write("Introduza o cargo [1,2,3] = ");


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

switch (intervalo)
{
case 1:
novoSalario = salario + (0.55 * salario);
break;
case 2:
novoSalario = salario + (0.30 * salario);
break;
case 3:
novoSalario = salario + (0.25 * salario);
break;
default:
novoSalario = salario + (0.0 * salario);
break;
}

Console.WriteLine("Salario antigo = " + salario + " Novo salario = " +


novoSalario);

2. Leia um valor inteiro N. Este valor será a quantidade de valores inteiros X que
serão lidos em seguida. Mostre quantos destes valores X estão dentro do
intervalo [10,20] e quantos estão fora do intervalo, mostrando essas
informações conforme exemplo (use a palavra "in" para dentro do intervalo, e
"out" para fora do intervalo). (3.0)

Bom Trabalho O grupo de Disciplina


3. Considerando o programa e a linguagem C#, assinale com V ou F as afirmações
conforme sejam Verdadeiras ou Falsas respectivamente (2.5)
A. Console é uma classe. As classes Object e System herdam desta classe. V
B. Quando o aplicativo é iniciado, o método Main é o primeiro método invocado.
Em C#, as bibliotecas e serviços não requerem um método Main como ponto
de entrada.V
C. double celsius = Double.Parse(tempCelsius); significa que double é uma
classe e Parse é um método desta classe. F

Bom Trabalho O grupo de Disciplina


D. default é um atributo exclusivo do comando switch e é usado apenas quando
um valor numérico que não conste dos cases é fornecido pelo usuário. F
E. WriteLine é um método da classe Console. Como a classe System herda da
classe Console, então WriteLine também é um método da classe System.V

4. Qual é a finalidade das palavras reservadas: static, new e using? (3.0)


R: - new: Usada para instanciar um objeto;
- static: Indica que o método ou a variável pertence a classe e não a instancia;
- using : é uma diretiva using cria um alias para um namespace ou importa tipos
definidos em outros namespaces.
5. Diferencie os conceitos List e array. Dê exemplo da sua aplicação.(2.5 V)
R: Arrays, que são coleções de dados de um mesmo tipo. Uma característica dos
Arrays é que eles são estáticos, ou seja, o programador não consegue aumentar a
quantidade de posições em tempo de execução. Um Array declarado, ocupa
posições adjacentes na memória RAM, com o mesmo nome e tipo. Na hierarquia de
classes da Framework Class Library, podemos notar que um array herda da classe
Array, do namespace System (System. Array), logo para trabalhar com arrays, basta
incluir a referencia para o namespace System (using System;)

A sintaxe básica de um Array é:

Tipodedado[ ] nomeArray = new tipodedado [tamanhoArray];

Exemplos:

Int32[] vetorNumeros = new Int32 [10]; // Array de Inteiros

String[] vetorNomes = new String [10]; // Array de Strings

static void Main(string[] args)

{
Int32[] vectorNumeros = new Int32[10];
vectorNumeros[0]=1;
vectorNumeros[1]=2;
vectorNumeros[2]=3;
vectorNumeros[3]=4;
vectorNumeros[4]=5;
vectorNumeros[5]=6;
vectorNumeros[6]=7;
vectorNumeros[7]=8;
vectorNumeros[8]=9;
vectorNumeros[9]=10;
Console.WriteLine("Imprimindo os valores do Array: \n");
for(Int32 i=0;i<vectorNumeros.Length;i++)
{
Console.WriteLine(vectorNumeros[i]);
Bom Trabalho O grupo de Disciplina
}
Console.ReadKey();
}

Os List(T) são coleções que herdam da classe List(T), do namespace:


System.Collections.Generics , portanto para trabalhar com List(T), devemos incluir a
referência ao namespace genérico; Vantagem sobre os Arrays: Pode ser aumentado
dinamicamente.

A sintaxe básica de um List(T) é:

List<tipodedado> nomedoList = new List<tipodedado>();

List<int> listNotas = new List<int>();


listNotas.Add(10);
listNotas.Add(20);
listNotas.Add(30);
listNotas.Add(40);
listNotas.Add(50);
Console.WriteLine("Imprimindo os valores do List: \n");
for (Int32 i = 0; i < listNotas.Count; i++)
{
Console.WriteLine("" + listNotas[i]);
}
Console.ReadKey();

6. Dado o trecho de código abaixo:


a. Identifique os erros nele existentes; (3.0)
using System;
namespace 2Teste01_Error
{
class Program
{
static void Main(string[] args)
{
int[] x = new int[10];
for (int i = 0; i < x.Length; i++)
{
x[i] = i;
} // laço para preencher o array
for (int i = 0; i <= x.Length; i++)
{
Console.WriteLine(x[i]);
} // laço para mostrar o array
}
}
Bom Trabalho O grupo de Disciplina
}
R:
int[] x = new int[10];

for (int i = 0; i < x.Length; i++)


{
x[i] = i;//em seguida temos que imprimir
Console.WriteLine(x[i]);// faltou imprimir os dados para preencher o array
} // laço para preencher o array
for (int i = 0; i <= x.Length; i++)//a expressão <= passa o index 9
{
x[i] = i;// preenche o array e imprime
// Console.WriteLine(x[i]);
} // laço para mostrar o array

Os dois for loop são desnecessarios com um loop este programa pode rodar
int[] x = new int[10];

for (int i = 0; i < x.Length; i++)


{
x[i] = i;//preencher o array ou laço para preencher o array
Console.WriteLine(x[i]);// imprimir os dados para preencher o array
} //

7. Rescreva o seguinte trecho de código, capturando e tratando as possíveis


exceções. (3.0)

int[] x = new int[10];


try
{
for (int i = 0; i <= x.Length; i++)
{
x[i] = i;
Console.WriteLine(x[i]);
} // laço para mostrar o array

}
catch (Exception e)// handled every exception
{
Console.WriteLine(e.Message);
}

Console.ReadKey();

Output:

Bom Trabalho O grupo de Disciplina


Bom Trabalho O grupo de Disciplina

Você também pode gostar