Buscar

08 Referência Recursão - Aula IP CIn UFPE

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

© Ricardo Massa e Sérgio Soares 1 
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação - IF669 
Passagem de parâmetros, recursão 
e escopo de variáveis 
AULA 08 
Introdução a Programação – IF669 
http://www.cin.ufpe.br/~if669 
c == null ? Conta c; 
c = new Conta("1287",0); 
c.getSaldo(); 
c 
envia a mensagem getSaldo() 
ao objeto referenciado pela 
variável c 
creditar 
Número Saldo 
"123-x" 354,78 
dedbtar 
Conta a = new Conta("123-4",34); 
Conta b; 
b = a; 
b.creditar(100); 
System.out.println(a.getSaldo()); 
a e b passam a 
referenciar o 
mesmo objeto 
qualquer efeito via 
b é refletido via a 
A avaliação de uma expressão é 
feita da esquerda para a direita 
não altera o 
valor de y 
© Ricardo Massa e Sérgio Soares 2 
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação - IF669 
altera o estado do 
objeto referenciado 
por c 
não altera o 
valor de c 
© Ricardo Massa e Sérgio Soares 3 
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação - IF669 
public class FibonacciRecursivo { 
 public static int fib(int m) { 
 if (m == 0 || m == 1) { 
 return 1; 
 } else { 
 return fib(m - 1) + fib(m - 2); 
 } 
 } 
 public static void main(String[] args) { 
 int n,f; 
 System.out.println("Entre com um número"); 
 n = Util.readInt(); 
 f = fib(n); 
 System.out.println("fib(" + n + ") = " + f); 
 } 
} 
public int produto(int a, int b) { 
 int resposta = 0; 
 if (a > 0) { 
 resposta = b + produto(a-1, b); 
 } 
 return resposta; 
} 
while(b) { 
 p(); 
} 
public void m_rec() { 
 if(b) { 
 p(); 
 m_rec(); 
 } 
} 
public class Teste 
 public int m() { 
 int a = 0; 
 return a + 1; 
 } 
 public void p() { 
 a = 8; 
 } 
} 
ERRO: a variável a só 
existe no método 
onde foi declarada 
public class Teste 
 private int a; 
 public int m() { 
 int a = 0; 
 return a + 1; 
 } 
 public void p() { 
 a = 8; 
 } 
} 
Aqui é o atributo a 
Aqui é a variável a 
© Ricardo Massa e Sérgio Soares 4 
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação - IF669 
int a = 1; 
for ( int b = 0; b < 3; b++){ 
int c = 1; 
for ( int d = 0; d <3; d++){ 
 if (c < 3) c++; 
} 
System.out.print(c); 
System.out.println(b); 
} 
a = c; // ERROR! c is out of scope a a 
 abc abc 
abcd abcd 
public int fatorial(int n) { 
 int resposta = 1; 
 if (n > 0) { 
 resposta = n * fatorial(n-1); 
 } 
 return resposta; 
} 
Não pode usar *, logo use o 
método criado no Exercício 2

Continue navegando