Lista Estrutura de Dados
//protótipo: int Soma(int a, int b)
int soma(int a, int b)
{
int x=a; if (a==b) return x; //compara a com b, caso seja igual a função sai da recursão else{ return x + soma(a+1,b); //chama a função soma de novo e acumula a soma no x } }
2. Escreva uma função recursiva que calcule os juros compostos de um valor. Para isso o programa deverá ler um valor inicial, o número de meses e a taxa de juros ao mês, e passar estes valores à função como parâmetros.
//protótipo: double jurosCompostos(double valor, float taxa, int meses)
double juroscompostos(double valor, double taxa, int meses){ if (meses == 0) return valor;//compara o valor do mes pra saber se já pode sair da recursão else valor = valor*(1+(taxa/100)); //formula que calcula juros compostos return juroscompostos(valor, taxa ,meses-1);// chama a função denovo gerando a recursão
}
3. Escreva uma função recursiva que faça a procura sequencial de um valor passado por parâmetro num vetor desordenado, preenchido sem repetição, também passado por parâmetro.
//protótipo: int procuraValor(int vet[], int tam, int valor)
O retorno desta função é o índice em que o elemento foi encontrado.
int procuraValor (int [] vet, int tam, int valor){ // int i=0; if (tam==0)//compara o tam do vetor, caso seja 0 sai da recursão return -1; //retorna -1 por não encontrar no vetor if (vet[tam]== valor) //compara o valor com o numero do vetor return tam;// caso encontre retorna o tam que é a posição que o valor foi encontrado else return procuraValor (vet, tam-1, valor);
}
4. Escreva uma versão recursiva do bubble sort.
//protótipo: void Bolha(int v[], int tam)
void bolha (int v[], int tam)
{
int j,aux;