programação estruturada ii - bolinhabolinha.com · 2 introdução definição • um...

6
1 Programação Estruturada II Recursão Prof. Rodrigo Rocha [email protected] http://www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha – [email protected] Ementa Depuração e Documentação interna Modularização. Uso de funções Por valor Por referência Ponteiros e suas aplicações Básico Uso avançado • Registros Básico Uso avançado de vetores e matrizes • Arquivos • Recursão

Upload: phambao

Post on 11-Nov-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

1

Programação Estruturada II

Recursão

Prof. Rodrigo [email protected] http://www.bolinhabolinha.com

Apresentação

Prof. Rodrigo Rocha – [email protected]

Ementa

• Depuração e Documentação interna

• Modularização. Uso de funções Por valor

Por referência

• Ponteiros e suas aplicações Básico

Uso avançado

• Registros Básico

Uso avançado de vetores e matrizes

• Arquivos

• Recursão

Page 2: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

2

Introdução

Definição

• Um método/função que invoca o próprio método/função

Atenção

• Devemos ter um condição de parada da recursão

• Uma condição que se torne falsa ou um contador que atinja um determinado valor

PROBLEMA

• Recursão que não termina

Recursão

Vantagens

• Código mais “limpo” e compacto

• “Fáceis” de serem implementados

Desvantagens

• Consumo elevado de recursos

• Mais difíceis de serem depurados

Page 3: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

3

Exemplo

Somatória de números

• Ex: soma(5) = 1+2+3+4+5 = 15

Exemplo

Calculo do Máximo Divisor Comum (MDC)

• Fonte: somatematica.com.br

Page 4: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

4

Exemplo

Exemplo

Série de Fibonacci

• 1 1 2 3 5 8 13 ....

Page 5: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

5

Exercício

1-) Crie um programa recursivo que calcule a potência (potencia>=0) de um número inteiro.

Dica: 24 = 2 * 23

23 = 2 * 22

22 = 2 * 21

21 = 2 * 20

Exercícios

Criar um função recursiva para calcular o fatorial de um número

• Fonte: infoescola.com

Applet: http://ccism.pc.athabascau.ca/html/lo/repos/comp272/applets/factorial/index.html

Page 6: Programação Estruturada II - bolinhabolinha.com · 2 Introdução Definição • Um método/função que invoca o próprio método/função Atenção • Devemos ter um condição

6

Bibliografia

Livro texto• MIZRAHI, Victorine Viviane. Treinamento em linguagem C : módulos 1 e 2

: PLT.. 1ª ed. São Paulo: Pearson Prentice Hall, 2007.

• ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene A. V.i de. Fundamentos da Programação de Computadores : algoritmos, pascal e

C/C++. 1ª ed. São Paulo: Pearson Education, 2003.• SCHILDT, Herbert. C Completo e Total. 3ª ed. São Paulo: Pearson

Education, 2005.

Complementar• 1) KERNIGHAN, Brian. C : a linguagem de programação. 3ª ed. Rio de

Janeiro: CAMPUS, 1986.

• 2) HARBISON III, Samuel P.; STEELE/JR., Guy; HARTMANN, Savannah. C : manual de referência. 1ª ed. Rio de Janeiro: Ciência Moderna, 2002.

• 3) LOPES, Anita; GARCIA, Guto. Introdução à Programa. ç1ãªo ed. Rio de Janeiro: CAMPUS, 2002.

• 4) DAMAS, Luís. Linguagem C. 10ª ed. São Paulo: LTC, 2007.