2. • Algoritmo
• Lógica de programação
• Resolução de problemas
• Estratégia sugerida
SUMÁRIO
ricardo.souza@ifpa.edu.br
3. • ALGORITMOS
– Algoritmo pode ser definido basicamente como
uma sequência lógica e finita de passos para se
chegar a um resultado desejado
CONCEITOS
ricardo.souza@ifpa.edu.br
4. • REQUISITOS PARA UM ALGORITMOS -
Definidos por Knuth(1997)
– Finitude
• Um algoritmo deve sempre terminar após um número
finito de etapas
– Definição
• Cada passo de um algoritmo deve ser definido com
precisão; as ações a serem executadas deverão ser
especificadas rigorosamente e sem ambiguidades
para cada caso
CONCEITOS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
5. • REQUISITOS PARA UM ALGORITMOS - Definidos por Knuth(1997)
– Entrada
• São os valores que são dados ao algoritmo. Essas entradas são
tomadas a partir de conjuntos de objetos especificados
– Saída
• São os valores resultantes das ações do algoritmo relacionadas
com as entradas especificadas
– Eficácia
• São todas as operações a serem realizadas no algoritmo devem ser
suficientemente básicas e podem, em princípio, ser feitas com
precisão e em um período de tempo finito por um homem usando
papel e lápis
CONCEITOS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
6. • UMA REFLEXÃO ANTES DE RESOLVER DE
PROBLEMAS
– A Construção de Algoritmos é uma atividade
intelectual e portanto merece uma reflexão
cuidadosa antes de se efetivamente iniciar a
construção de um algoritmo
– Devemos pensar antes de construir o algoritmo
REFLEXÃO
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
7. • LÓGICA DE PROGRAMAÇÃO
– Pode ser considerada a técnica de encadear ações
ou instruções para atingir determinado objetivo
CONCEITOS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
8. • PASSOS A SEREM SEGUIDOS PARA SE CONSTRUIR ALGORITMOS
1. Compreender o problema
2. Identificar os dados de entrada
3. Identificar os dados de saída
4. Determinar quais são os passos necessários para transformar
dados de entrada em informações de saída
5. Observar regras e limitações
6. Definir todas os passos a serem executados
7. Construir o algoritmo
8. Testar o algoritmo
9. Executar o algoritmo
10. Documentar o algoritmo
CONCEITOS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
10. • DEFINIÇÃO DO PROBLEMA
–Verificar o enunciado do problema
–Forma clara e completa
–Observar cuidadosamente sobre
dúvidas
–Evitar interpretação ambígua
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
11. • ANÁLISE DO PROBLEMA
–Três fases:
• Dados de entrada
–Dados Necessários para resolver problema
• Como resolver problema
–Fórmulas, regras, condições, etc.
• Dados de saída
–Resultado esperado
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
12. • CONSTRUÇÃO DO MODELO
–Fluxograma
–Algoritmo
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
18. • EXECUÇÃO
– Submeter o programa ao computador
– Colocar na memória principal do computador
– Verificação erros:
• Sintaxe
• Semântica
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
21. • DOCUMENTAÇÃO
– Inserir informações no código-fonte sobre a
execução das operações
– Visa explicação dos passos a serem executados no
programa
– Comentário
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
22. • Passos que interessantes e que podem
ajudá-los na Construção de Algoritmos
– Passo1 – Ler cuidadosamente e com atenção a
especificação do problema até o final
– Passo 2 - Caso não tenha entendido o problema,
pergunte
REFLEXÃO
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
23. • Passos que interessantes e que podem
ajudá-los na Construção de Algoritmos
– Passo 3 - levantar e analisar todas as saídas
exigidas na especificação do problema
(impressões)
– Passo 4 - levantar e analisar todas as entradas
citadas na especificação do problema(leituras)
REFLEXÃO
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
24. • Passos que interessantes e que podem ajudá-
los na Construção de Algoritmos
– Passo 5 - Verificar se é necessário gerar valores
internamente ao algoritmo e levantar as variáveis
necessárias e os valores iniciais de cada uma
– Passo 6 - Levantar e analisar todas as
transformações necessárias para, dadas as
entradas e valores gerados internamente, produzir
as saídas especificadas
REFLEXÃO
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
25. • Passos que interessantes e que podem
ajudá-los na Construção de Algoritmos
– Passo 7 - Testar cada passo do algoritmo
– Passo 8 – Avaliação geral, elaborando o algoritmo
e revendo comentários
REFLEXÃO
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
26. • ESTRATÉGIA SUGERIDA
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
27. • ESTRATÉGIA SUGERIDA
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
28. • ESTRATÉGIA SUGERIDA
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
29. • ESTRATÉGIA SUGERIDA
RESOLUÇÃO DE PROBLEMAS
ricardo.souza@ifpa.edu.br
Fonte: https://sites.google.com/site/unipliconstrucaodealgoritmos/a-dica-de-ouro-para-construcao-de-algoritmos
30. REFERÊNCIAS
• SCHILDT, Herbert. C Completo e total. São Paulo: MAKRON BOOKS, 1997.
• LOUDON, Kyle. Dominando algoritmos com C. São Paulo: CIENCIA MODERNA COMPUTAÇÃO,
2000.
• JAMSA, Kris. Programando em C/C++: a bíblia. São Paulo: Makron Books, 2000.
• LOPES, Anita. Introdução a programação: 500 algoritmos resolvidos. Rio de Janeiro: Campus,
2002.
• GIMARÃES, Ângelo de Moura. LAGES, Newton Alberto de Castilho. Algoritmos e estruturas
de dados. Rio de Janeiro: Campus, 1985.
• LAUREANO, Marcos. Programando em C para Linux, Unix e Windows. Rio de Janeiro:
BRASPORT LIVROS, 2005.
• MEDINA, Marco. FERTIG, Cristina. Algoritmos e programação: teoria e prática. São Paulo:
NOVATEC INFORMATICA, 2005.
• ARAÚJO, Everton Coimbra de. Algoritmos: fundamentos e prática. 2. ed. Ampl. e atual.
Florianópolis: VisualBooks, 2005.
• FEOFILOFF, Paulo. Projeto de Algoritmos em C. Disponível em
http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html acesso em 12/07/2011.
• KNUTH, Donald Ervin. The art of computar programming. 3. ed. Massachusetts: Addison-
Wesley, 1997. 650 p. (Volume 1)
ricardo.souza@ifpa.edu.br