Linguagens de Programação I - Lista 02 Resolvida

8
OBS: Agradecimentos ao prof. Cláudio Miguel (Unidade Ipanema) pela concessão deste material Linguagens de Programação I 2 a Lista de Exercícios Assunto: Tomada de decisão OBS: Onde etá “programa”, leia-se “algoritmo Exercícios de Fixação 1. Faça um programa que leia um número e imprima uma mensagem dizendo se é par ou impar. Algoritmo inteiro n leia (n) se (n MOD 2 == 0) então imprima (“Par”) senão imprima (“Par”) fim_se fim 2. Faça um programa que leia 2 números e imprima uma mensagem dizendo se são iguais ou diferentes. Algoritmo inteiro n1, n2 leia (n1, n2) se (n1 == n2) então imprima (“Iguais”) senão imprima (“Diferentes”) fim_se fim 3. Faça um programa que leia 2 números e imprima uma mensagem dizendo o maior deles. Suponha que os números serão diferentes. Algoritmo inteiro n1, n2 leia (n1, n2) se (n1 > n2) então imprima (“Maior e o n1 = “, n1) senão

description

Tomada de decisão

Transcript of Linguagens de Programação I - Lista 02 Resolvida

Page 1: Linguagens de Programação I - Lista 02 Resolvida

OBS: Agradecimentos ao prof. Cláudio Miguel (Unidade Ipanema) pela concessão deste material

Linguagens de Programação I

2a Lista de Exercícios

Assunto: Tomada de decisão

OBS: Onde etá “programa”, leia-se “algoritmo

Exercícios de Fixação

1. Faça um programa que leia um número e imprima uma mensagem dizendo se é par ou impar.

Algoritmointeiro nleia (n)se (n MOD 2 == 0) então

imprima (“Par”) senão

imprima (“Par”)fim_se

fim

2. Faça um programa que leia 2 números e imprima uma mensagem dizendo se são iguais ou

diferentes.

Algoritmointeiro n1, n2leia (n1, n2)se (n1 == n2) então

imprima (“Iguais”) senão

imprima (“Diferentes”)fim_se

fim

3. Faça um programa que leia 2 números e imprima uma mensagem dizendo o maior deles.

Suponha que os números serão diferentes.

Algoritmointeiro n1, n2leia (n1, n2)se (n1 > n2) então

imprima (“Maior e o n1 = “, n1) senão

Page 2: Linguagens de Programação I - Lista 02 Resolvida

2/8

imprima (“Maior e o n2 = “, n2)fim_se

fim

4. Faça um programa que leia 2 números e imprima uma mensagem dizendo o maior deles. Detalhe:

se os números forem iguais, imprima uma mensagem avisando ao usuário.

Algoritmointeiro n1, n2leia (n1, n2)se (n1 > n2) então

imprima (“Maior e o n1 = “, n1) senão

se (n2 > n1) então imprima (“Maior e o n2 = “, n2) senão imprima (“Iguais = “, n1)fim_se

fim_se

fim

5. Faça um programa que leia da entrada padrão um número e imprima o seu valor absoluto (sem o

sinal).

Algoritmoreal nleia (n)se (n < 0) então

imprima (-n) senão

imprima (n)fim_se

fim

6. Faça um programa que leia 3 números e imprima o menor deles.

Algoritmoreal n1, n2, n3leia (n1, n2, n3)se (n1 < n2) e (n1 < n3) então

imprima (n1)

Page 3: Linguagens de Programação I - Lista 02 Resolvida

3/8

senãose (n2 < n3) então imprima (n2) senão imprima (n3)fim_se

fim_se

fim

7. Faça um programa que leia 3 números e os imprima em ordem crescente.

Algoritmoreal n1, n2, n3leia (n1, n2, n3)se (n1 <= n2) e (n2 <= n3) então

imprima (n1, n2, n3) senão

se (n1 <= n3) e (n3 <= n2) então imprima (n1, n3, n2) senão

se (n2 <= n1) e (n1 <= n3) então imprima (n2, n1, n3) senão

se (n2 <= n3) e (n3 <= n1) então imprima (n2, n3, n1) senão

se (n3 <= n2) e (n2 <= n1) então

imprima (n3, n2, n1)senão

imprima (n3, n1, n2) fim_se fim_sefim_se

fim_se

fim

Outra forma:

Algoritmoreal n1, n2, n3, maior, meio, menor, restante1, restante2leia (n1, n2, n3)

Page 4: Linguagens de Programação I - Lista 02 Resolvida

4/8

se (n1 < n2) e (n1 < n3) então

menor = n1restante1 = n2restante2 = n3

senãose (n2 < n3) então menor = n2

restante1 = n1restante2 = n3

senão menor = n3

restante1 = n1restante2 = n2

fim_sefim_se

se (restante1<restante2) então

meio = restante1maior = restante2

senãomeio = restante2maior = restante1

fim_se

imprima (menor, meio, maior)

fim

8. Faça um programa que leia 3 números e os imprima em ordem decrescente.

Similar ao anterior (só muda a ordem)

9. Faça um programa que leia 3 números e imprima o valor intermediário, entre o menor e o maior

número. Suponha que os números serão diferentes.

Algoritmoreal n1, n2, n3leia (n1, n2, n3)se (n2 < n1) e (n1 < n3) ou (n3 < n1) e (n1 < n2) então

imprima (n1) senão

se (n1 < n2) e (n2 < n3) ou (n3 < n2) e (n2 < n1) então imprima (n2)

Page 5: Linguagens de Programação I - Lista 02 Resolvida

5/8

senãoimprima (n3)

fim_sefim_se

fim

10. Faça um programa que leia 3 números e imprima uma das seguintes mensagens:

• todos os números são iguais;

• todos os números são diferentes; ou

• apenas dois números são iguais.

Algoritmoreal n1, n2, n3leia (n1, n2, n3)se (n1 == n2) e (n2 == n3) então

imprima (“todos os números são iguais”) senão

se (n1 == n2) ou (n1 == n3) ou (n2 == n3) então

imprima (“apenas dois são iguais”) senão

imprima (“todos os números são diferentes”)fim_se

fim_sefim

11. Faça um programa que leia três notas de um aluno, calcule sua média aritmética e imprima uma

mensagem dizendo se o aluno foi aprovado, reprovado ou deverá fazer prova final. O critério de

aprovação é o seguinte:

• aprovado (média ≥ 7);

• reprovado (média < 3) e

• prova final ( 3 ≤ média < 7).

Algoritmoreal n1, n2, n3, medialeia (n1, n2, n3)media = (n1+n2+n3)/3se (media >= 7) então

imprima (“Aprovado”) senão

se (media < 3) então

Page 6: Linguagens de Programação I - Lista 02 Resolvida

6/8

imprima (“Reprovado”) senão

imprima (“Prova final”)fim_se

fim_sefim

12. Faça um programa que leia a idade de uma pessoa e informe sua classe eleitoral:

• não eleitor (abaixo de 16 anos);

• eleitor obrigatório (entre 18 e 65 anos) e

• eleitor facultativo (entre 16 e 18 anos e acima dos 65 anos).

Algoritmointeiro idadeleia (idade)se (idade < 16) então

imprima (“Não eleitor”) senão

se (idade >=18 e idade < 65) então

imprima (“Eleitor obrigatorio”) senão

imprima (“Eleitor facultativo”)fim_se

fim_se

fim

13. Faça um programa que calcula a área de determinadas figuras geométricas. O programa deveráapresentar um menu com as seguintes opções:

• quadrado ( lado2 )

• retângulo (comprimento * largura)

• círculo (3,14 * raio2 )

• trapézio ((base maior + base menor) * altura / 2)

De acordo com a opção, o programa deve pedir os valores necessários para realizar o cálculo.

Algoritmoreal lado, comprimento, largura, raio, baseMaior, baseMenor, alturainteiro opcaoimprima (“[1] Quadrado”)imprima (“[2] Retângulo”)imprima (“[3] Círculo”)imprima (“[4] Trapézio”)imprima (“Digite sua opção: “)

Page 7: Linguagens de Programação I - Lista 02 Resolvida

7/8

leia (opcao)se (opcao == 1) então

imprima (“Entre com o lado: ”)leia (lado)imprima (“Area = ”, lado*lado)

senãose (opcao == 2) então

imprima (“Entre com o comprimento: ”)leia(comprimento)imprima (“Entre com a largura: ”)leia(largura)imprima (“Area = ”, comprimento * largura)

senãose (opcao == 3) então

imprima (“Entre com o raio: ”)leia(raio)imprima (“Area = ”, 3,14*raio*raio)

senãose (opcao == 4) então

imprima (“Entre com a base maior: ”)leia(baseMaior)imprima (“Entre com a base menor: ”)leia(baseMenor)imprima (“Entre com a altura: ”)leia(altura)imprima (“Area = ”, (baseMaior+baseMenor)*altura/2)

fim_sefim_se

fim_sefim_se

fim

14. Em uma eleição presidencial, existem quatro candidatos. Os votos são informados através de

código. Os dados utilizados para a escrutinagem obedecem à seguinte codificação:

• 1, 2, 3, 4 = voto para os respectivos candidatos;

• 5 = voto nulo;

• 6 = voto em branco;

Elabore um programa que calcule e imprima:

a) total de votos para cada candidato;

b) total de votos nulos;

c) total de votos em branco;

d) percentual dos votos em branco e nulos sobre o total;

e) situação do candidato vencedor sobre os outros dois, no caso, se ele obteve ou não mais

Page 8: Linguagens de Programação I - Lista 02 Resolvida

8/8

votos que os outros dois somados.

Como finalizador do conjunto de votos, tem-se o valor 0.

15. Uma equipe de vôlei paga aos seus jogadores, além do salário, um valor adicional ao salário

mensal (bicho) que é função da produtividade de cada um.

Essa produtividade é paga de acordo com a tabela a seguir:

classe nível valor adicional

1 excelente +100%

2 bom +80%

3 médio +50%

4 regular +30%

5 precisa treinar mais +10%

6 te cuida +5%

7 passe no Departamento Pessoal 0%

Faça um programa que, dados o salário e o código da classe de um jogador, calcule e imprima oseu salário final e o nome da sua classe (nível).

16. Faça um programa que implemente uma máquina de calcular com operações +, -, *, / e %,

através da leitura de dois operandos numéricos inteiros e do operador (tipo caracter), no formato:

operando1 operador operando2. Verifique casos de operações que não podem ser realizadas (antes

de operá-las).

17. Faça um programa que leia um horário no sistema de 24 horas e imprima este horário no sistema

de 12 horas.

Exemplo: 22:32 → 10:32 pm

Obs.: 0:00 → 12:00 am 6:00 → 6:00 am 12:00 → 12:00 pm