Buscar

Exercicio 2 - Funçoes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 3 páginas

Prévia do material em texto

Algoritmos e Estruturas de Dados 1
Lista de Exercícios 4
Professor Paulo Gomide
Parte Teórica
1. Defina com suas palavras o que é uma função no âmbito da programação. Descreva as três partes
que formam a assinatura de uma função.
2. É possível implementar um programa qualquer sem a utilização de nenhuma função. Então qual
a importância da utilização de funções, especialmente em sistemas de grande porte?
3. Quantos elementos uma função qualquer pode retornar? E quantos parâmetros uma função qual-
quer pode receber?
4. É possível implementar uma função que receba como parâmetro os valores a, b e c da equação
ax2 + bx + c = 0 e retorne as raízes dessa equação. Caso seja possível mostre como. Caso não
seja, explique por que, e proponha uma solução para resolver o problema utilizando uma ou mais
funções.
Parte Prática
1. Implemente uma função chamada “e_par” que receba como parâmetro um único inteiro e retorne
o valor 1 caso o inteiro recebido como parâmetro seja um número par e o valor 0 caso contrário.
A seguir implemente a função “main” que testa a função “e_par” através de chamadas para a
mesma.
2. Implemente uma função chamada “imprime_se_eh_par” que receba como parâmetro um único
inteiro e imprima na saída padrão (tela) “PAR” caso o inteiro recebido como parâmetro seja um
número par e “IMPAR” caso contrário. A seguir implemente a função “main” que testa a função
“imprime_se_eh_par” através de chamadas para a mesma.
3. Implemente uma função chamada “e_primo” que receba como parâmetro um único inteiro e re-
torne o valor 1 caso o inteiro recebido como parâmetro seja um número primo e o valor 0 caso con-
trário. A seguir implemente a função “main” que testa a função “e_primo” através de chamadas
para a mesma.
4. Implemente uma função chamada “imprime_se_eh_primo” que receba como parâmetro um único
inteiro e imprima na saída padrão (tela) “PRIMO” caso o inteiro recebido como parâmetro seja um
número primo e “NAO PRIMO” caso contrário. A seguir implemente a função “main” que testa a
função “imprime_se_eh_primo” através de chamadas para a mesma.
5. Implemente uma função chamada “e_perfeito” que receba como parâmetro um único inteiro e
retorne o valor 1 caso o inteiro recebido como parâmetro seja um número perfeito e o valor 0
caso contrário. A seguir implemente a função “main” que testa a função “e_perfeito” através de
chamadas para a mesma.
6. Implemente uma função chamada “imprime_se_eh_perfeito” que receba como parâmetro um
único inteiro e imprima na saída padrão (tela) “PERFEITO” caso o inteiro recebido como parâmetro
seja um número perfeito e “IMPERFEITO” caso contrário. A seguir implemente a função “main”
que testa a função “imprime_se_eh_perfeito” através de chamadas para a mesma.
7. Implemente uma função chamada “fatorial” que receba como parâmetro um único inteiro e retorne
o valor de seu fatorial. A seguir implemente a função “main” que testa a função “fatorial” através
de chamadas para a mesma.
8. Implemente uma função chamada “imprime_fatorial” que receba como parâmetro um único in-
teiro e imprima na saída padrão (tela) o valor de seu fatorial. A seguir implemente a função “main”
que testa a função “imprime_fatorial” através de chamadas para a mesma.
9. Implemente uma função chamada “potencia” que receba como parâmetros dois inteiros ‘a’ e ‘b’
e retorne o valor de ‘a’ elevado a ‘b’. A seguir implemente a função “main” que testa a função
“potencia” através de chamadas para a mesma.
10. Implemente uma função chamada “imprime_potencia” que receba como parâmetros dois inteiros
‘a’ e ‘b’ e imprima na saída padrão (tela) o valor de ‘a’ elevado a ‘b’. A seguir implemente a função
“main” que testa a função “imprime_potencia” através de chamadas para a mesma.
11. Implemente uma função chamada “calcula_valor_funcao” que receba como parâmetros os valores
a, b, c e x da equação f(x) = ax2 + bx+ c, e retorne o valor da função para os parâmetros informa-
dos. A seguir implemente a função “main” que testa a função “calcula_valor_funcao” através de
chamadas para a mesma.
12. Implemente uma função chamada “imprime_valor_funcao” que receba como parâmetros os val-
ores a, b, c e x da equação f(x) = ax2 + bx + c, e imprima na saída padrão (tela) o valor da
função para os parâmetros informados. A seguir implemente a função “main” que testa a função
“imprime_valor_funcao” através de chamadas para a mesma.
13. Implemente uma função chamada “quantos_primos” que receba como parâmetro um único in-
teiro N e retorne quantos números primos existem entre 0 e N . Para manter o código mais legível
e organizado, na implementação da função “quantos_primos”, utilize a função “e_primo” imple-
mentada na questão 3. A seguir implemente a função “main” que testa a função “quantos_primos”
através de chamadas para a mesma.
14. Implemente uma função chamada “imprime_quantos_primos” que receba como parâmetro um
único inteiro N e imprima na saída padrão (tela) quantos números primos existem entre 0 e N .
Para manter o código mais legível e organizado, na implementação da função “imprime_quantos_primos”,
utilize a função “e_primo” implementada na questão 3. A seguir implemente a função “main” que
testa a função “imprime_quantos_primos” através de chamadas para a mesma.
15. Volte às listas de exercícios 1 e 2 e reavalie as suas soluções já implementadas para os exercícios
propostos. Com a utilização de funções muitos deles ficariam mais claros, flexíveis e reusáveis.
Avalie em quais os programas a utilização de funções deveria ter sido utilizada para se chegar a
uma melhor solução e reimplemente as mesmas.
Bons estudos! ;-)

Outros materiais