Buscar

Lista Complementar 1 - Programação II - Rodolfo - 2018/1

Prévia do material em texto

Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
1 
 
Lista de Exercícios Complementares 
 
Exercício 1 
 
Escreva um programa que solicite ao usuário a altura e um raio de um cilindro circular (em 
metros). O programa calcula o volume do cilindro, mostrando o resultado ao usuário. 
 
Volume =  * raio2 * altura 
 
 
Exercício 2 
 
Uma pessoa resolveu fazer uma aplicação em uma poupança programada. Para calcular seu 
rendimento, ela deverá fornecer o valor constante da aplicação mensal (VA), a taxa (tx) e o 
número de meses (n). Sabendo-se que a fórmula usada para este cálculo é 
 
𝑅𝑒𝑛𝑑𝑖𝑚𝑒𝑛𝑡𝑜 = 𝑉𝐴 ∗ 1 + 𝑡𝑥 ∗ 
(1 + 𝑡𝑥)𝑛 − 1
𝑡𝑥
 
 
calcule o rendimento de uma aplicação conforme o exemplo de execução abaixo. 
 
 
Exercício 3 
 
Certa importância em dólares será dividida entre três pessoas. A primeira receberá 30% da 
quantia total; a segunda 38% e a terceira 32%. Codifique um programa que leia o valor total 
da importância em dólares e calcule a parcela de cada pessoa. O programa produz a saída 
exibida abaixo. 
 
 
Exercício 4 
 
Sabendo que o latão é obtido fundindo-se sete partes de cobre com três partes de zinco, 
escreva um programa que solicite quantos quilos de latão um usuário quer produzir. A seguir o 
programa informa ao usuário as quantidades de cobre e zinco necessárias. 
 
 
Exercício 5 
 
Uma empresa contrata um encanador a R$ 65,00 por dia. Crie um programa que solicite o 
número de dias trabalhados pelo encanador e imprima o salário líquido que deverá ser pago ao 
encanador. Sabe-se que são descontados 8% para o imposto de renda. 
 
 
Exercício 6 
 
Codificar um programa que, dado um número de conta corrente com três dígitos, retorne o 
seu dígito verificador, que é calculado da seguinte maneira: 
 
 
Seja o número da conta: 235 
 1) Somar o número da conta com seu inverso: 235 + 532 = 767 
 2) multiplicar cada dígito pela sua ordem posicional e somar estes resultados: 
 3) o dígito verificador da conta é o último dígito (40 → 0) 
 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
2 
 
 7 6 7 
 1  2  3 
 = = = 
 7 + 12 + 21 = 40 
 
 
 
Exercício 7 
 
Codifique um programa que faça a leitura de um número qualquer pelo teclado. O programa 
deve determinar se o número lido é positivo, negativo ou nulo, imprimindo uma mensagem 
textual para o usuário. 
 
 
Exercício 8 
 
Codifique um programa que leia dois números pelo teclado, e a seguir, efetue a adição dos 
mesmos, armazenando-a na memória. Caso o valor somado seja maior que 20, deve-se 
imprimir para o usuário a soma acrescida de 8; caso o valor somado seja menor ou igual a 20, 
deve-se imprimir a soma subtraída de 5. 
 
 
Exercício 9 
 
Codifique um programa que leia um número qualquer pelo teclado e imprima para o usuário: 
 
 A raiz quadrada do número, caso ele seja positivo; ou 
 O quadrado do número, caso ele seja negativo; ou 
 Uma mensagem para o usuário informando que o número é zero. 
 
 
Exercício 10 
 
Codifique um programa que leia dois números pelo teclado, armazenando-os nas variáveis A e 
B respectivamente. O programa deve imprimir uma mensagem para o usuário informando de 
A é divisível por B. 
 
 
Exercício 11 
 
Codificar um programa que leia três valores numéricos pelo teclado. O programa deve imprimir 
para o usuário todos os valores em ordem crescente. 
 
 
Exercício 12 
 
Codificar um programa que leia o valor de uma variável x real, e a seguir, calcule o valor de 
f(x). 
 
x
xf
2
8
)( 
 
 
 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
3 
 
Além disso, caso x seja igual à 0, imprima a mensagem: " X NÃO PERTENCE AO DOMÍNIO 
DE f(x)". 
 
 
Exercício 13 
 
Codifique um programa que leia duas notas de avaliações e um aluno (N1 e N2 são valores 
entre 0 e 10). A seguir, é calculada a média do aluno e sua situação é impressa na tela de 
acordo com a tabela: 
 
Média Situação 
< 3 REPROVADO 
>= 6 APROVADO 
3<= MÉDIA < 6 EXAME ESPECIAL 
 
 
Exercício 14 
 
A CEF concederá um crédito especial com juros de 2% aos seus clientes de acordo com o saldo 
médio em suas contas de poupança no último ano. Codifique um programa que leia o saldo 
médio de um cliente e calcule o valor do crédito de acordo com a tabela abaixo. O programa 
imprime uma mensagem informando o saldo médio e o valor de crédito. 
 
Saldo Médio Percentual 
de 0 a 500 Nenhum crédito 
de 501 a 1000 30% do valor do saldo médio 
de 1001 a 3000 40% do valor do saldo médio 
Acima de 3001 50% do valor do saldo médio 
 
 
Exercício 15 
 
Escreva um programa que leia o peso de uma pessoa na Terra e o número de um planeta. O 
programa calcula em imprime o peso dessa pessoa no planeta representado pelo número lido. 
A relação dos planetas e o valor das gravidades relativas à Terra são apresentados a seguir: 
 
Nº Gravidade Relativa Planeta 
1 0,37 Mercúrio 
2 0,88 Vênus 
3 0,38 Marte 
4 2,64 Júpiter 
5 1,15 Saturno 
6 1,17 Urano 
 
 
Exercício 16 
 
A locadora de filmes Sheldon Cooper oferece excelentes filmes aos seus clientes. Seu sistema 
de cobrança é mensal e funciona da seguinte maneira: 
 
1) o cliente informa quantas locações ele realizou durante um mês; 
2) se o número de locações for inferior a 30, cada locação custa R$ 5,00; 
3) se o número de locações for maior que 30 e não exceder a 60 locações, as 30 primeiras 
custam R$ 5,00 cada, e as restantes, R$ 3,50; 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
4 
 
4) se o número locações for maior que 60 e não exceder a 90 locações, as 60 primeiras 
custam R$ 3,00 cada, e as restantes, R$ 2,50; 
5) se o número de locações for maior que 90 locações, as 90 primeiras custam R$ 2,00 
cada, e as restantes, R$ 1,50; 
6) o programa imprime a quantidade de locações feitas pelo cliente, o valor a ser pago 
referente ao mês, e o valor médio das locações realizadas. 
 
 
Exercício 17 
 
Escreva um programa que receba n números reais do usuário, através do teclado, e que 
imprima a metade de cada número. 
 
 
Exercício 18 
 
Codificar um programa que leia um número (qtd) representando a quantidade de valores a 
serem lidos pelo teclado. A seguir, o programa lê qtd números inteiros e imprime o maior e o 
menor deles. 
 
 
Exercício 19 
 
Codifique um programa que leia a idade de uma pessoa e informe a sua classe eleitoral: 
 
 • não eleitor (abaixo de 16 anos); 
 • eleitor obrigatório (entre a faixa de 18 e menor de 65 anos); 
 • eleitor facultativo (de 16 até 18 anos e maior de 65 anos, inclusive). 
 
 
Exercício 20 
 
Codifique um programa que leia um número inteiro entre 1 e 12 e escrever o mês 
correspondente. Caso o usuário digite um número fora desse intervalo, deverá aparecer uma 
mensagem informando que não existe mês com este número. Utilize a estrutura condicional 
switch. 
 
 
Exercício 21 
 
Codifique um programa que leia onúmero correspondente ao mês atual e os dígitos (somente 
os quatro números) de uma placa de veículo, e através do número finalizador da placa 
(algarismo da casa das unidades) determine se o IPVA do veículo vence no mês corrente. 
 
 
 
 
 
 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
5 
 
Exercício 22 
 
Codifique um programa que leia o um número inteiro entre 1 e 7 e escreva o dia da semana 
correspondente. Caso o usuário digite um número fora desse intervalo, deverá aparecer uma 
mensagem informando que não existe dia da semana com esse número. Utilize a estrutura 
condicional switch. 
 
 
Exercício 23 
 
Codifique um programa que informe a quantidade total de calorias de uma refeição a partir do 
usuário que deverá informar o prato, a sobremesa e a bebida (veja a tabela a seguir). 
 
 
 
 
Sugestão: enumere cada opção de prato, sobremesa e bebida. Ou seja: Prato: 1 - 
vegetariano, 2 – Peixe, 3 – Frango, 4 – Carne; Sobremesa: 1 – Abacaxi, 2 – Sorvete diet, 3 – 
Mouse diet, 4 – Mouse chocolate; Bebida: 1 – Chá, 2 - Suco de laranja, 3 – Suco de melão, 4 – 
Refrigerante diet. 
 
 
Exercício 24 
 
Fazer um programa que leia um conjunto de 10 valores e os imprima ordenados. 
 
 
Exercício 25 
 
Codifique um programa que leia um conjunto de 10 valores inteiros, verifique e imprima se 
algum dos valores é igual a média dos mesmos. 
 
 
Exercício 26 
 
Fazer um programa que leia valores para uma matriz do tipo "float" de 5 linhas por 3 
colunas e imprima a diferença entre a média dos elementos das colunas pares e a média dos 
elementos das linhas ímpares. 
 
 
Exercício 27 
 
Fazer uma função que calcule a enésima potência de uma variável real x: f(x, n) = xn. 
 
 
Exercício 28 
 
Fazer uma função que calcula o fatorial de um número. Implementar uma versão, utilizando 
apenas laço de repetição, que calcule ex através da fórmula: ex = 1 + x + x2/2! + x3/3! + ... 
 
 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
6 
 
Exercício 29 
 
Refaça o exercício anterior onde a seguinte condição deve ser atendida: o valor deve ser 
calculado enquanto o termo calculado for maior que 10E-6. 
 
 
Exercício 30 
 
Codifique um programa que solicite o total gasto pelo cliente de uma loja, imprime as opções 
de pagamento, solicita a opção desejada e imprime o valor total das prestações (se 
houverem). 
 
 a) Opção: a vista com 10% de desconto 
 b) Opção: em duas vezes (preço da etiqueta) 
 c) Opção: de 3 até 10 vezes com 3% de juros ao mês (somente para compras acima de 
R$ 100,00). 
 
 
OBS: fazer uma função que imprima as opções, solicite a opção desejada e retorne a opção 
escolhida. No programa principal, testar a opção escolhida e ativar a função correspondente 
(uma função para cada opção). 
 
 
Exercício 31 
 
Codifique um programa que contenha uma função recursiva que receba dois inteiros positivos 
k e n e calcule kn . Não utilize exponenciação, indica-se multiplicações. O programa principal 
deve solicitar ao usuário os valores de k e n e imprimir o resultado da chamada da função. 
 
 
Exercício 32 
 
Codifique um programa que receba um valor n, e imprima a contagem regressiva a partir 
deste valor utilizando uma função recursiva. Por exemplo, se o usuário digitar 5, o programa 
irá imprimir 5, 4, 3, 2, 1, 0. 
 
 
Exercício 33 
 
Codifique um programa que utilizando uma função recursiva receba um vetor preenchido e a 
quantidade de posições deste vetor, e retorna a soma de todos os elementos 
do vetor. 
 
 
Exercício 34 
 
Escrever um programa que cadastre o nome, a matrícula e duas notas de vários alunos. Em 
seguida imprima a matrícula, o nome e a média de cada um deles. Utilize uma estrutura 
(struct) para guardar todas as informações do aluno. 
 
 
 
 
 
 
 Universidade Federal de Ouro Preto - UFOP 
Instituto de Ciências Exatas e Biológicas - ICEB 
Departamento de Computação - DECOM 
Programação de Computadores II - BCC702 
2018-01 
 
 
7 
 
Exercício 35 
 
Escrever um programa que cadastre vários produtos em uma estrutura. Em seguida, imprima 
uma lista com o código e nome da cada produto. Por último, consulte o preço de um produto 
através de seu código. 
 
 
Exercício 36 
 
Escreva um programa que simule contas bancárias, com as seguintes especificações: 
 Ao iniciar o programa vamos criar contas bancárias para três clientes. 
 Cada conta terá o nome e o CPF do cliente associado a ela. 
 No ato da criação da conta o cliente precisará fazer um depósito inicial. 
 Após as contas serem criadas, o sistema deverá possibilitar realizações de saques ou 
depósitos nas contas. 
 Sempre que uma operação de saque ou depósito seja realizada, o sistema 
deverá imprimir o nome do titular e o saldo final da conta. 
 
 
Exercício 37 
 
Suponha um arranjo x[5] no suposto endereço 137 e uma variável px em um endereço 205. 
Escreva ao lado do código qual seria o resultado do seguinte trecho: 
 
double x[5] = {20,21,22,23,24}; 
double *px; 
px = x; 
cout << x << endl; 
cout << &x << endl; 
cout << &x[0] << endl; 
cout << *x << endl; 
cout << &px << endl; 
cout << px << endl; 
cout << *px << endl; 
cout << *(px+1) << endl; 
cout << px[2] << endl;

Continue navegando