CI208 – Programação de Computadores
1o semestre 2015
Exercícios ♯04
Funções*



*Os exercícios desta lista são compilações de materiais gerados por professores do DINF/UFPR para a disciplina de CI208 - Programação de Computadores.

Nos exercícios abaixo, os nomes entre parênteses no início do enunciado são sugestões para os nomes dos programas solicitados.
Onde for possível, usar as funções da Biblioteca C++: sqrt(), pow(), funções de arredondamento, funções trigonométricas, funções exponenciais e logaritmicas

  

1.

(degraus)  Cada degrau de uma escada tem X de altura. Faça um programa que receba esta altura em centímetros e a altura em metros que o usuário deseja alcançar subindo a escada, calcule e mostre quantos degraus ele deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário.

2.

(escada)  Faça um programa que receba a medida do ângulo formado por uma escada apoiada no chão e distância em que a escada está de uma parede, calcule e mostre a altura em que a escada toca a parede.

3.

(calculos)  Faça um programa que receba do usuário um número positivo e diferente de zero, calcule e mostre:

  1. A quadrado do número;
  2. A raiz cúbica do número;
  3. A raiz quadrada do número;
  4. O cubo do número.

  

Solução

4.

(volesfera)  Faça um programa que calcula e mostre o volume de uma esfera cujo diâmetro em metros é informado pelo usuário. Lembre-se que o volume de uma esfera é fornecido pela fórmula V = 4π3- × R3.

5.

(invertedig)  Fazer uma função chamada troca() que receba como parâmetro dois números inteiros não nulos de 4 dígitos e retorne TRUE (1) se um for o contrário do outro e FALSE (0) em caso contrário. Isto é, se os parâmetros forem 4123 (quatro mil e cento e vinte e três) e 3214 (três mil e duzentos e quatorze), deve-se retornar TRUE (1). Usar apenas operações sobre inteiros. Faça também um programa que peça ao usuário dois valores inteiros de 4 dígitos e, usando a função troca(), mostre mensagens dizendo se o primeiro número informado pelo usuário é o contrário do segundo número.

6.

(bindecimal)  Fazer uma função chamada convbindec() que receba como parâmetro um número inteiro representando um número binário e retorne seu valor equivalente em decimal. Por exemplo, se a entrada for 10001, a saída deve ser 17. Faça também um programa que peça ao usuário dois valores representando um número binário e, usando a função convbindec(), mostre na tela os valores decimais correspondentes a cada um dos números.

7.

(maior3)  Fazer uma função chamada maior() que receba como parâmetro três números inteiros não nulos e retorne o maior valor dentre os três. Se os três valores foram iguais, retorna qualquer um dos valores. Faça também um programa que receba do usuário 9 números inteiros e, usando esta função, determine e mostre na tela o maior valor dentre os 9 números.

  

Solução

8.

(menor3 )  Fazer uma função chamada menor() que receba como parâmetro três números inteiros não nulos e retorne o menor valor dentre os três. Se os três valores foram iguais, retorna qualquer um dos valores. Faça também um programa que receba do usuário 8 números inteiros e, usando esta função, determine e mostre na tela o menor valor dentre os 8 números.

9.

(pesoideal)   Fazer uma função chamada pesoIdeal() que recebe como parâmetros a altura e o sexo de uma pessoa (0 masculino e 1 feminino) e retorna o seu peso ideal, utilizando as seguintes fórmulas:

  • para homens: (72.7 * h) - 58
  • para mulheres: (62.1 * h) - 44.7

Faça também um programa que receba do usuário a sua altura, peso atual e sexo, e imprima na tela se o usuário está aima ou abaixo de seu peso ideal, este calculado pela função pesoIdeal().

10.

(bolsa)  Deseja-se distribuir bolsas de estudo para alunos de um curso. O valor da bolsa depende do valor da nota que o aluno teve em uma certa disciplina, conforme tabela abaixo:



Nota em disciplina Bolsa (R$)




70 nota < 80 500,00
80 nota < 90 600,00
nota 90 700,00
70 > nota 0,00 (sem bolsa)


 
Pede-se um programa que, ao receber a nota de 3 (três) alunos, escolha a maior nota e conforme o valor desta, imprima na tela o valor da bolsa correspondente.
Use a função maior() desenvolvida no exercício 7

11.

(prnprimos)  Fazer uma função chamada ehPrimo() que receba como parâmetro um número inteiro e retorne TRUE (1) se ele for primo e FALSE (0), caso contrário. Faça também um programa que, usando esta função, imprima na tela imprimir todos os números primos entre 0 e 1000.