Buscar

Algoritmos e Estrutura de Dados (Aula 4)

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

Algoritmos e 
Estrutura de Dados
Profa. Amanda Sutter
asutter@anhanguera.com
Agosto/2015
Última aula....
• Correção da lista de exercícios no laboratório
Novos exercícios
13 – Faça um programa em C que leia a resposta de três questões 
de múltipla escolha (pode ser a, b, c ou d), compare com o 
gabarito (dado abaixo) e indique quantas estão certas.
Gabarito:
Questão 1 – letra d
Questão 2 – letra c
Questão 3 – letra a 
14 – Faça um programa que some os N primeiros números
naturais.
15 - Faça um programa que leia 5 números inteiros e conte
quantos são negativos.
Questão 13
Questão 13
Questão 14
Questão 15
Recursividade
Recursão em C
• Uma função é dita recursiva quando dentro do
seu código existe uma chamada para si mesma.
• Ex.: cálculo do fatorial de um número:
n! = n * (n – 1)!
Recursão em C
• A recursão é uma técnica que define um problema em
termos de uma ou mais versões menores deste mesmo
problema.
• Esta ferramenta pode ser utilizada sempre que for
possível expressar a solução de um problema em
função do próprio problema.
Exemplo Fatorial
Exemplo Fatorial
5!
5*4!
4*3!
3*2!
2*1!
1
120
5*(24)
4*(6)
3*(2)
2*(1)
1*(1)
Demonstrativo da solução:
Somar os N primeiros números
Recursão
• Em procedimentos recursivos pode ocorrer um
problema de terminação do programa, como um
“looping interminável ou infinito”.
• Portanto, para determinar a terminação das repetições,
deve-se:
1) Definir uma função que implica em uma condição de
terminação (solução trivial), e
2) Provar que a função decresce a cada passo de repetição,
permitindo que, eventualmente, esta solução trivial seja
atingida.
Vantagens X Desvantagens
• Um programa recursivo é mais elegante e menor que a
sua versão iterativa, além de exibir com maior clareza o
processo utilizado, desde que o problema ou os dados
sejam naturalmente definidos através de recorrência.
• Por outro lado, um programa recursivo exige mais
espaço de memória e é, na grande maioria dos casos,
mais lento do que a versão iterativa.
Exercício 1
• Fazer um programa capaz de calcular a área de um quadrado,
um retângulo ou um triângulo retângulo.
• O programa deve perguntar qual a figura geométrica, e então
pedir para o usuário digitar os tamanhos dos lados.
• Um quadrado só tem um tamanho de lado, o retângulo tem
dois, e o triângulo retângulo também tem dois lados(mais a
hipotenusa, mas neste caso não é necessário digitar este
valor).
• Após a digitação, o programa deve calcular a área e apresentar
ao usuário.
• Utilizar uma função para a leitura dos lados (verificando se não
é digitado um valor negativo para o lado), e uma função para o
cálculo de cada área. As fórmulas são
• Área_quadrado = lado * lado
• Área_retângulo = lado1 * lado2
• Área_triângulo = (lado 1 * lado 2)/2
Exercício 2
• Criar um programa capaz de ler duas notas de cada um dos 10
alunos de uma turma, calculando a média geral da primeira e
da segunda prova. Em seguida, informe quantos alunos
tiraram notas acima da média, tanto na primeira como na
segunda prova.
f
A
t
Anhanguera Fama pitágoras
oD
VNIAIIELVI unic
o; ;> '
unime l IR0\
00
unopar

Outros materiais