UNIDADE 6 - complemento Funções recursivas

Slides:



Advertisements
Apresentações semelhantes
Aquiles Burlamaqui AULA 09
Advertisements

Funções em C Prof. Fabiano Utiyama.
Técnicas de Programação II Revisão TP1 Parte2
Python: Recursão Claudio Esperança.
Programação em Java Prof. Maurício Braga
Recursividade Inhaúma Neves Ferraz
Um programa em C Bibliotecas Variáveis globais
Funções em C.
Estruturas de Dados Árvores Binárias
Recursividade Prof. Rosana Palazon.
Programação MAC-1 Exemplo: copiar vector
Recursividade Prof. Alex F. V. Machado
Algoritmos e Programação Estruturada Conceitos básicos
Recursividade Inhaúma Neves Ferraz
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
Recursividade Conceitos e Aplicações.
PROGRAMAÇÃO MODULAR (com uso de subprogramas)
UDESC - Prof. Juliano Maia1 Funções. UDESC - Prof. Juliano Maia2 Índice Seção 1 – Funções em C Seção 2 – Iniciação Ponteiros Seção 3 – Recursão.
Universidade Federal do Espírito Santo
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
Linguagem C Funções.
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Matrizes e Funções - Continuação
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Fundamentos de Programação 1
Funções.
Linguagem de Programação
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
Introdução à Programação
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Árvores Binárias de Pesquisa
Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação
Programação II Estruturas de Dados Aula 02 - continuação
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Introdução à linguagem C
Técnicas de Desenvolvimento de Programas
F UNÇÕES : PASSAGEM DE PARÂMETROS Aluno:Kaynã Vasconcelos Santos Matéria: Estrutura de dados e algoritmos I Turma: Professor: Danilo Silva dos Santos.
Linguagem de Programação
Orientação a Objetos e Java Graduação em Ciência da Computação
Algoritmos e Estruturas de Dados I – Recursão
Árvore Binária de Busca
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Uso de parâmetros na linha de comando. Parâmetros da função main:
Algoritmos e Estruturas de Dados RECURSIVIDADE. O que é recursividade? Recursividade significa algo ser definido em termos de sí próprio. Em termos de.
Declarando e Chamando Funções
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.
Aula Prática 5 05/05/2010. //Estrutura do método public int subtrair (int a, int b){ //Calcule a operação desejada. int resultado = a – b; //Retorne o.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Recursividade Profs. De Prog2 e Lab2.
INE Fundamentos de Matemática Discreta para a Computação
Algoritmos e Programação MC102
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo X Encadeamento de Estruturas por Ponteiros.
Ciência da Computação 1 PROGRAMAÇÃO ESTRUTURADA II Profª. Noeli.
Recursividade Aula I – ALG II CPAN – UFMS. Recursividade A recursão é uma técnica pela qual uma rotina estruturada faz chamadas a ela mesma, com o objetivo.
Algoritmo e Estrutura de Dados I
Professor Luiz José Hoffmann Filho
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo VIII Subprogramação.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C” 1.
Recursividade e análise Cristiano Arbex Valle Vinicius Fernandes dos Santos
Fundamentos de Programação 1
INF1007: Programação Funções Recursivas
Fundamentos de Programação1
Transcrição da apresentação:

UNIDADE 6 - complemento Funções recursivas PROGRAMAÇÃO I UNIDADE 6 - complemento Funções recursivas

Definições Recursivas Em uma definição recursiva um item é definido em termos de si mesmo, ou seja, o item que está sendo definido aparece como parte da definição; Em todas as funções recursivas existe: Caso base (um ou mais) cujo resultado é imediatamente conhecido. Passo recursivo em que se tenta resolver um sub-problema do problema inicial. Programação I

Definições Recursivas Exemplo: o fatorial de um número 1 se n = 0 n! = n.(n-1)! se n > 0 Caso base Passo recursivo Programação I

Funções Recursivas Definição: Uma função recursiva é aquela que faz uma chamada para si mesma. Essa chamada pode ser: direta: uma função A chama a ela própria indireta: função A chama uma função B que, por sua vez, chama A /* Recursao direta */ void func_rec(int n) { ... func_rec(n-1); } Programação I

Funções Recursivas Exemplo: função recursiva para cálculo do fatorial 1 se n = 0 n! = n.(n-1)! se n > 0 int fatorial(int n) { if (n == 0) return 1; else return n * fatorial (n-1); } Caso base Passo recursivo Programação I

Funções Recursivas Exemplo: função recursiva para cálculo de potenciação 1, se n=0 xn = x . x (n-1), se n>0 /* Função recursiva para cálculo de potenciacao */ int pot (int x, int n) { if (n==0) return 1; else return x*pot(x,n-1); } Caso base Passo recursivo Programação I

Funções Recursivas Comportamento: quando uma função é chamada recursivamente, cria-se um ambiente local para cada chamada as variáveis locais de chamadas recursivas são independentes entre si, como se estivéssemos chamando funções diferentes Programação I

Funções Recursivas Cálculo do fatorial #include <stdio.h> #include <stdlib.h> int fat (int n); int main (void) { int n = 3; /* calcula o fatorial de 3 */ int r; r = fat ( n ); printf("Fatorial de %d = %d \n", n, r); system("pause"); return 0; } /* Função recursiva para cálculo do fatorial */ int fat (int n) int f; if (n==0) f=1; else f= n*fat(n-1); return f; Programação I

Funções Recursivas Exercício : série de Fibonacci 0, se n=0 fib(n) = 1, se n=1 fib(n-1) + fib(n-2), se n>1 2 Casos base Passo recursivo Programação I

Funções Recursivas Exemplo: série de Fibonacci /* Calculo da serie de Fibonacci */ int fib (int n) { if (n==0) return 0; else if (n==1) return 1; else return (fib(n-1) + fib(n-2)); } Programação I