Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... ·...
Transcript of Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... ·...
![Page 1: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/1.jpg)
1
Aula 06: Laboratório
- Recursão (parte 2)
MCTA028 – Programação Estruturada
Prof. João Henrique Kleinschmidt
Material elaborado pelo prof. Jesús P. Mena-Chalco
3Q-20108
![Page 2: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/2.jpg)
![Page 3: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/3.jpg)
3
(1) Fatorial de um número inteiro
![Page 4: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/4.jpg)
4
Fatorial de um número
Teste para num=20a resposta deve ser 2432902008176640000
![Page 5: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/5.jpg)
5(*) Fonte: http://www.studytonight.com/c/datatype-in-c.php
![Page 6: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/6.jpg)
6
Fatorial de um número
Número de vezes em que a função Fatorial é chamada?
![Page 7: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/7.jpg)
7
Fatorial de um número
Número de vezes em que a função Fatorial é chamada? n+1
![Page 8: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/8.jpg)
8
Fatorial de um número
$ gcc fatorial.c -o fatorial.exe
$ ./fatorial.exe
17
355687428096000
$ ./fatorial.exe
18
6402373705728000
$ ./fatorial.exe
19
121645100408832000
$ ./fatorial.exe
20
2432902008176640000
![Page 9: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/9.jpg)
9
(2) Números de Fibonacci
![Page 10: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/10.jpg)
10
![Page 11: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/11.jpg)
11
Números de Fibonacci
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
![Page 12: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/12.jpg)
12
Números de Fibonacci
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (7)Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (8)Fib (7)
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (9)Fib (8)
Fib (7)
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (7)
Fib (6)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (5)
Fib (4)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
Fib (2)
Fib (1)
Fib (0)
Fib (3)
Fib (2)
Fib (1)
Fib (0)
Fib (1)
![Page 13: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/13.jpg)
13
Números de Fibonacci
![Page 14: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/14.jpg)
14
Usando uma variável global para contar o número de chamados à função
fibonacciContador.c
![Page 15: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/15.jpg)
15
Versão com memória
FibonacciComMemoria.c
0 0 1 2 3 5 8 ...
0 0 0 0 0 0 0 ...
![Page 16: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/16.jpg)
16
(3) Palíndromo
![Page 17: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/17.jpg)
17
Vetor palíndromo (Iterativo)
Crie sua versão recursiva
![Page 18: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/18.jpg)
18
Vetor palíndromo (Recursivo)
![Page 19: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/19.jpg)
19
(4) Primorial
![Page 20: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/20.jpg)
20
Primorial
O primorial de um número inteiro positivo n é o produto de todos os
primos menores ou iguais a n.
É denotado por n#
Crie uma função recursiva que, dado um número inteiro positivo, devolva o seu Primorial.
https://en.wikipedia.org/wiki/Primorial
![Page 21: Aula 06: Laboratório - Recursão (parte 2)professor.ufabc.edu.br/~joao.kleinschmidt/aulas/... · Aula 06: Laboratório - Recursão (parte 2) ... Fatorial de um número $ gcc fatorial.c](https://reader036.fdocuments.net/reader036/viewer/2022062402/5fc4d99e08f1660d505d5e36/html5/thumbnails/21.jpg)
21
ehPrimo