Buscar

Atividade 1 PesquisaOrdenaçãoEtecnicasDeArmazenamento

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 3 páginas

Prévia do material em texto

PERGUNTA 1
Descreva o que você aprendeu sobre recursividade e comente sobre a diferença entre iteração e recursão. Cite algumas vantagens e desvantagens de se utilizar recursão.
Por fim, implementar um dos seguintes problemas, na linguagem Java ou PHP, utilizando recursividade. O que vai determinar qual o problema que deverá ser feito é o último dígito da sua matrícula de aluno da UnP, assim:
O aluno que tem o último dígito da matrícula 0, 1, 2 ou 3 deverá fazer: (a) Número Primo: calcular se um número inteiro inserido pelo usuário é primo ou não;
O aluno que tiver o último dígito da matrícula 4, 5 ou 6: (b) Fibonacci: inserido o valor n, apresente o n-ésimo valor da referida sequência;
O aluno que tiver o último dígito 7, 8 ou 9: (c) Calcular o fatorial do número inteiro inserido pelo usuário.
IMPORTANTE: Envie também o número da sua matrícula como parte da resposta desta atividade.
Na avaliação dessa atividade o professor/tutor utilizará os seguintes critérios para correção:
O aluno deverá:
- apresenta de forma correta a fundamentação teórica, conforme os recursos didáticos da aula;
- faz a relação adequada entre a teoria e a prática, conforme solicitado;
- apresenta resposta está redigida de forma coesa e coerente, com boa organização de parágrafo;
- na escrita atende as normas da língua portuguesa.
Atenção! Sua resposta deve ser original, elaborado a partir de suas leituras e reflexões. A resposta não deve ter texto copiado de outras fontes sem a devida citação do autor e obra. A citação deve apenas complementar sua resposta.
a) Descreva o que você aprendeu sobre recursividade e comente sobre a diferença entre iteração e recursão. Cite algumas vantagens e desvantagens de se utilizar recursão.
Recursão e iteração são técnicas frequentemente utilizados em programas de software para resolver rapidamente problemas complexos ou repetitivos de programação. Um programa recursivo trabalha para simplificar um problema e resolve-lo de baixo para cima . Um processo iterativo repete um processo novo e de novo no início de cada nova iteração com o resultado da iteração anterior . O principal objetivo dessas técnicas é para acelerar a execução de um programa. 
Recursão:
Uma operação recursiva é um processo que se repete até que uma instrução de terminal é recebido dentro da operação . A técnica mais comum recursiva em programação de computador é um método de redução de um problema, a partir do topo para baixo , para a versão mais simples e mais simples de se até que ele atinja uma caso de base . A solução para o caso base é então combinada com a solução de cada um dos problemas anteriores de volta para o primeiro caso , o mais complicado.
Iteração:
programação de computador , uma operação iterativa é um que se repete de um processo para um determinado número de vezes ( iterações ) , dependendo dos parâmetros definidos do programador . Tipicamente a saída de uma iteração do processo é utilizado como o ponto de partida para a iteração seguinte , e cada passo leva à etapa seguinte . O processo continua até que um objetivo específico é alcançado eo processo é encerrado.
Principal diferença
A diferença mais marcante entre uma operação recursiva e uma operação iterativa é que os passos de uma operação iterativa são resolvidos , uma de cada vez e conduzir directamente para o passo seguinte . Numa operação recursiva cada passo após o passo inicial é uma versão replicado do passo anterior . Além disso , a partir do topo para baixo , cada passo é um passo mais simples do que o de um " acima " ele . No final da operação , todas as soluções são combinadas para resolver o problema .
b) Por fim, implementar um dos seguintes problemas, na linguagem Java ou PHP, utilizando recursividade. O que vai determinar qual o problema que deverá ser feito é o último dígito da sua matrícula de aluno da UnP, assim: Matricula 2016.166.74, então, o aluno que tiver o último dígito da matrícula 4, 5 ou 6: (b) Fibonacci: inserido o valor n, apresente o n-ésimo valor da referida sequência; 
package fibonacci;
public class Fibonacci {
	int a = 1;
	int b = 1;
	int j = 0;
	int[] numero = new int[201616674];	
	int calculafibonacci(int x){
		if (x == 1){
			this.numero[0] = 0;
			return this.numero[0];
		}
		else{
			this.numero[0] = 0;
			j++;
		}
		for(int i = 1; i < (x-1); i++){
			b = a - b;		
			a = a+b;
			this.numero[j] = a;
			j++;
		}		
		return this.numero[j-1];		
}
}
package fibonacci;
public class Teste {
	public static void main (String[] args){
	Fibonacci fibo = new Fibonacci();
	int i = fibo.calculafibonacci(201616674);
	System.out.println(i);
	}
}
Fonte: http://ptcomputador.com/P/computer-programming-languages/87560.html
http://www.guj.com.br/t/algoritmo-de-fibonacci/48326/6

Outros materiais