lista funcões e recursividade

2
EXERCÍCIOS DE FIXAÇÃO FUNÇÕES E RECURSIVIDADE 1. Faça uma função que retorne 1 se o número digitado for positivo ou 0 se o número for negativo. 2. Elaborar um programa que possua uma sub-rotina que efetue e permita apresentar o somatório dos N primeiros números inteiros, definidos por um operador. (Ex: 1 + 2 + 3 + 4 + 5 + 6 + 7 + ... + N). 3. Faça uma função que receba dois números positivos por parâmetro e retorne a soma dos n números inteiros existentes entre eles. 4. Criar um algoritmo que calcule o fatorial de um número, usando uma função que receba um valor e retorne o fatorial desse valor. 5. Criar uma função que verifique se um número é primo. 6. Faça uma função que receba três números inteiros a, b e c, onde a é maior que 1. A função deve somar todos os inteiros entre b e c que sejam divisíveis por a (inclusive b e c) e retornar o resultado para a função principal. 7. Faça uma função que receba por parâmetro um valor inteiro e positivo N e retorne o valor de s. 8. Um número é dito regular se sua decomposição em fatores primos apresenta apenas potências de 2, 3 e 5. Faça uma função que verifique se um número é ou não regular. 9. Escreva um programa que utilize uma sub-rotina para calcular a série de Fibonacci de N termos. A série de Fibonacci é formada pela sequencia: 1,1, 2, 3, 5, 8, 13, 21, 34,... 10. Crie uma função que receba como parâmetro um vetor A com cinco números reais e retorne esses números em ordem crescente. 11. Faça uma função que receba como parâmetro uma matriz A[5,5] e retorne a soma de seus elementos. 12. Crie uma função que receba como parâmetro uma matriz A[6,6] e retorne o menor elemento de sua diagonal secundária 13. Criar um programa que calcule o número de arranjos de n elementos p a p através de uma função. A fórmula do arranjo é a seguinte: A n,p = n! / (n-p)! 14. Escreva uma função recursiva, potencia(x,y), que devolva x elevado a potência y. 15. Escreva uma função recursiva que faça o seguinte: leia um número; se o número for negativo, a função pára; caso contrário, a função imprime o número e faz uma chamada recursiva a si mesma. 16. Escreva uma função recursiva, ImprimeSerie(i,j,k: inteiro), que imprime na tela a série de valores do intervalo [i,j], com incremento k. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA BAHIA Disciplina: Introdução à Lógica de Programação

Upload: anielli-lemes

Post on 18-Jul-2015

1.429 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Lista funcões e recursividade

gtfb bbvbbfbfgfgfgfg

EXERCÍCIOS DE FIXAÇÃO – FUNÇÕES E RECURSIVIDADE

1. Faça uma função que retorne 1 se o número digitado for positivo ou 0 se o número

for negativo.

2. Elaborar um programa que possua uma sub-rotina que efetue e permita apresentar o somatório dos N primeiros números inteiros, definidos por um operador. (Ex: 1 + 2 + 3 + 4 + 5 + 6 + 7 + ... + N).

3. Faça uma função que receba dois números positivos por parâmetro e retorne a

soma dos n números inteiros existentes entre eles.

4. Criar um algoritmo que calcule o fatorial de um número, usando uma função que receba um valor e retorne o fatorial desse valor.

5. Criar uma função que verifique se um número é primo.

6. Faça uma função que receba três números inteiros a, b e c, onde a é maior que 1.

A função deve somar todos os inteiros entre b e c que sejam divisíveis por a (inclusive b e c) e retornar o resultado para a função principal.

7. Faça uma função que receba por parâmetro um valor inteiro e positivo N e retorne

o valor de s.

8. Um número é dito regular se sua decomposição em fatores primos apresenta

apenas potências de 2, 3 e 5. Faça uma função que verifique se um número é ou não regular.

9. Escreva um programa que utilize uma sub-rotina para calcular a série de Fibonacci

de N termos. A série de Fibonacci é formada pela sequencia: 1,1, 2, 3, 5, 8, 13, 21, 34,...

10. Crie uma função que receba como parâmetro um vetor A com cinco números reais

e retorne esses números em ordem crescente. 11. Faça uma função que receba como parâmetro uma matriz A[5,5] e retorne a soma

de seus elementos. 12. Crie uma função que receba como parâmetro uma matriz A[6,6] e retorne o menor

elemento de sua diagonal secundária

13. Criar um programa que calcule o número de arranjos de n elementos p a p através de uma função. A fórmula do arranjo é a seguinte: An,p = n! / (n-p)!

14. Escreva uma função recursiva, potencia(x,y), que devolva x elevado a potência y.

15. Escreva uma função recursiva que faça o seguinte: leia um número; se o número for negativo, a função pára; caso contrário, a função imprime o número e faz uma chamada recursiva a si mesma.

16. Escreva uma função recursiva, ImprimeSerie(i,j,k: inteiro), que imprime na tela a

série de valores do intervalo [i,j], com incremento k.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E

TECNOLOGIA DA BAHIA

Disciplina: Introdução à Lógica de Programação

Page 2: Lista funcões e recursividade

17. Escreva uma função recursiva, SomaSerie(i,j,k: inteiro): inteiro, que devolva a

soma da série de valores do intervalo [i,j], com incremento k.

18. Faça uma função recursiva, em linguagem C, que calcule o valor da série S descrita a seguir para um valor n>0 a ser fornecido como parâmetro para a mesma.

19. Faça uma função recursiva, em linguagem C, que calcule o valor da série S descrita a seguir para um valor n>0 a ser fornecido como parâmetro para a mesma: S = 1 + 1/1! + 1/2! + 1/3! + 1 /n!.

EXERCÍCIOS PROPOSTOS

20. Escreva um algoritmo que leia um número não determinado de pares de valores x,y (x obrigatoriamente deve ser menor que y), todos inteiros e positivos, um par de cada vez. Para cada par, chame uma função que determine a soma dos números primos entre x e y (inclusive). O algoritmo deverá mostrar os valores de x e de y, seguidos pelo somatório calculado. A leitura dos pares terminará quando os valores digitados para x e y forem iguais.

21. Crie uma função que receba dois vetores A e B de dez elementos inteiros como parâmetro. A função deverá determinar e mostrar um vetor C que contenha os elementos de A e B em ordem decrescente. O vetor C deverá ser mostrado no programa principal.

22. Faça um algoritmo que implemente recursivamente as funções de fibonacci, fatorial e exponencial para obter o resultado de S, a partir da leitura de n:

S = (fib(1) * (n-1)1) + (fib(2) * (n-2)

2) + ... + (fib(n) * (n-n)

n)

fat(1) fat(2) fat(n)

23. O máximo divisor comum (MDC) de dois números inteiros x e y pode ser calculado usando-se uma definição recursiva:

MDC(x, y) = MDC(x- y, y), se x > y . Além disso, sabe-se que: MDC (x, y)=MDC(y,x) MDC (x,x)=x Exemplo: MDC(10,6) = MDC(4,6) = MDC(6,4) = MDC(2,4) = MDC(4,2) = MDC(2,2) = 2 Então, pede-se que seja criada uma função recursiva para descrever tal definição.

Crie, também, um algoritmo que leia os dois valores inteiros e utilize a função criada para calcular o MDC de x e y, e imprima o valor computado.