algop - aula 04

31
Algoritmos e Programação Prof. Marcos Saúde [email protected]

Upload: thiago-toscano-ferrari

Post on 25-Jun-2015

97 views

Category:

Engineering


0 download

DESCRIPTION

Material de apoio para Algoritmos e Programação da Faculdade Pitágoras em Linhares – 2010

TRANSCRIPT

Page 1: Algop - aula 04

Algoritmos e Programação

Prof. Marcos Saú[email protected]

Page 2: Algop - aula 04

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):

Page 3: Algop - aula 04

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."); }

Page 4: Algop - aula 04

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."); } } }

Page 5: Algop - aula 04

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."); } } }

Page 6: Algop - aula 04

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());

Page 7: Algop - aula 04

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; } } }

Page 8: Algop - aula 04

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"); } } }

Page 9: Algop - aula 04

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."); } } }

Page 10: Algop - aula 04

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);

Page 11: Algop - aula 04

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); }

Page 12: Algop - aula 04

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);

Page 13: Algop - aula 04

Exercício 09 double altura, peso, IMC;

Console.Write("Digite a altura:"); altura = double.Parse(Console.ReadLine());

Console.Write("Digite o peso:"); peso = double.Parse(Console.ReadLine());

IMC = peso / (altura*altura);

if (IMC < 18.5) { Console.WriteLine("Abaixo do peso."); } else { if ((IMC >= 18.5) && (IMC < 25)) { Console.WriteLine("Peso normal;"); } else { if ((IMC >= 25) && (IMC < 30)) { Console.WriteLine("Acima do peso."); } else { Console.WriteLine("Obeso."); } } }

Page 14: Algop - aula 04

Exercício 10 string identificacao; double nota1, nota2, nota3, ME, Media_Aproveitamento;

Console.Write("Digite o número de identificação do aluno:"); identificacao = Console.ReadLine();

Console.Write("Digite a primeira nota:"); nota1 = double.Parse(Console.ReadLine());

Console.Write("Digite a segunda nota:"); nota2 = double.Parse(Console.ReadLine());

Console.Write("Digite a terceira nota:"); nota3 = double.Parse(Console.ReadLine());

Console.Write("Digite a Média dos Exercícios:"); ME = double.Parse(Console.ReadLine());

Media_Aproveitamento = (nota1 + nota2 * 2 + nota3 * 3 + ME) / 7;

Console.WriteLine("\n\nNúmero do Aluno: " + identificacao); Console.WriteLine("Nota01: " + nota1); Console.WriteLine("Nota02: " + nota2); Console.WriteLine("Nota03: " + nota3); Console.WriteLine("Médias dos exercícios: " + ME); Console.WriteLine("Média de Aproveitamento: " + Media_Aproveitamento);

Page 15: Algop - aula 04

Exercício 10 - Continuação if (Media_Aproveitamento >= 90) { Console.WriteLine("Conceito A\nAprovado"); } else { if ((Media_Aproveitamento >= 75) && (Media_Aproveitamento < 90)) { Console.WriteLine("Conceito B\nAprovado"); } else { if ((Media_Aproveitamento >= 60) && (Media_Aproveitamento < 75)) { Console.WriteLine("Conceito C\nAprovado"); } else { if ((Media_Aproveitamento >= 40) && (Media_Aproveitamento < 60)) { Console.WriteLine("Conceito D\nReprovado"); } else { Console.WriteLine("Conceito E\nReprovado"); } } } }

Page 16: Algop - aula 04

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;

Page 17: Algop - aula 04

Seleção Múltiplas Possibilidades

Page 18: Algop - aula 04

Seleção Múltiplas Possibilidades

Page 19: Algop - aula 04

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;

Page 20: Algop - aula 04

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 ?);

Page 21: Algop - aula 04

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;

Page 22: Algop - aula 04

Estruturas de Repetição

Page 23: Algop - aula 04

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

Page 24: Algop - aula 04

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;

Page 25: Algop - aula 04

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);

Page 26: Algop - aula 04

Estruturas de Repetição

Page 27: Algop - aula 04

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)

Page 28: Algop - aula 04

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;

Page 29: Algop - aula 04

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;

Page 30: Algop - aula 04

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.

Page 31: Algop - aula 04

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;