You are on page 1of 3

Algoritmos e Estruturas de Dados 1

Lista de Exerccios 4
Professor Paulo Gomide
Parte Terica
1. Dena com suas palavras o que uma funo no mbito da programao. Descreva as trs partes
que formam a assinatura de uma funo.
2. possvel implementar um programa qualquer sem a utilizao de nenhuma funo. Ento qual
a importncia da utilizao de funes, especialmente em sistemas de grande porte?
3. Quantos elementos uma funo qualquer pode retornar? E quantos parmetros uma funo qual-
quer pode receber?
4. possvel implementar uma funo que receba como parmetro os valores a, b e c da equao
ax
2
+ bx + c = 0 e retorne as razes dessa equao. Caso seja possvel mostre como. Caso no
seja, explique por que, e proponha uma soluo para resolver o problema utilizando uma ou mais
funes.
Parte Prtica
1. Implemente uma funo chamada e_par que receba como parmetro um nico inteiro e retorne
o valor 1 caso o inteiro recebido como parmetro seja um nmero par e o valor 0 caso contrrio.
A seguir implemente a funo main que testa a funo e_par atravs de chamadas para a
mesma.
2. Implemente uma funo chamada imprime_se_eh_par que receba como parmetro um nico
inteiro e imprima na sada padro (tela) PAR caso o inteiro recebido como parmetro seja um
nmero par e IMPAR caso contrrio. A seguir implemente a funo main que testa a funo
imprime_se_eh_par atravs de chamadas para a mesma.
3. Implemente uma funo chamada e_primo que receba como parmetro um nico inteiro e re-
torne o valor 1 caso o inteiro recebido como parmetro seja um nmero primo e o valor 0 caso con-
trrio. A seguir implemente a funo main que testa a funo e_primo atravs de chamadas
para a mesma.
4. Implemente uma funo chamada imprime_se_eh_primo que receba como parmetro um nico
inteiro e imprima na sada padro (tela) PRIMO caso o inteiro recebido como parmetro seja um
nmero primo e NAO PRIMO caso contrrio. A seguir implemente a funo main que testa a
funo imprime_se_eh_primo atravs de chamadas para a mesma.
5. Implemente uma funo chamada e_perfeito que receba como parmetro um nico inteiro e
retorne o valor 1 caso o inteiro recebido como parmetro seja um nmero perfeito e o valor 0
caso contrrio. A seguir implemente a funo main que testa a funo e_perfeito atravs de
chamadas para a mesma.
6. Implemente uma funo chamada imprime_se_eh_perfeito que receba como parmetro um
nico inteiro e imprima na sada padro (tela) PERFEITO caso o inteiro recebido como parmetro
seja um nmero perfeito e IMPERFEITO caso contrrio. A seguir implemente a funo main
que testa a funo imprime_se_eh_perfeito atravs de chamadas para a mesma.
7. Implemente uma funo chamada fatorial que receba como parmetro umnico inteiro e retorne
o valor de seu fatorial. A seguir implemente a funo main que testa a funo fatorial atravs
de chamadas para a mesma.
8. Implemente uma funo chamada imprime_fatorial que receba como parmetro um nico in-
teiro e imprima na sada padro (tela) o valor de seu fatorial. Aseguir implemente a funo main
que testa a funo imprime_fatorial atravs de chamadas para a mesma.
9. Implemente uma funo chamada potencia que receba como parmetros dois inteiros a e b
e retorne o valor de a elevado a b. A seguir implemente a funo main que testa a funo
potencia atravs de chamadas para a mesma.
10. Implemente uma funo chamada imprime_potencia que receba como parmetros dois inteiros
a e b e imprima na sada padro (tela) o valor de a elevado a b. A seguir implemente a funo
main que testa a funo imprime_potencia atravs de chamadas para a mesma.
11. Implemente uma funo chamada calcula_valor_funcao que receba como parmetros os valores
a, b, c e x da equao f(x) = ax
2
+bx +c, e retorne o valor da funo para os parmetros informa-
dos. A seguir implemente a funo main que testa a funo calcula_valor_funcao atravs de
chamadas para a mesma.
12. Implemente uma funo chamada imprime_valor_funcao que receba como parmetros os val-
ores a, b, c e x da equao f(x) = ax
2
+ bx + c, e imprima na sada padro (tela) o valor da
funo para os parmetros informados. A seguir implemente a funo main que testa a funo
imprime_valor_funcao atravs de chamadas para a mesma.
13. Implemente uma funo chamada quantos_primos que receba como parmetro um nico in-
teiro N e retorne quantos nmeros primos existem entre 0 e N. Para manter o cdigo mais legvel
e organizado, na implementao da funo quantos_primos, utilize a funo e_primo imple-
mentada na questo 3. A seguir implemente a funo main que testa a funo quantos_primos
atravs de chamadas para a mesma.
14. Implemente uma funo chamada imprime_quantos_primos que receba como parmetro um
nico inteiro N e imprima na sada padro (tela) quantos nmeros primos existem entre 0 e N.
Para manter o cdigo mais legvel e organizado, na implementao da funo imprime_quantos_primos,
utilize a funo e_primo implementada na questo 3. A seguir implemente a funo main que
testa a funo imprime_quantos_primos atravs de chamadas para a mesma.
15. Volte s listas de exerccios 1 e 2 e reavalie as suas solues j implementadas para os exerccios
propostos. Com a utilizao de funes muitos deles cariam mais claros, exveis e reusveis.
Avalie em quais os programas a utilizao de funes deveria ter sido utilizada para se chegar a
uma melhor soluo e reimplemente as mesmas.
Bons estudos! ;-)