1. Apresentação Plano de Ensino - 1ª Aula
Algoritmos e Programação - Engenharia Agrícola
Wagner Reck1
1Universidade Federal do Pampa - UNIPAMPA Alegrete
12 de março de 2012
2. Este trabalho foi licenciado com a Licença Creative Commons
Atribuição - CompartilhaIgual 3.0 Brasil.
Para ver uma cópia desta licença, visite
http://creativecommons.org/licenses/by-sa/3.0/br/ ou envie um pedido por
carta para Creative Commons, 444 Castro Street, Suite 900, Mountain View,
California, 94041, USA.
3. Quem Sou Eu
Wagner de Melo Reck
Bacharel em Ciência da Computação (UNIPAMPA)
Professor novo (desde 2011)...
...com novas idéias (sim, vocês serão cobaias)
4. Dados Componente Curricular
Curso: Engenharia Agrícola
Nome: Algoritmos e Programação
Código: AL0005
Pré-requisito(s): Não há
Turma(s): 40
Ano Letivo / Semestre: 2012/01
Turno: Tarde
Créditos Teóricos: 2 C.H. ( Teórica: 30h)
Créditos Práticos: 2 C.H. ( Prática: 30h)
6. Avaliações
2 trabalhos com peso total de 1
3 na nota final
2 avaliações individuais em aula, cada uma com peso de 1
3 na
nota final.
NF =
A1+A2+(T1+T2
2 )
3
Haverá uma avaliação de recuperação (das avaliações, não dos
trabalhos)
Frequência ≥ 75% E nota ≥6.0 =⇒Aprovado
7. Algoritmos e Programação
Qual o objetivo dessa disciplina?
Desenvolver o raciocínio lógico
Vamos resolver problemas;
E trabalhar com algoritmos (já já falo o que é isso);
A programação vai ser uma consequência
e não será um requisito forte para ser aprovado
Promover um ambiente que permita o melhor desenvolvimento
da lógica
O que somente é alcançado com muita atividade prática
Foco na resolução de problemas
8. Resolvendo Problemas
O que é um problema?
Um problema pode ser definido como:1
Questão (difícil) a ser solucionada;
É suscetível de diversas soluções;
Qualquer coisa de difícil explicação;
1
Dicionário Michaelis
10. Resolvendo Problemas
Resolvemos problemas todos os dias
Normalmente não nos damos conta que os estamos resolvendo;
ou seguindo passos definidos para resolve-los
Pensem nos seguintes casos:
Abrir uma porta;
Trocar uma lâmpada queimada;
Ir de casa até o banco;
Sacar dinheiro no caixa eletrônico;
11. Resolvendo Problemas
Resolvemos problemas todos os dias
Normalmente não nos damos conta que os estamos resolvendo;
ou seguindo passos definidos para resolve-los
Pensem nos seguintes casos:
Abrir uma porta;
Trocar uma lâmpada queimada;
Ir de casa até o banco;
Sacar dinheiro no caixa eletrônico;
Toda solução DEVE seguir uma lógica
Tentar pegar o dinheiro antes de chegar no caixa eletrônico
(???)
Entrar num quarto antes de abrir a porta (???)
13. Resolvendo Problemas
Problema: Queremos um bolo
Resultado esperado: Um bolo apetitoso
Considerando que:
Queremos o bolo que a nossa Avó fazia
Que dispomos dos ingredientes e da receita
14. Resolvendo Problemas
Problema: Queremos um bolo
Resultado esperado: Um bolo apetitoso
Considerando que:
Queremos o bolo que a nossa Avó fazia
Que dispomos dos ingredientes e da receita
Como chegaremos até o resultado?
17. Resolvendo Problemas
Vamos seguir a receita (a solução)
Mas o que é uma ’receita’?
Receita
é uma sequência de passos bem definidos que devem ser seguidos
para chegar em uma resposta.
18. Resolvendo Problemas
Vamos seguir a receita (a solução)
Mas o que é uma ’receita’?
Receita
é uma sequência de passos bem definidos que devem ser seguidos
para chegar em uma resposta.
Um Algoritmo É uma Receita
19. Exemplo de algoritmo
Problema: Entrar no quarto com a porta fechada
Algoritmo:
Vá até a porta do quarto;
Gire a maçaneta;
Empurre a porta;
Entre no quarto;
Feche a porta.
20. Exemplo de algoritmo
Problema: Entrar no quarto com a porta fechada
Algoritmo:
Vá até a porta do quarto;
Gire a maçaneta;
Empurre a porta;
Entre no quarto;
Feche a porta.
E se a porta estiver trancada
21. Exemplo de algoritmo
Problema: Entrar no quarto com a porta fechada
Algoritmo:
Vá até a porta do quarto;
Gire a maçaneta;
Se a porta está trancada então
Gire a chave para destrancá-la
Gire novamente a maçaneta
Empurre a porta;
Entre no quarto;
Feche a porta.
22. Exemplo de algoritmo
Problema: Entrar no quarto com a porta fechada
Algoritmo:
Vá até a porta do quarto;
Gire a maçaneta;
Se a porta está trancada então
Gire a chave para destrancá-la
Gire novamente a maçaneta
Empurre a porta;
Entre no quarto;
Feche a porta.
E se temos um caixa cheia de chaves não identificadas?
23. Exemplo de algoritmo
Problema: Entrar no quarto com a porta fechada
Algoritmo:
Vá até a porta do quarto;
Gire a maçaneta;
Se a porta está trancada então
Enquanto a porta estiver trancada, faça
pegue uma chave da caixa
Gire a chave para destrancá-la
Se a porta não abriu, separe a chave testada e teste outra
Empurre a porta;
Entre no quarto;
Feche a porta.
24. Exemplo de algoritmo (2)
Problema: Achar as Raízes de uma equação de 2º grau
(Ax2 + Bx + C)
Algoritmo:
Obtenha os valores de A, B e C;
Aplique na fórmula de Bhaskara x = −b±
√
b2−4ac
2a
Calcule os valores de x e x ;
25. Exemplo de algoritmo (2)
Problema: Achar as Raízes de uma equação de 2º grau
(Ax2 + Bx + C)
Algoritmo:
Obtenha os valores de A, B e C;
Aplique na fórmula de Bhaskara x = −b±
√
b2−4ac
2a
Calcule os valores de x e x ;
E se o valor obtido de A for 0 (zero)?
ou se as raízes não pertencerem aos ? (Raízes não pertencem aos
se o Delta for menor que zero)
26. Exercício
Melhore o algoritmo anterior para contemplar os casos citados.
Bhaskara x = −b±
√
b2−4ac
2a
Delta = b2 − 4ac
Raízes pertencem aos reais se Delta é maior ou igual a 0 (zero)
27. Resposta (Uma das)
Obtenha os valores de A, B e C;
Se A é igual a 0
Pare, não é possível continuar
Calcule o valor de Delta = b2 − 4ac;
Se Delta é menor que zero
Pare, as raízes não estão nos reais
Aplique na fórmula de Bhaskara x = −b±
√
b2−4ac
2a
Calcule os valores de x e x ;
28. Fluxogramas
A Representação Gráfica de Algoritmos
Podemos organizar a
nossa solução com
gráficos
Como a solução segue os
passos em ordem,
podemos dizer que temos
um fluxo
29. Fluxogramas
A Representação Gráfica de Algoritmos
Podemos organizar a
nossa solução com
gráficos
Como a solução segue os
passos em ordem,
podemos dizer que temos
um fluxo
Exemplo de fluxograma
Vá até a Porta
Gire a Maçaneta
Abra a Porta
Entre no Quarto
Feche a Porta
30. Fluxogramas com Decisão
Vá até a Porta
Gire a Maçaneta
A porta
está
trancada?
Gire a chave
Abra a Porta
Gire Novamente
a Maçaneta
Entre no Quarto
Feche a Porta
Sim
Não
31. Fluxogramas com Decisão
Vá até a Porta
Gire a Maçaneta
A porta
está
trancada?
Gire a chave
Abra a Porta
Entre no Quarto
Feche a Porta
Sim
Não