Sei sulla pagina 1di 2

Curso: Anlise e Desenvolvimento de Sistemas - 2013.

1 Disciplina: Tpicos Avanados em Anlise e Projeto de Sistemas Professor: Gilvan Dures

Exerccios Recursividade
OBS.: Esta lista de exerccios deve ser feita utilizando o conceito de recursividade visto em sala de aula

1) Escreva uma funo para exibir os n primeiros inteiros positivos (em ordem crescente), sendo n um valor fornecido pelo usurio. 2) Escreva uma funo para calcular o fatorial de um nmero fornecido como parmetro. 3) Escreva uma funo que retorna a soma dos n elementos de um vetor. 4) Escreva uma funo, int somaSerie(int i, int j, int k), que devolva a soma da srie de valores do intervalo [i,j], com incremento k. 5) Faa uma funo que calcule o valor da srie S descrita a seguir para um valor n > 0 a ser fornecido como parmetro para a mesma.

6) Reescreva a funo abaixo, em C, tornando-a recursiva:


int numDigitos(int n) inicio int cont := 1; enquanto (n > 9) faa n=n/10; cont++; fim-enquanto retorne cont; fim

7) Responda o que faz o algoritmo descrito abaixo para cada uma das seguintes entradas: a) n = 0 b) n = 3 c) n = 946 d) n = -945 e) n = -1
int fazAlgo(int n) incio se n=1 ento retorne (1); seno se n = 0 ento retorne(0); seno retorne(fazAlgo(n-2)); fim

8) Qual a sada do algoritmo escrito abaixo para a entrada a=4 e b=3?


void fazAlgo(int a, int b) incio se b=1 ento faa escreva (a); escreva (*); fim-se seno faa fazAlgo(a+a, b-1); escreva (a); escreva (?); fim-seno fim

9) Dada a funo funcaoX, responda as questes a seguir:


int funcaoX(int n, int m) inicio se (n=m) ou (m=0) entao retorne 1 senao retorne funcaoX(n-1,m) + funcaoX(n-1,m-1) fim

a. qual o valor de funcaoX(5,3) ? b. quantas chamadas recursiva sero feitas na avaliao funcaoX(5,3)? 10) Escreva uma funo que verifica se um vetor de inteiros palndromo ou no, ou seja, se ele idntico quando lido da esquerda para direita ou da direita para esquerda. Exemplo: o vetor [ 2 | 4 | 7 | 1 | 7 | 4 | 2 ] palndromo, logo a funo deve retornar verdadeiro.

Potrebbero piacerti anche