2. Linguagem C#
A seguir, respostas dos exercícios
propostos na AULA 03 (aula anterior –
Estruturas de Decisão – comando de
seleção se ... então ... senão):
3. Exercício 01
int num1, num2;
Console.Write("Digite um número inteiro:");
num1 = Int32.Parse(Console.ReadLine());
Console.Write("Digite outro número inteiro:");
num2 = Int32.Parse(Console.ReadLine());
if (num1 > num2)
{
Console.WriteLine(num1 + " é o maior.");
}
else
{
Console.WriteLine(num2 + " é o maior.");
}
4. Exercício 02
int A, B, C;
Console.Write("Digite o número A:");
A = Int32.Parse(Console.ReadLine());
Console.Write("Digite o número B:");
B = Int32.Parse(Console.ReadLine());
Console.Write("Digite o número C:");
C = Int32.Parse(Console.ReadLine());
if (A > B)
{
if (B > C) // neste caso A > B > C
{
Console.WriteLine("A é o maior e C é o menor número.");
}
else // neste caso C > B
{
if (A > C) // se for verdadeiro, A > C > B
{
Console.WriteLine("A é o maior e B é o menor número.");
}
else // C > A > B
{
Console.WriteLine("C é o maior e B é o menor número.");
}
}
}
5. Exercício 02 - Continuação
else // neste caso B > A
{
if (A > C) // neste caso B > A > C
{
Console.WriteLine("B é o maior e C é o menor número.");
}
else // neste caso C > A
{
if (B > C) // se for verdadeiro, B > C > A
{
Console.WriteLine("B é o maior e A é o menor número.");
}
else // C > B > A
{
Console.WriteLine("C é o maior e A é o menor número.");
}
}
}
6. Exercício 03 e 04
double S1, S2, S3;
double A = 0, B = 0, C = 0;
Console.Write("Digite o lado S1:");
S1 = double.Parse(Console.ReadLine());
Console.Write("Digite o lado S2:");
S2 = double.Parse(Console.ReadLine());
Console.Write("Digite o lado S3:");
S3 = double.Parse(Console.ReadLine());
7. Exercício 03 e 04 - Continuação
// descobrir o maior dos lados e guardar na variável A (as variáveis B e C guardam os outros lados)
if ((S1 > S2) && (S1 > S3)) // se S1 for o maior
{
A = S1;
B = S2;
C = S3;
}
else
{
if ((S2 > S1) && (S2 > S3)) // se S2 for o maior
{
A = S2;
B = S1;
C = S3;
}
else
{
if ((S3 > S1) && (S3 > S2)) // se S3 for o maior
{
A = S3;
B = S1;
C = S2;
}
}
}
8. Exercício 03 e 04 - Continuação
// Constatar o tipo do triângulo e exibir mensagem
if (A >= (B + C))
{
Console.WriteLine("Nenhum triângulo é formado");
}
else
{
if ((Math.Pow(A,2)) == (Math.Pow(B,2) + Math.Pow(C,2)))
{
Console.WriteLine("Triângulo retângulo");
}
else
{
if ((Math.Pow(A,2)) > (Math.Pow(B,2) + Math.Pow(C,2)))
{
Console.WriteLine("Triângulo obtusângulo");
}
else
{
Console.WriteLine("Triângulo acutângulo");
}
}
}
9. Exercício 05
float indice;
Console.WriteLine("Digite o índice de poluição:");
indice = float.Parse(Console.ReadLine());
if (indice < 0.30)
{
Console.WriteLine("Indice aceitável.");
}
else
{
if (indice > 0.50)
{
Console.WriteLine("As indústrias A, B e C devem ser notificadas.");
}
else
{
if (indice > 0.40)
{
Console.WriteLine("As indústrias A e B devem ser notificadas.");
}
else
{
Console.WriteLine("A indústria A deve ser notificada.");
}
}
}
10. Exercício 06
int A, B, C;
Console.Write("Digite um número inteiro:");
A = Int32.Parse(Console.ReadLine());
Console.Write("Digite outro número inteiro:");
B = Int32.Parse(Console.ReadLine());
if (A == B)
{
C = A + B;
}
else
{
C = A * B;
}
Console.WriteLine("O resultado é " + C);
11. Exercício 07
int numero;
Console.Write("Digite um número inteiro:");
numero = Int32.Parse(Console.ReadLine());
if (numero > 0) // caso seja positivo
{
Console.WriteLine("O dobro é " + numero * 2);
}
else // caso seja negativo
{
Console.WriteLine("O triplo é " + numero * 3);
}
12. Exercício 08
double altura, peso;
string sexo;
Console.Write("Digite a altura:");
altura = double.Parse(Console.ReadLine());
Console.Write("Digite o sexo (F ou M):");
sexo = Console.ReadLine();
if (sexo == "F")
{
peso = (72.7 * altura) - 58;
}
else
{
peso = (62.1 * altura) - 44.7;
}
Console.WriteLine("O peso ideal é " + peso);
16. Seleção Múltiplas Possibilidades
Estrutura de Seleção – switch
Para tratar decisões que possuem valores
pré-definidos;
A variável utilizada na decisão de um
switch deverá ser de um dos tipos
seguintes: byte, sbyte, short, ushort, int,
uint, long, char e string;
19. Exercícios
1) Desenvolva um programa que leia dois números e
um operando (+,-,* ou /). Use o comando switch para
realizar a operação solicitada, de acordo com o que
foi digitado pelo usuário;
2) Construir um programa para ler um número de 1 a
7 e informar o dia da semana, sendo domingo o dia
número 1. Se o número não corresponder a um dia
da semana, é mostrada uma mensagem de erro;
3) Elaborar um programa para ler um número de 1 a
12 e informar o trimestre correspondente, sendo
Jan/Fev/Mar o 1º Trimestre. Se for um número
incorreto, mostrar mensagem de erro;
20. Estruturas de Repetição
Há ocasiões em que é necessário
repetir um trecho do programa um
determinado número de vezes;
Comandos apropriados para repetir
determinados trechos de programa
quantas vezes forem necessárias;
Exemplo: Algoritmo para somar os
números de 1 a 100 (como fazer isso ?);
21. Estruturas de Repetição
Teste Lógico no Início do Laço
É uma estrutura que faz um teste lógico no
início de um laço, verificando se é
permitido executar o trecho subordinado a
esse laço;
enquanto (condição) faça ... fim enquanto;
23. Exercícios
4) Faça um programa que leia dois números inteiros, o primeiro
é o valor inicial de um contador, e o segundo é o valor final do
contador (o valor inicial fornecido é inferior ao valor final).
Usando o comando WHILE, escreva na tela uma contagem
que comece no primeiro número lido, escreva os números
seguintes colocando apenas um número em cada nova linha da
tela, até chegar ao valor final indicado.
Exemplo de tela de saída:
Entre com o numero inicial da contagem: 5
Entre com o numero final da contagem: 9
5
6
7
8
9
24. Exercícios
5) Ler o nome de um aluno e suas duas
notas A e B, e após calcular a média
ponderada entre estas notas (A tem peso 1 e
B tem peso 2). Repetir este procedimento
para uma turma composta por três alunos,
usando o comando WHILE.
Exemplo de tela de saída:
Entre com o nome do aluno: Joao da Silva
Entre com a nota A: 5.0
Entre com a nota B: 6.0
O aluno João da Silva tem uma média: 5.66
... fazer o mesmo acima para mais dois alunos;
25. Estruturas de Repetição
Teste Lógico no Final do Laço
É uma estrutura que realiza um teste
lógico no fim de um laço;
repita ... até (condição);
27. Exercícios
6) Fazer um programa que calcule e imprima o
fatorial de um número fornecido pelo usuário, usando
o comando WHILE. O fatorial de um número inteiro
positivo é definido como o número multiplicado por
ele menos 1, menos 2, etc até o valor 1. Por
exemplo, o fatorial de 4 é 4x3x2x1=24. Por fim,
aperfeiçoe o programa para que calcula o fatorial de
um número até que o usuário digite não (use do ...
while (condição);).
Exemplo de tela de saída:
Entre com um número: 5
O fatorial de 5 é 120
Outro número (sim/não) ? não (se responder sim, repete a
operação, se não - sai do programa)
28. Exercícios
7) Faça um programa que leia dois números
e apresente na tela as seguites opções para
o usuário escolher:
[1] Soma dos números;
[2] Multiplicação dos números;
[3] Média dos números;
[4] Finalizar o programa;
O programa só deve ser finalizado quando o
usuário escolher a opção 4, caso contrário o
programa deve continuar apresentando as
opções ao usuário;
29. Exercícios
8) O processo de localizar o valor maior
(o valor máximo de um grupo de
valores) é freqüentemente utilizado em
aplicativos de computador. Implemente
um aplicativo que receba como entrada
uma série de 10 números e como saída
apresente o maior valor entre os
números inseridos;
30. Exercícios
9) Uma companhia de pulverização utiliza aviões para pulverizar lavouras. Os
custos de pulverização dependem do tipo de praga e da área contratada,
conforme o esquema:
Tipo 1: pulverização contra ervas daninhas, R$ 50,00 por acre;
Tipo 2: pulverização contra gafanhotos, R$ 100,00 por acre;
Tipo 3: pulverização contra broca, R$ 150,00 por acre ;
Tipo 4: pulverização contra tudo acima, R$ 250,00 por acre.
Se a área a ser pulverizada é maior que 100 acres, o fazendeiro recebe um
desconto de 10%;
Preparar um programa que leia uma série de dados contendo as informações:
Numero de inscrição do fazendeiro, tipo de pulverização (código de 1 a
4) e a área a ser pulverizada ( inteiro);
Exemplo: 10201 3 950
Para cada dado lido, calcular o custo total para o fazendeiro e imprimir seu
número de inscrição seguido da sua conta.
O algoritmo termina quando o numero de inscrição 9999 for digitado.
31. Exercícios
10) Para realizar a totalização dos votos de uma eleição para
um cargo majoritário com 3 candidatos, leia os votos de cada
seção até que seja digitado número de seção 0 (zero) – que
finalizará o programa;
Para cada seção são informados: o número de votos do candidato
A, B, C, o número de votos brancos e nulos. Então determine:
a. O número de votantes
b. O total de votos de cada candidato
c. O total de votos brancos e de votos nulos
d. O total de votos válidos
e. O candidato com maior votação
f. Se a eleição foi válida e para isso o total de votos brancos mais votos
nulos deve ser menor que o total de votos válidos;
g. Se haverá segundo turno, para não haver segundo turno basta que
o total de votos do candidato vencedor seja maior que 50% dos votos
válidos;