Programação II
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos
- São Leopoldo -
Questão 1
• Dado o método:
Qual seu resultado para as seguintes chamadas:
F(2), F(4), F(9)?
Programação II – Prof. Mateus Raeder
Resposta: questão 1
F(2) = 6
F(3) = 9
F(9) = 27
Programação II – Prof. Mateus Raeder
Questão 2
• Criar uma função recursiva para calcular a soma
dos inteiros de 1 a n, sendo n >= 1.
Programação II – Prof. Mateus Raeder
Resposta: questão 2
public static int calcSoma(int n){
int resultado = 0;
if(n < 1)
resultado = 0;
else
resultado = n + calcSoma(n-1);
return resultado;
}
Programação II – Prof. Mateus Raeder
Resposta: questão 2
public static void main(String args[]){
System.out.println("SOMA com 1 = "+calcSoma(1));
System.out.println("SOMA com 2 = "+calcSoma(2));
System.out.println("SOMA com 4 = "+calcSoma(4));
System.out.println("SOMA com 6 = "+calcSoma(6));
}
SOMA com 1 = 1
SOMA com 2 = 3
SOMA com 4 = 10
SOMA com 6 = 21
Programação II – Prof. Mateus Raeder
Questão 3
• Escreva uma função recursiva que retorne a soma
dos elementos de um vetor v contendo t
elementos.
Programação II – Prof. Mateus Raeder
Resposta: questão 3
public static int somaVetor(int[] v, int t){
int resultado = 0;
int i;
if(t <= 0)
resultado = 0;
else
resultado = v[t-1] + somaVetor(v, t-1);
return resultado;
}
Programação II – Prof. Mateus Raeder
Resposta: questão 3
public static void main(String args[]){
int[] v = {1, 2, 3, 4};
int[] v2 = {10, 30, 5, 20, 100};
System.out.println("Resultado de V = "+somaVetor(v, 4));
System.out.println("Resultado de V2 = "+somaVetor(v2, 5));
}
Resultado de V = 10
Resultado de V2 = 165
Programação II – Prof. Mateus Raeder
Download

Slide 1 - Unisinos