Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Elabore um programa que solicite o valor do vencimento e a respetiva percentagem de aumento. Calcule o
valor do aumento e o vencimento atualizado.
Console.OutputEncoding = System.Text.Encoding.UTF8; //simbolo euro
decimal salario, paumento, aumento; //variaveis
Console.Write("Indique o salario: ");
salario = decimal.Parse(Console.ReadLine());
Console.Write("Indique a percentagem de aumento: ");
paumento = decimal.Parse(Console.ReadLine());
aumento = salario * paumento + salario;
Console.Write("O salário de {0:C2} teve um aumento, passando para {1:C2}",
salario, aumento);
Console.ReadLine(); //pausa
2. Elabore um programa que receba o valor de um salário de um funcionário e o valor do salário mínimo.
Calcule e apresente quantos salários mínimos ganha esse funcionário.
3. Elabore um programa que receba o preço da compra e preço da venda de um determinado produto.
Calcule e apresente a margem (valor percentual) da transação.
Console.OutputEncoding = System.Text.Encoding.UTF8; //simbolo euro
decimal pcompra, pvenda, transaçãomargem, percentagem;
Console.Write("Indique o valor de compra: ");
pcompra = decimal.Parse(Console.ReadLine());
Console.Write("Indique o valor de venda: ");
pvenda = decimal.Parse(Console.ReadLine());
transaçãomargem = pvenda - pcompra;
percentagem = transaçãomargem / pcompra; //tiramos o "* 100" uma vez q foi substituido
por P2
Console.Write("O valor da transação foi de {0:C2}, em percentagem = {1:P2}",
transaçãomargem, percentagem); // C2 significa 2 casas decimais
if (pvenda > pcompra)
{
Console.Write(" Houve lucro de {0}", transaçãomargem);
}
else if (pvenda == pcompra) //duas barras para atribuir igualdade
{
Console.Write(" O lucro foi nulo");
}
else
{
Console.Write(" Houve prejuízo de {0}", transaçãomargem);
}
Console.ReadLine();
4. Solicite ao utilizador a sua idade. Apresente a mensagem se o utilizador é, ou não, maior de idade (>=18).
5. Elabore um programa que solicite ao utilizador um número inteiro. Apresente uma mensagem a informar
se o valor introduzido é par ou impar.
decimal num;
Console.Write("Insira um número: ");
num = decimal.Parse(Console.ReadLine());
if (num % 2 == 0) //c# é igual python tem dois == iguais p fazer contas,,,, != é =
com traco vertical no meio, desigualdade
{
Console.Write("O número {0} é par!", num);
}
else
{
Console.Write("O número {0} é impar!", num);
}
Console.ReadLine();
6. Elabore um programa que solicite ao utilizador dois valores numéricos. Calcule e apresente o maior valor
introduzido.
decimal num1, num2;
Console.Write("Indique um número: ");
num1 = decimal.Parse(Console.ReadLine());
Console.Write("Indique outro número: ");
num2 = decimal.Parse(Console.ReadLine());
if (num1 > num2)
{
Console.Write("O número {0} é maior que o número {1}", num1, num2);
}
//else if (num1 == num2)
//{
// Console.Write("O número {0} é igual ao número {1}", num1, num2);
//}
//else
//{
// Console.Write("O número {0} é menor que o número {1}", num1, num2);
//}
Console.ReadLine();
7. Faça um programa que receba três notas de um aluno, calcule e apresente a média aritmética entre essas
notas.
8. Faça um programa que receba a idade de uma pessoa em anos, calcule e apresente essa idade convertida
em Meses, Dias, Horas e Minutos. (Considere que todos os meses têm 30 dias).
DateTime data;
DateTime start = new DateTime(2005, 06, 13);
Console.Write("Indique a sua data de nascimento: ");
data = DateTime.Parse(Console.ReadLine());
DateTime end = data;
TimeSpan difference = data - start;
Console.Write("A nossa diferença de idade é de {0} dias", difference.Days);
Console.ReadLine();
9. Faça um programa que receba a data de nascimento de pessoa. Calcule e apresente a idade convertida em
Dias, Horas, Minutos, Segundos e Milissegundos.
DateTime data;
TimeSpan tempo; //tudo oq tem a ver para calcular o tempo
DateTime datatual = DateTime.Now;
Console.Write("Indique a sua data de nascimento: ");
data = DateTime.Parse(Console.ReadLine());
tempo = datatual - data; //idade em tempo (horas, dias) desde que nasceu
Console.WriteLine("total de dias de vida \t\t{0}", (int)tempo.TotalDays); //(int) = fazer
um cast
Console.WriteLine("total de horas de vida \t\t{0}", tempo.TotalHours);
Console.WriteLine("total de horas de vida \t\t{0}", Math.Round(tempo.TotalHours, 0));
Console.WriteLine("total de minutos de vida \t{0}", tempo.TotalMinutes);
Console.WriteLine("total de segundos de vida \t{0}", tempo.TotalSeconds);
Console.WriteLine("total de milissegundos de vida \t{0}", tempo.TotalMilliseconds);
Console.ReadLine();
10. Solicite ao utilizador dois valores inteiros. Efetue a troca entre ambos e apresente os novos valores.
int num1, num2, aux;
Console.Write("Insira o 1º número:");
num1 = int.Parse(Console.ReadLine());
Console.Write("Insira o 2º número:");
num2 = int.Parse(Console.ReadLine());
aux = num1;
num1 = num2;
num2 = aux;
Console.Write("número 1 = {0} \nnúmero 2 = {1}", num1, num2);
12. Uma empresa decide dar um aumento de 15% aos funcionários cujo salário é inferior a 750 €. Escreva um
programa que receba o salário de um funcionário e apresente o valor do salário reajustado ou uma
mensagem caso o funcionário não tenha direito ao aumento.
decimal salario, Rsalario; //double!!
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.Write("Insira o seu salario:");
salario = decimal.Parse(Console.ReadLine());
if (salario < 750)
{
Rsalario = (salario * 15 / 100) + salario;
Console.Write("O seu salário de {0:C1} recebeu um aumento de 15% passando
para {1:C1}", salario, Rsalario);
}
else
{
Console.Write("O seu salário de {0:C1}, por ser inferior a 750€, não
receberá o aumento", salario);
}
Console.ReadLine();
13. Faça um programa que receba as 3 notas de um estudante, calcule e apresente a média final (arredondado
às unidades) e o conceito desse estudante.
Média final Conceito
Menor ou igual a 5 Muito Insuficiente
Entre 5.1 e 9.4 Insuficiente
Entre 9.5 e 13 Suficiente
Entre 13.1 e 17 Bom
Mais de 17 Muito Bom
double nota1, nota2, nota3, media;
Console.Write("Insira a 1ª nota:");
nota1 = double.Parse(Console.ReadLine());
Console.Write("Insira a 2ª nota:");
nota2 = double.Parse(Console.ReadLine());
Console.Write("Insira a 3ª nota:");
nota3 = double.Parse(Console.ReadLine());
media = Math.Round((nota1 + nota2 + nota3) / 3, 0);
switch (media)
{
case double nota when (media > 0 && media <= 5):
Console.Write("{0}.....Muito insuficiente",media); break;
case double nota when (media > 5 && media <= 9.4):
Console.Write("Insuficiente"); break;
case double nota when (media > 9.4 && media <= 13):
Console.Write("Suficiente"); break;
case double nota when (media > 13 && media <= 17): Console.Write("Bom");
break;
case double nota when (media > 17 && media <= 20): Console.Write("Muito
bom"); break;
}
Console.ReadLine();
}
Ângulo Quadrante
0 – 90 1º Quadrante
91 – 180 2º Quadrante
181 – 270 3º Quadrante
271 – 360 4º Quadrante
Desafio:
1. Receba do utilizador as três medidas dos lados de um triângulo. Apresente uma das seguintes
mensagens:
A. Não é um triângulo (a soma de dois lados é menor que o outro ou se algum lado é menor ou igual a
zero);
B. É um triângulo equilátero (três lados iguais);
C. É um triângulo escaleno (três lados diferentes);
D. É um triângulo isósceles (dois lados iguais e um diferente);
if ((lado1 + lado2) < lado3 || (lado3 + lado2) < lado1|| (lado1 + lado3) < lado2)
{
Console.WriteLine("O triangulo é impossível");
}
else
{
if (lado1 == lado2 && lado2 == lado3)
{
Console.WriteLine("O triangulo é equilárero");
}
else
{
if (lado2 != lado1 && lado3 != lado2)
{
Console.WriteLine("O triangulo é escaleno");
}
else //podiamos fazer so um else se quisessemos, pq a opcao q sobrasse seria o isosceles
{
if (lado1 == lado2 && lado3 != lado2 || lado1 == lado3 && lado3 != lado2 || lado2 == lado3 && lado3 != lado1)
{
Console.WriteLine("O triangulo é isoscéles");
}
}
}
}
Console.ReadLine();
Exercícios
(Estruturas de Repetição)
15. Escreva um programa que leia um número indeterminado de idades. Para terminar a introdução de dados
o valor da idade é igual a zero. No final deverá apresentar a média das idades introduzidas.
int idade = 0, pessoas = 0, soma = 0;
do
{
pessoas = pessoas + 1;
Console.Write("Insira a idade da {0}ª pessoa: ", pessoas);
idade = int.Parse(Console.ReadLine());
soma += idade;
} while (idade != 0);
16. Faça um programa que receba a idade e a altura de várias pessoas. Calcule e apresente a média das alturas
das pessoas com mais de 50 anos. Para terminar a entrada de dados digite o valor zero para as idades.
int idade = 0, pessoas = 0;
double altura = 0, soma = 0;
do
{
Console.Write("Insira a idade da pessoa: ");
idade = int.Parse(Console.ReadLine());
if (idade >= 50)
{
Console.Write("Insira a altura da pessoa: ");
altura = double.Parse(Console.ReadLine());
pessoas++;
soma += altura;
}
} while (idade != 0);
17. Escreva um programa que receba a idade de 5 pessoas. Calcule e apresente a quantidade de pessoas
maiores de idade (>=18 anos).
int idade, pessoas = 0;
for (int id = 1; id <= 5; id++)
{
Console.Write("Indique a idade da {0}ª pessoa:", id);
idade = int.Parse(Console.ReadLine());
if (idade >= 18)
{
pessoas = pessoas + 1;
}
}
Console.WriteLine("Existem {0} pessoas maiores de idade",
pessoas);
Console.ReadLine();
}
18. Escreva um programa que receba um conjunto de 5 valores inteiros e positivos, calcule e apresente o maior
e menor valor do conjunto.
int num, maior = 0, menor=0;
for (int n = 1; n <= 5; n++)
{
Console.Write("Insira o {0}º número: ", n);
num = int.Parse(Console.ReadLine());
if (n == 1)
{
maior = num;
menor = num;
}
else
{
if (num > maior) maior = num;
if (num < menor) menor = num;
}
}
Console.WriteLine("O maior número é {0} e o menor é {1}", maior, menor);
Console.ReadLine();
switch (idade)
{
case int FE when (idade > 1 && idade <= 15): FE1++; break;
case int FE when (idade > 16 && idade <= 30): FE2++; break;
case int FE when (idade > 31 && idade <= 45): FE3++; break;
case int FE when (idade > 46 && idade <= 60): FE4++; break;
case int FE when (idade >= 61): FE5++; break;
}
}
Console.Clear();
P1 = (FE1 * 100) / pessoas;
P2 = (FE2 * 100) / pessoas;
P3 = (FE3 * 100) / pessoas;
P4 = (FE4 * 100) / pessoas;
P5 = (FE5 * 100) / pessoas;
Console.Write("Faixas etárias:\n1-15 anos: {0}\n16-30 anos: {1}\n31-45 anos:
{2}\n46-60 anos: {3}\n>= 61 anos: {4}", FE1, FE2, FE3, FE4, FE5);
Console.Write("\nTotal de pessoas:{0}", pessoas);
Console.Write("\nA percentagem de cada faixa etária em relação ao total de pessoas
({0}): \nF1:{1}%\nF2:{2}%\nF3:{3}%\nF4:{4}%\nF5:{5}% ", pessoas,P1,P2,P3,P4,P5);
Console.ReadLine();
20. Tem-se um conjunto de dados contendo a Idade e o género (M ou F) de 10 pessoas. Faça um programa que
calcule e apresente:
A. A média das idades das mulheres;
B. O número de homens.
switch (genero)
{
case "F":
F++;
Console.WriteLine("Indique a idade da {0}ª mulher", F);
idade = int.Parse(Console.ReadLine());
soma += idade;
break;
case "M":
M++;
break;
}
}
Console.WriteLine("Número total de pessoas = {0}", pessoas);
Console.WriteLine("Existem {0} indivíduos do sexo masculino", M);
Console.WriteLine("Existem {0} indivíduos do sexo feminino", F);
Console.WriteLine("Média das idades das mulheres = {0}", soma / F);
Console.ReadKey();
21. Elabore um programa que efetue a estatística a um questionário efetuado à saída de um cinema no qual
constava a idade do espectador e a sua opinião em relação ao filme. (para terminar a introdução de dados
utilize a letra X na opinião do utilizador)
Para a opinião o utilizador deverá indicar uma letra correspondente à sua opinião:
Letra Descrição
P Péssimo
R Regular
B Bom
E Excelente
Calcule e apresente:
A. A média das idades dos espectadores;
B. A quantidade de pessoas que responderam Regular,
C. A Percentagem de pessoas que responderam Bom entre todos os espectadores entrevistados;
D. A média das idades dos espectadores que responderam Excelente.
int idade, pessoas = 0, PB, R = 0, B = 0, E = 0;
decimal soma = 0, soma2 = 0;
char opn; //char usa-se para apenas um caractere ex: R,B, E
do
{
pessoas++;
Console.Write("Insira a {0}ª idade: ", pessoas);
idade = int.Parse(Console.ReadLine());
soma += idade;
Console.Write("Insira a sua opinião acerca do filme: ");
Console.Write("\ndigite 'P' para péssimo\ndigite 'R' para regular\ndigite 'B' para
bom\ndigite 'E' para excelente\ndigite 'X' se não tiver opinião ");
opn = char.Parse(Console.ReadLine().ToUpper());
switch (opn)
{
case 'R': R++; break;
case 'B': B++; break;
case 'E':
E++;
soma2 += idade;
break;
}
Desafio:
2. Receba do utilizador a indicação da figura geométrica (T- Triângulo; Q- Quadrado; R- Retângulo; C-
Circulo; L – Losango) e as medidas da figura. Calcule e apresente a respetiva área.
double baase, haltura, raio, D1, D2;
string figura, triângulo, losango, quadrado, retângulo, circulo;
Console.WriteLine("Geometria");
Console.Write("Indique a figura da qual pretende saber a area: ");
figura = Console.ReadLine();
switch (figura)
{
case "triângulo":
Console.Write("Indique a base do triângulo: ");
baase = double.Parse(Console.ReadLine());
Console.Write("Indique a altura do triângulo: ");
haltura = double.Parse(Console.ReadLine());
Console.Write("A area do triângulo é {0}", (baase * haltura)/2);
break;
case "losango":
Console.Write("Insira a menor diagonal do losango: ");
D1 = int.Parse(Console.ReadLine());
Console.Write("Insira a maior diagonal do losango: ");
D2 = int.Parse(Console.ReadLine());
Console.Write("A area do losango é: {0}", (D1*D2)/2);
break;
case "quadrado":
Console.Write("Indique a base do quadrado: ");
baase = double.Parse(Console.ReadLine());
Console.Write("A area do quadrado é {0}", Math.Pow(baase,2));
break;
case "retângulo":
Console.Write("Insira a altura do retângulo: ");
haltura = int.Parse(Console.ReadLine());
Console.Write("Insira a base do retângulo: ");
baase = int.Parse(Console.ReadLine());
Console.Write("A area do retângulo é: {0}", baase * haltura);
break;
case "circulo":
Console.Write("Indique o raio do circulo: ");
raio = double.Parse(Console.ReadLine());
Console.Write("A area do circulo é {0}",
Math.Round(Math.PI*Math.Pow(raio,2),1));
break;
}
Console.ReadKey();
3. Numa loja de eletrodomésticos utiliza os seguintes códigos para as transações de cada dia:
P- Venda a pronto pagamento
Z – Venda a Prazo
É dada uma lista de transações contendo o valor de cada venda e o respetivo código da transação. Faça
um programa que calcule e apresente:
EXERCICIOS EXTRA
22.
decimal nteste, pteste, ntrabalho, ptrabalho,nota;
Console.Write("Indique a nota do teste: ");
nteste = decimal.Parse(Console.ReadLine());
Console.Write("Indique a ponderação do teste: ");
pteste = decimal.Parse(Console.ReadLine());
Console.Write("Indique a nota do trabalho: ");
ntrabalho = decimal.Parse(Console.ReadLine());
Console.Write("Indique a ponderação do trabalho: ");
ptrabalho = decimal.Parse(Console.ReadLine());
nota = (nteste * pteste) + (ntrabalho * ptrabalho);
Console.Write("A nota final foi de {0} valores e {1}
pontos",Math.Round(nota, 0), Math.Round(nota*10, 1));
24. Uma escola te contratou para fazer a media das notas de alunos de uma sala,
lembrando que a sala tem 5 alunos e que as notas vao de 0 a 20
25.
float idade = 0;
float soma = 0;
float media = 0;
for (float id = 0; id <= 4; id++)
{
Console.Write("Indique a idade do aluno {0}: ", id);
float.TryParse(Console.ReadLine(), out idade);
soma += idade;
}
media = (soma / 5);
Console.WriteLine("A média da idade dos 5 alunos é {0}", media);
Console.ReadLine();
26.
string nome;
Console.Write("Insira o seu nome:");
nome = Console.ReadLine();
Console.Write("Olá, {0}", nome + " seja bem vindo!");
Console.ReadLine();
27.
float salario = 0;
float novosalario = 0;
for (float sal = 1; sal <= 11; sal++)
{
Console.Write("Indique o seu salário: ");
float.TryParse(Console.ReadLine(), out salario);
if (salario <= 300)
{
novosalario = (salario * 50 / 100) + salario;
Console.Write("O seu novo salario é de: {0:C2}", novosalario);
}
else
{
novosalario = (salario * 30 / 100) + salario;
Console.Write("O seu novo salario é de: {0:C2}", novosalario);
}
Console.ReadLine();
28. TABUADA!!!!!!!
decimal num;
Console.Write("Insira um número:");
num = decimal.Parse(Console.ReadLine());
for (decimal ctd = 0; ctd <= 10; ctd++) //ctd++ serve p
adicionar 1 a cada volta no laço até o ctd atingir 10
{
Console.WriteLine("{0} x {1} = {2}", num, ctd, num * ctd);
}
Console.ReadLine();
29.
/*decimal salario, R;
Console.OutputEncoding = System.Text.Encoding.UTF8;
switch (salario)
{
case decimal pagamento when (salario <= 300):
R = (salario * 50 / 100) + salario;
Console.WriteLine("Como o salário do {0}º funcionário é menor ou igual a 300€, este receberá um
reajuste de 50%, passando o seu salário de {1:C2} para {2:C2}",f,salario,R);
break;
case decimal pagamento when (salario > 300):
R = (salario * 30 / 100) + salario;
Console.WriteLine("Como o salário do {0}º funcionário é maior que 300€, este receberá um reajuste de
30%, passando o seu salário de {1:C2} para {2:C2}", f, salario, R);
break;
}
}
Console.ReadLine();*/
IMPORTANTE
Mudar cores – Exercício 16
Manusear tempo – Exercício 9