Você está na página 1de 1

Lista de Exerccios Tcnicas de programao 1.

. Crie um programa com funo com passagem de parmetro por valor, capaz de realizar a soma de elementos de um vetor contendo 10 nmeros inteiros. 2. Crie um programa capaz de realizar a escolha do maior nmero natural presente em um vetor contendo 10 nmeros inteiros. O programa deve ser composto de uma funo com passagem de valor por parmetro. 3. Escreva outras verses para os softwares das questes/problemas anteriores utilizando o paradigma de funes recursivas. Informe, textualmente, na sua resposta, quais so as condies de parada de cada algoritmo e quais seriam as consequncias se tais condies de parada no fossem tratadas pelo algoritmo. 4. A funo seguinte calcula o M.D.C (MXIMO DIVISOR COMUM) de dois nmeros inteiros m e n: int calcMDC(int m, int n){ int r = 0; do { r = m%n; m = n; n = r; } while (r != 0); return m;} Crie uma verso para este algoritmo que utilize os princpios da recursividade. 5. Compare o algoritmos recursivo obtido na reposta questo 4 com a sua verso iterativa do enunciado. Quais as vantagens e desvantagens, em termos de performance e legibilidade do cdigo, de cada tipo de paradigma (iteratividade/sem-recursividade x recursividade).
6. Qual o resultado produzido pela funo recursiva abaixo, caso a = 90? int f(int a) { if(a > 100) return a; a++; a = f(a); return a; } 7. Descreva passo a passo a execuo da funo recursiva abaixo quando x = 5: void f(int x) { if(x == 0) return; cout << "\a"; f(x - 1); return; }

Você também pode gostar