Esta é uma página pessoal, criada inicialmente para armazenar os códigos-fontes dos programas Java desenvolvidos durante o Curso de BSI, mas agora, armazenará soluções de exercícios dos meus estudos extra acadêmicos. A ideia é permitir que estudantes iniciantes na programação Java continuem encontrando neste espaço um meio de pesquisa e estudo, portanto, serão alternativas de soluções para exercícios básicos. Buscarei disponibilizar os códigos de forma didáticos e sempre que possível comentados.
AGRADECIMENTO...
Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.
Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...
Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.
As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.
Desde já agradeço a todos pelas visitas e desejo bons estudos.
Thiago Campos
(srthiago@hotmail.com)
quinta-feira, 13 de setembro de 2012
Função recursiva para calcular a expressão do problema.
Dada a função abaixo:
function X(N:integer): integer;
begin
if (n >= 0) and (n <= 2) then
x:=n else x := x(n-1)+x(n-2)+x(n-3)
end;
a) quantas chamadas serão executadas para avaliar x(6) ?
b) indique a seqüência temporal destas chamadas.
Código Java
//Autor: Thiago Campos
//Data: 12.09.2012
import javax.swing.JOptionPane;
/**
*
* @author Thiago
*/
public class Exercicio4 {
//variavel global
static int cont=0; //contador - não ha necessidade de public pq está na mesma classe
public static void main(String[] args){
//variaveis
Exercicio4 f = new Exercicio4(); //instanciando a variavel f
int n;
String sequencia=""; //vai guardar as saidas da expressão
//entrada do sdados
n = Integer.parseInt(JOptionPane.showInputDialog("Informe n:"));
//o for irá fazer com que a String sequencia guarde as saidas
for (int i = 0; i <= n; i++) {
sequencia += f.expressao(i) + " ";
} //fim do for
//Saida
JOptionPane.showMessageDialog(null, "O termo é: " + f.expressao(n)
+"\nA sequencia: " + sequencia
+"\nQtd de chamadas: "+cont);
} //fim do main
/*------------------------------------------------------------------------------
* FUNÇÃO DA EQUAÇAO MATEMATICA - RESULTADO
-------------------------------------------------------------------------------- */
public int expressao(int n){
cont++; //contador
if (n >=0 && n <= 2){//ponto de parada
return n;
}else{
return expressao(n-1) + expressao(n-2) + expressao(n-3);
}
} //fim da função
} //fim da classe
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário