Programação de Computadores I – BCC 701 Lista de - ICEB-UFOP

Propaganda
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Programação de Computadores I – BCC 701
Lista de Exercícios Módulo 02
2013-2
Exercícios de Séries
Exercício 29
Seja a seguinte série:
1, 4, 9, 16, 25, 36, ...
Escreva um programa que gere esta série até o N-ésimo termo.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE TERMOS A SER IMPRESSA: 5
Saída
NÚMEROS DA SÉRIE:
1 4 9 16 25
Exercício 30
A série de Fibonacci é formada pela sequência:
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
Escreva um programa que gere os N primeiros termos da série de FIBONACCI,
sabendo-se que para existir esta série serão necessários pelo menos três termos.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O NÚMERO DE TERMOS DESEJADOS: 6
Saída
1 1 3 5 8 13
1
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Exercício 31
A série de RICCI difere da série de FIBONACCI porque os dois primeiros
termos são fornecidos pelo usuário. Os demais termos desta série são gerados da
mesma forma que a série de FIBONACCI. Criar um programa que imprima os N
primeiros termos da série de RICCI e a soma dos termos impressos, sabendo-se que
para existir esta série serão necessários pelo menos três termos.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O NÚMERO DE TERMOS DESEJADOS: 9
DIGITE O PRIMEIRO TERMO DA SÉRIE: 3
DIGITE O SEGUNDO TERMOD A SÉRIE: 4
Saída
3 4 11 18 29 47 76 123 199
Exercício 32
Seja a seguinte série:
1, 4, 4, 2, 5, 5, 3, 6, 6, 4, 7, 7, ...
Escreva um programa que seja capaz de gerar os N-termos dessa série. A quantidade
de termos (N) deve ser fornecida pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE TERMOS (N): 12
Saída
1 4 4 2 5 5 3 6 6 4 7 7
Exercício 33
A série de FETUCCINE é gerada da seguinte forma: os dois primeiros termos
são fornecidos pelo usuário; a partir daí, os termos são gerados com a soma ou
subtração dos dois termos anteriores de acordo com as seguintes regras:
2
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Ai  Ai 1  Ai 2 para i ímpar
Ai  Ai 1  Ai 2 para i par
Criar um programa que imprima os N primeiros termos da série de
FETUCCINE, sabendo-se que para existir esta série serão necessários pelo menos três
termos.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O NÚMERO DE TERMOS DESEJADOS: 5
DIGITE O PRIMEIRO TERMO DA SÉRIE: 3
DIGITE O SEGUNDO TERMO DA SÉRIE: 12
Saída
3 12 15 3 18
Exercício 34
1
1 1
1
Sendo H = 1 + 2 + 3 + 4 + ... N , faça um programa para gerar o número H.
O número N é fornecido pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE TERMOS (N): 6
Saída
H = 2.45
Exercício 35
1
1 1
1
Sendo H = 1 - 2 + 3 - 4 + ... N , faça um programa para gerar o número H. O
número N é fornecido pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE TERMOS (N): 6
3
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Saída
H = 0.616667
Exercício 36
Sendo S = 1 +
1
1
1
1
1
+ 3 + 4 + 5 + ... +
, um somatório de N termos,
2
2
4
3
5
NN
escreva um programa para calcular S para um dado número N de termos.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O NÚMERO DE TERMOS N: 6
Saída
O VALOR DA SOMA = 1.49139
Exercício 37
O valor aproximado do número  pode ser calculado através da seguinte
série:
S  1
1 1
1
1
 3  3  3
3
3 5
7
9
3
sendo   S  32 . Faça um programa que calcule e imprima o valor de  usando os 51
primeiros termos da séria acima.
A seguir, uma ilustração da entrada e saída de uma execução do
programa.
Entrada
Saída
PI = 3.14159
Exercício 38
Faça um programa para calcular o valor de S, dado por:
1
2
3
N 1 N
S 



N N 1 N  2
2
1
4
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
sendo N é fornecido pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE TERMOS (N): 9
Saída
S = 19.2897
Exercício 39
Faça um programa que:

Leia um número real X do teclado;

Determine e imprima o seguinte somatório:
SX
X X X X
   
1! 2! 3! 4!
Usando os 20 primeiros termos da série.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O VALOR DE X: 25
Saída
S = 9.19699
Exercício 40
Implementar um programa para calcular o sen(x). O valor de x deverá ser
informado pelo usuário em graus. O valor do seno de x será calculado pela soma dos 15
primeiros termos da série a seguir:
sen( x )  x 
x 3 x 5 x 7 x 9 x 11




 ...
3! 5! 7! 9! 11!
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
5
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
DIGITE O VALOR DO ÂNGULO x (GRAUS): 45
Saída
sen(45) = 0.707107
Exercício 41
Implementar um programa para calcular o cos(x). O valor de x deverá ser digitado
em graus. O valor do cosseno de x será calculado pela soma dos 15 primeiros termos da
série a seguir:
cos( X )  1 
x 2 x 4 x 6 x 8 x10




 ...
2! 4! 6! 8! 10!
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O VALOR DO ÂNGULO x (GRAUS): 60
Saída
cos(60) = 0.601883
Estrutura de Repetição while
Exercício 42
Escreva um programa que receba números do usuário e imprima o triplo de
cada número. O programa deve encerrar quando o número –999 for digitado.
A seguir, uma ilustração da entrada e da saída de uma execução do
programa.
Entrada/Saída
DIGITE
TRIPLO
DIGITE
TRIPLO
DIGITE
UM
DE
UM
DE
UM
NÚMERO QUALQUER: 6
6: 18
NÚMERO QUALQUER: 5
5: 15
NÚMERO QUALQUER: -999
6
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Exercício 43
Escreva um programa que receba números do usuário enquanto eles forem
positivos e ao fim o programa deve imprimir a média dos números digitados.
A seguir, uma ilustração da entrada e da saída de uma execução do
programa.
Entrada
DIGITE
DIGITE
DIGITE
DIGITE
UM
UM
UM
UM
NÚMERO:
NÚMERO:
NÚMERO:
NÚMERO:
2
3
6
-9
Saída
MÉDIA DOS NÚMEROS DIGITADOS: 3.66667
Exercício 44
Escreva um programa que leia vários números e informe quantos números
entre 100 e 200 foram digitados. Quando o valor 0 (zero) for lido, o programa deverá
encerrar sua execução.
A seguir, uma ilustração da entrada e da saída de uma execução do
programa.
Entrada
DIGITE
DIGITE
DIGITE
.
.
.
DIGITE
DIGITE
UM NÚMERO QUALQUER: 2
UM NÚMERO QUALQUER: 136
UM NÚMERO QUALQUER: 2
UM NÚMERO QUALQUER: -3
UM NÚMERO QUALQUER: 0
Saída
7
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
FORAM DIGITADOS 3 NÚMEROS ENTRE 100 E 200
Exercício 45
Escreva um programa que receba números e imprima o quadrado de cada
número enquanto o usuário não digitar um número múltiplo de 6, que deverá ter seu
quadrado também impresso.
A seguir, uma ilustração da entrada e da saída de uma execução do
programa.
Entrada/Saída
DIGITE UM NÚMERO QUALQUER: 3
QUADRADO DE 3: 9
DIGITE UM NÚMERO QUALQUER: 62
QUADRADO DE 62: 3844
DIGITE UM NÚMERO QUALQUER: 12
QUADRADO DE 12: 144
Exercício 46
Construa um programa para encontrar o maior e o menor número de uma série de
números positivos fornecidos pelo usuário através do teclado. Novamente, o dado
finalizador é o número –1 e este não deve ser considerado.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada
DIGITE
DIGITE
DIGITE
DIGITE
DIGITE
UM
UM
UM
UM
UM
NÚMERO
NÚMERO
NÚMERO
NÚMERO
NÚMERO
POSITIVO
POSITIVO
POSITIVO
POSITIVO
POSITIVO
QUALQUER:
QUALQUER:
QUALQUER:
QUALQUER:
QUALQUER:
Saída
MAIOR VALOR DIGITADO: 365
MENOR VALOR DIGITADO:2
8
123
365
2
365
-1
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Exercício 47
Criar um programa que receba vários números inteiros e positivos e imprima o
produto dos números ímpares digitados e a soma dos números pares digitados. O
programa encerra quando o zero ou um número negativo é digitado.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada
DIGITE
DIGITE
DIGITE
DIGITE
DIGITE
DIGITE
UM
UM
UM
UM
UM
UM
NÚMERO
NÚMERO
NÚMERO
NÚMERO
NÚMERO
NÚMERO
INTEIRO
INTEIRO
INTEIRO
INTEIRO
INTEIRO
INTEIRO
E
E
E
E
E
E
POSITIVO
POSITIVO
POSITIVO
POSITIVO
POSITIVO
POSITIVO
QUALQUER:
QUALQUER:
QUALQUER:
QUALQUER:
QUALQUER:
QUALQUER:
2
236
1
136
25
0
Saída
PRODUTO DOS NÚMEROS ÍMPARES DIGITADOS: 25
SOMA DOS VALORES PARES DIGITADOS: 374
Exercício 48
Criar um programa que receba vários números inteiros e positivos e imprima a
média dos números múltiplos de 3. A execução deve encerrar quando um número não
positivo for lido.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada
DIGITE
DIGITE
.
.
.
DIGITE
DIGITE
UM NÚMERO INTEIRO E POSITIVO QUALQUER: 5
UM NÚMERO INTEIRO E POSITIVO QUALQUER: 36
UM NÚMERO INTEIRO E POSITIVO QUALQUER: 125
UM NÚMERO INTEIRO E POSITIVO QUALQUER: -2
Saída
MÉDIA DOS MÚLTIPLO DE 3 DIGITADOS: 16
9
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Exercício 49
Escreva um programa que realize o produto de A (número real) por B (número
inteiro), ou seja, A * B, através de adições (somas). Esses dois valores são passados
pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma
execução do programa.
Entrada
DIGITE O VALOR DE A(REAL): 2.5
DIGITE O VALOR DE B(INTEIRO): 10
Saída
PRODUTO DE AxB: 25
Exercício 50
Escreva um programa que realize a potência de A (número real) por B (número
inteiro e positivo), ou seja, A^B, através de multiplicações sucessivas. Esses dois valores
são passados pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Execução 1
Entrada
DIGITE A BASE B: 2
DIGITE O EXPOENTE E: 5
Saída
2 ELEVADO A 5 = 32
Execução 2
Entrada
DIGITE A BASE B: 5
DIGITE O EXPOENTE E: 2
Saída
5 ELEVADO A 2 = 25
10
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Exercício 51
Escreva um programa que calcule o resto da divisão de A por B (números
inteiros e positivos), ou seja, A mod B, através de subtrações sucessivas. Esses dois
valores são passados pelo usuário através do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE O VALOR DE A: 36
DIGITE O VALOR DE B: 17
Saída
RESTO DA DIVISÃO DE 36 POR 17: 2
Exercício 52
Escreva um programa que determine se dois valores inteiros e positivos A e B são
primos entre si. (dois números inteiros são ditos primos entre si, caso não exista divisor
comum aos dois números). A seguir, uma ilustração da entrada e saída de uma
execução do programa.
Entrada
DIGITE O VALOR DE A: 12
DIGITE O VALOR DE B: 10
Saída
12 E 10 NÃO SÃO PRIMOS ENTRE SI.
Exercício 53
Escreva um programa que calcule o quociente da divisão de A por B
(números inteiros e positivos), ou seja, A div B, através de subtrações sucessivas. Esses
dois valores são passados pelo usuário através do teclado.
Ao final, o programa imprime o valor do n-ésimo termo conforme ilustrado
abaixo:
Entrada
DIGITE O VALOR DE A: 36
11
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
DIGITE O VALOR DE B: 9
Saída
RESULTADO DA DIVISÃO DE 36 POR 9: 4
Exercício 54
Criar um programa que possa ler um conjunto de pedidos de compra e calcule o
valor total da compra. Cada pedido é composto pelos seguintes campos:

Número de pedido;

Data do pedido (dia, mês, ano);

Preço unitário;

Quantidade.
O programa deverá processar novos pedidos até que o usuário digite 0 como
número de pedido.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada/Saída
DIGITE O NÚMERO DO PEDIDO: 1
DIA DO PEDIDO: 2
MÊS DO PEDIDO: 5
ANO DO PEDIDO: 13
DIGITE O PREÇO UNITÁRIO DO PEDIDO: 26.54
DIGITE A QUANTIDADE COMPRADA: 5
VALOR TOTAL DA COMPRA: 132.7
DIGITE O NÚMERO DO PEDIDO: 3
DIA DO PEDIDO: 1
MÊS DO PEDIDO: 3
ANO DO PEDIDO: 13
DIGITE O PREÇO UNITÁRIO DO PEDIDO: 145.56
DIGITE A QUANTIDADE COMPRADA: 2
VALOR TOTAL DA COMPRA: 291.12
DIGITE O NÚMERO DO PEDIDO: 0
Exercício 55
Numa universidade cada aluno possui os seguintes dados:

Renda pessoal;
12
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM

Renda familiar;

Total gasto com alimentação;

Total gasto com outras despesas;
Criar um programa que imprima a porcentagem dos alunos que gasta acima de
R$ 200,00 com outras despesas, o número de alunos com renda pessoal maior que
renda familiar e a porcentagem gasta com alimentação e outras despesas em relação às
rendas pessoal e familiar. O programa acaba quando se digita 0 para a renda pessoal.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada/Saída
DIGITE O VALOR DA RENDA PESSOAL: 350.0
DIGITE O VALOR DA RENDA FAMILIAR: 1050.0
DIGITE O VALOR DOS GASTOS COM ALIMENTAÇÃO: 250.0
DIGITE O VALOR DOS GASTOS COM OUTRAS DESPESAS: 360.50
PERCENTUAL (ALIMENTAÇÃO + OUTROS)/(RPESSOAL + RFAMILIAR): 43.6071
DIGITE O VALOR DA RENDA PESSOAL: 160.0
DIGITE O VALOR DA RENDA FAMILIAR: 654.0
DIGITE O VALOR DOS GASTOS COM ALIMENTAÇÃO: 169.0
DIGITE O VALOR DOS GASTOS COM OUTRAS DESPESAS: 154.0
PERCENTUAL (ALIMENTAÇÃO + OUTROS)/(RPESSOAL + RFAMILIAR): 39.6806
DIGITE O VALOR DA RENDA PESSOAL: 0
Saída
PORCENTAGEM DE ALUNOS QUE GASTAM MAIS QUE R$200,00 COM OUTRAS
DESPESAS: 50
NÚMERO DE ALUNOS COM RENDA PESSOAL MAIOR QUE A RENDA FAMILIAR: 0
Exercício 56
Uma fábrica produz e vende vários produtos e para cada um deles tem-se o
nome, quantidade produzida e quantidade vendida. Criar um programa que imprima:

Para cada produto: nome, quantidade no estoque e uma mensagem se o
produto tiver menos de 50 itens no estoque;

Nome e quantidade do produto com maior estoque;
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada/Saída
13
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
DIGITE O NOME SO PRODUTO: LÁPIS
DIGITE A QUANTIDADE PRODUZIDA: 254
DIGITE A QUANTIDADE VENDIDA: 250
PRODUTO: LÁPIS
ESTOQUE 4
ESTOQUE NECESSITA REPOSIÇÃO!
DESEJA CONTINUAR? (S/N)S
DIGITE O NOME SO PRODUTO: RÉGUA
DIGITE A QUANTIDADE PRODUZIDA: 54
DIGITE A QUANTIDADE VENDIDA: 3
PRODUTO: RÉGUA
ESTOQUE 51
DESEJA CONTINUAR? (S/N)N
Saída
PRODUTO COM MAIOR ESTOQUE: RÉGUA
QTDE: 51
Comandos de Repetição Aninhados
Exercício 57
Escreva um programa que calcule os N-menores números primos. Este
número N deve ser lido do teclado.
A seguir, uma ilustração da entrada e saída de uma execução do programa.
Entrada
DIGITE A QUANTIDADE DE NÚMEROS (N): 8
Saída
8-MENORES NÚMEROS PRIMOS:
2 3 5 7 11 13 17 19
Exercício 58
Criar um programa que leia o valor de N, imprima a sequência a seguir e o
resultado do somatório.
14
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
N! / 0! – (N-1)! / 2! + (N-2)! / 4! – (N-3)! / 6! + ... 0! / (2N)!
A seguir, uma ilustração da entrada e da saída de uma execução do
programa.
Entrada
DIGITE O VALOR DE N: 6
Saída
720 -60 1 -0.00833333 4.96032e-05 -2.75573e-07 2.08768e-09
RESULTADO DO SOMATÓRIO: 660.992
Exercício 59
Escreva um programa que receba vários números inteiros e imprima a quantidade
de números primos dentre os números que foram digitados. O programa acaba quando
se digita um número menor ou igual a 0.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada
DIGITE
DIGITE
DIGITE
.
.
.
DIGITE
UM NÚMERO INTEIRO QUALQUER: 2
UM NÚMERO INTEIRO QUALQUER: 36
UM NÚMERO INTEIRO QUALQUER: 9
UM NÚMERO INTEIRO QUALQUER: 0
Saída
FORAM DIGITADOS 4 NÚMEROS PRIMOS.
Exercício 60
Escreva um programa que receba vários números e verifique se eles são ou não
quadrados perfeitos. O programa termina a execução quando for digitado um número
menor ou igual a 0. (Um número é quadrado perfeito quando tem um número inteiro
como raiz quadrada.)
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
15
Universidade Federal de Ouro Preto – UFOP
Instituto de Ciências Exatas e Biológicas – ICEB
Departamento de Computação – DECOM
Entrada/Saída
DIGITE UM NÚMERO QUALQUER: 36
36 É UM QUADRADO PERFEITO!
DIGITE UM NÚMERO QUALQUER: 2
2 NÃO É UM QUADRADO PERFEITO!
DIGITE UM NÚMERO QUALQUER: 154
154 NÃO É UM QUADRADO PERFEITO!
DIGITE UM NÚMERO QUALQUER: 0
Exercício 61
Numa universidade, os alunos das turmas de informática fizeram uma prova de
Programação de Computadores. Cada turma possui um número de alunos. Criar um
programa que imprima para cada turma:

Quantidade de alunos aprovados;

Média de cada turma;

Percentual de reprovados.
Considere aprovado aluno com nota igual ou superior a 7.0. O programa deve ler
o número de alunos de cada turma e só finalizar o programa quando um número não
positivo de alunos for digitado.
A seguir, uma ilustração da entrada e da saída de uma execução do programa.
Entrada/Saída
DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: 2
DIGITE A NOTA DO ALUNO: 9.8
DIGITE A NOTA DO ALUNO: 6.2
QUANTIDADE DE ALUNOS APROVADOS: 1
MÉDIA DE NOTAS DA TURMA: 8
PERCENTUAL DE REPROVADOS: 50
DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: 3
DIGITE A NOTA DO ALUNO: 7.6
DIGITE A NOTA DO ALUNO: 8.6
DIGITE A NOTA DO ALUNO: 2.4
QUANTIDADE DE ALUNOS APROVADOS: 2
MÉDIA DE NOTAS DA TURMA: 6.2
PERCENTUAL DE REPROVADOS: 33.3333
DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: -3
16
Download