Buscar

Aula 07 - Funções e Recursividade

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

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 6, do total de 19 páginas

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 9, do total de 19 páginas

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

Prévia do material em texto

Instituto Federal do Sul de Minas Gerais 
 
Algoritmos 
Aula 07 – Funções e Recursividade 
douglas.braz@ifsuldeminas.edu.br 
 
Funções 
• Funções são blocos de construção de C e onde ocorre toda 
atividade do programa 
Funções 
• Funções são blocos de construção de C e onde ocorre toda 
atividade do programa 
Tipo válido em C. 
 
Se não for especificado, C 
entende que é do tipo inteiro 
Funções 
• Funções são blocos de construção de C e onde ocorre toda 
atividade do programa 
Nome válido em C 
Funções 
• Funções são blocos de construção de C e onde ocorre toda 
atividade do programa 
Lista de nomes das 
variáveis, separadas por 
vígula 
Argumentos de Funções 
• Parâmetro de Entrada 
▫ Passagem por valor: O argumento não é alterado 
pela função. 
Argumentos de Funções 
• Parâmetro de Entrada e Saída 
▫ Passagem por referência: O argumento é alterado 
pela função 
Matrizes como Parâmetro 
• Existem basicamente 3 formas de passar uma 
matriz como parâmetro: 
 1 – Especificando a dimensão 
void display (int vet[10]) 
 
 2 – Sem especificar a dimensão 
void display (int vet[ ]) 
 
 3 – Ponteiro 
void display (int *vet) 
 
Comando return 
• Existem 2 formas pelas quais uma função termina sua 
execução 
1º - Último comando 
da função for 
executado 
Comando return 
• Existem 2 formas pelas quais uma função termina sua 
execução 
2º - Comando return 
Funções vs. Variáveis Globais 
Protótipo da função 
Recursividade 
Recursividade 
• Uma rotina é chamada recursiva quando na sua 
implementação existe uma chamada para si 
própria 
▫ Quase sempre substitui uma repetição 
▫ Quase sempre menos eficiente (tempo de exec.) 
 
• Duas partes básicas: 
▫ Condição de Parada 
▫ Chamada Recursiva 
Exemplo - Fatorial 
• Esta operação é definida de forma recursiva: 
 
▫ 0! = 1 
▫ n! = (n-1)! * n, para n > 0 
 
 4! = 3! * 4 = 
 2! * 3 * 4 = 
 1! * 2 * 3 * 4 = 
 0! * 1 * 2 * 3 * 4 = 
 1 * 1 * 2 * 3 * 4 = 24 
Exemplo - Fatorial 
Exercícios 
1 - Escreva uma função recursiva para determinar o MDC 
(maior divisor comum) entre dois números naturais x e y, 
baseando-se nas regras abaixo. Em seguida apresente uma 
versão iterativa do algoritmo capaz de realizar a mesma 
tarefa. 
 
Exercícios 
2 - Escreva uma versão iterativa (não recursiva) da função para 
calcular fatorial. 
 
3 - A função de Fibonacci é definida assim: 
 f(0)= 0, 
 f(1)= 1, 
 f(n) = f(n-1) + f(n-2), para n > 1. 
 
 Descreva a função f em C que calcule o n-ésimo elemento da 
sequência de Fibonacci (faça uma versão iterativa e uma 
recursiva). 
 
Próxima Aula 
• Manipulação de Arquivos 
• Estruturas de dados 
• Alocação Dinâmica

Outros materiais