Sie sind auf Seite 1von 5

Universidade de Braslia

Departamento de Ciencia da Computacao (CIC)


Algoritmos e Programacao de Computadores - 2017/1
Lista de Exerccios II - Prof. Dr. Vincius Ruela Pereira Borges
Data de divulgacao: 27/04/2017

Algoritmos
1) Elabore um algoritmo que calcule o menor valor dentre tres numeros reais fornecidos pelo usuario.

2) Elabore um algoritmo que leia tres numeros inteiros e calcule:

o mnimo multiplo comum

o maximo divisor comum

3) Escreva um algoritmo que, a partir de um valor 1 n 20 fornecido pelo usuario, mostre na


tela os n primeiros numeros primos. Por exemplo, se n = 4, o algoritmo deve gerar como resultado a
sequencia (isto e, os quatro primeiros numero primos):

2,3,5,7

4) Implemente um algoritmo para verificar se um caractere fornecido pelo usuario e maiusculo ou


nao. Caso nao seja maiusculo, imprimir na tela seu correspondente maiusculo. Alem disso, o algoritmo
deve tratar os casos em que o caractere fornecido e um numero ou um smbolo, isto e, deve-se apresentar
uma mensagem de erro e solicitar que o usuario digite novamente o caractere. Nao utilize funcoes da
biblioteca ctype.h.

5) Faca um algoritmo para verificar se um determinado numero inteiro e divisvel por 3 ou 5, mas
nao simultaneamente pelos dois.

6) Dados tres valores (A, B e C), verificar se eles podem ser valores dos lados de um triangulo e, se
forem, se e um triangulo escaleno, equilatero ou isosceles, considerando os seguintes conceitos:

O comprimento de cada lado de um triangulo e menor do que a soma dos outros dois lados.

Chama-se equilatero o triangulo que tem tres lados iguais.

Denominam-se isosceles o triangulo que tem o comprimento de dois lados iguais.

Recebe o nome de escaleno o triangulo que tem os tres lados diferentes.


7) Elabore um algoritmo que converta algumas medidas padroes americanas para medidas comumente
utilizadas no Brasil. As medidas sao:

medida brasileira medida americana abreviacao americana


3,7854 litros 1 galao (gallon) g
2,54 centmetros 1 polegada (inch) i
1,6 kilometros 1 milha (mile) m
0,453592 quilos 1 libra (pound) p

O usuario deve fornecer dados na medida americana, seguindo o formato:

<valor><abreviacao americana>

1
em que <valor> e um numero real e <abreviacao americana> esta descrita na Tabela acima. Por exem-
plo, se o usuario digitar 4.5i, significa 4.5 polegadas ou se o usuario digitar 300g significa 300 galoes.
Caso o usuario forneca dados incoerentes com o formato estabelecido, seu algoritmo deve informar men-
sagem de erro e solicitar que digite novamente.
O algoritmo deve ler o valor em medida americana e converter para a medida brasileira correspon-
dente de acordo com a Tabela acima. Por exemplo, se o usuario digitar 4.5i, seu programa deve mostrar
como resultado 11.43cm. Agora, se o usuario digitar 177p, o programa deve imprimir 80.2858kg.

8) Faca um algoritmo que calcule o IMC de uma pessoa e mostre sua classificacao de acordo com a
tabela abaixo:
IMC Condicao
< 18 abaixo do peso
18.6 24, 9 saudavel
25.0 29.9 peso em excesso
30.0 34.9 obeso
35.0 39.9 obesidade severa
40 obesidade morbida

9) O custo ao consumidor de um carro novo e a soma do custo de fabrica, da comissao do distribuidor,


e dos impostos. A comissao e os impostos sao calculados sobre o custo de fabrica, de acordo com a tabela
abaixo. Leia o custo de fabrica e escreva o custo ao consumidor.
Custo de fabrica % do distribuidor % dos impostos
ate R$12.000, 00 5% isento
entre R$12.000, 00 e R$25.000, 00 10% 15%
acima de R$25.000, 00 15% 20%

10) Uma empresa decide dar um aumento aos seus funcionarios de acordo com uma tabela que
considera o salario atual e o tempo de servico de cada funcionario. Os funcionarios com menor salario
terao um aumento proporcionalmente maior do que os funcionarios com um salario maior, e conforme
o tempo de servico na empresa, cada funcionario ira receber um bonus adicional de salario. Faca um
programa que leia:
o valor do salario atual do funcionario;
o tempo de servico desse funcionario na empresa (numero de anos de trabalho na empresa).
Use as tabelas abaixo para calcular o salario reajustado deste funcionario e imprima o valor do salario
final reajustado, ou uma mensagem caso o funcionario nao tenha direito a nenhum aumento.

Salario Atual Reajuste(%) Tempo de Servico Bonus


Ate 500,00 25% abaixo de 1 ano Sem bonus
Ate 1000,00 20% de 1 a 3 anos 100,00
Ate 1500,00 15% de 4 a 6 anos 200,00
Ate 2000,00 10% de 7 a 10 anos 300,00
Acima de 2000,00 Sem reajuste mais de 10 anos 500,00

11) Uma empresa vende o mesmo produto para quatro diferentes estados. Cada estado possui uma
taxa diferente de imposto sobre o produto (MG 7%; SP 12%; RJ 15%; MS 8%). Facaa um algoritmo
em que o usuario entre com o valor e o estado destino do produto e o programa retorne o preco final do
produto acrescido do imposto do estado em que ele sera vendido. Se o estado digitado nao for valido,
mostrar uma mensagem de erro.

12) Elabore um algoritmo que leia um numero inteiro positivo par n e imprima todos os numeros
pares de 0 ate n em ordem decrescente.

2
13) Formule um algoritmo que forneca todos os numeros palndromes entre 1000 e 9999.

14) Elabore um programa que calcule o somatorio H(n) da serie harmonica:


1 1 1 1
H(n) = 1 + + + + ... + (1)
2 3 4 n
15) Faca um algoritmo que leia dois numeros inteiros x e y (y deve ser maior do que x), e calcule o
produto dos numeros mpares compreendidos entre x e y. Caso o usuario digite um intervalo invalido, o
algoritmo deve notificar o usuario para digitar novamente um intervalo valido.

16) Escreva tres algoritmos utilizando cada uma das estruturas de repeticao abaixo:

While
Do-While
For

em que o usuario forneca um valor n e calcule o somatorio S:

S = 1 2 + 3 4 + 5 + ... + (2n 1) (2)


17) Faca um algoritmo que calcule o terno pitagorico a, b, c, para o qual a + b + c = 1000. Um terno
pitagorico e um conjunto de tres numeros naturais, a, b, c, para a qual,

a 2 + b2 = c 2 (3)
Por exemplo,

32 + 42 = 9 + 16 = 25 = 52 (4)
18) Elabore um algoritmo que leia n valores reais e calcule o desvio-padrao para tais valores.

(Utilizar funcoes na elaboracao dos algoritmos abaixo)


19) Faca um algoritmo que receba a data atual (dia, mes e ano em inteiro) e exiba-a na tela no
formato textual por extenso. Exemplo:

Data: 01/01/2000
Imprimir: 1 de janeiro de 2000.

20) Crie um algoritmo que receba uma temperatura em graus Celsius e retorne-a convertida em graus
Fahrenheit. A formula de conversao e:

F = C (9.0/5.0) + 32.0 (5)


sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
21) Faca um algoritmo que receba um inteiro n como parametro, calcule e retorne o resultado da
seguinte serie:

2 5 10 (n2 + 1)
S= + + + ... + (6)
4 5 6 (n + 3
22) Escreva um algoritmo que receba como parametro o valor de um angulo em graus e calcule o
valor do seno desse angulo usando sua respectiva serie de Taylor:
X (?1)n x3 x5
sin(x) = n = 0 x2n1 = x + para todo x (7)
(2n + 1)! 3! 5!
em que x e o valor do angulo em radianos. Considerar = 3.141593 e 0 n 5.

3
Logica de Programacao
23. (FGV-2009) Observe o trecho de codigo abaixo e informe o valor da variavel soma ao final do
processamento.

indice 13;
soma 0;
k 0;
enquanto (k < indice) faca
k k+1;
soma soma+k;
Imprime(k);
fim enquanto
Imprime(soma);

24) Analise o pseudo-codigo abaixo e indique inconsistencias em sua estrutura logica (caso exista(m)):

Algoritmo teste
Variaveis
salBase, salReceber, grat, imp : real
Incio
Leia(salBase);
grat (salBase*5/100);
salReceber salReceber + grat - imp;
imp salReceber*7/100;
salReceber salReceber - imp;
Escreva(salReceber);
Fim

25) Analise o pseudo-codigo abaixo e apresenta os valores finais das variaveis x e j

Algoritmo Lacos
Variaveis
j,x : inteiro
Incio
j 1;
x 2;
enquanto (j < 10) faca
x x+1;
j j+2;
fim enquanto
Imprime(x);
Imprime(j);
Fim

26) Um programador implementou o seguinte codigo em linguagem C para imprimir apenas os


numeros pares compreendidos entre 0 e 20.

#include <stdio.h>
main()
{
int i;
for(i = 1; i <= 20 && !(i%2);i++)
{
printf("%d",i);
}
return 0;
}

4
No entanto, o codigo-fonte nao apresenta um funcionamento correto. Responda:

Identifique e descreva o comportamento do codigo-fonte acima;

Reescreva o codigo-fonte de maneira correta de acordo com seu proposito original.

Das könnte Ihnen auch gefallen