2013 UFU / FACOM / ICC / Prof. Autran Macêdo UFU/FACOM/Prof.Autran Macêdo Algoritmo Introdução Fluxograma Portugol Considerações Finais Referências UFU/FACOM/Prof.Autran Macêdo • • • • • 2013 Sumário 2 15 Introdução 1. 2. 3. Obtenha um número X Escreva os X termos da sequência de Fibonacci Fim UFU/FACOM/Prof.Autran Macêdo • É uma sequência finita de instruções que resolve um problema. • Exemplo: 2013 • O que é um algoritmo? 3 15 • Algoritmo MDC, 400 A.C. • Muhammad ibn Musa al-Khwarizmi • Matemático, século IX • Solução sistemática de equações lineares e quadráticas UFU/FACOM/Prof.Autran Macêdo • Euclides 2013 - Introdução História 4 15 Escolha uma linguagem para descrever o algoritmo. Entenda o problema. Escreva o algoritmo. O algoritmo está correto? sim, vá para o passo 7 não, encontre o erro; corrija o erro; vá para 4 O algoritmo pode ficar melhor? sim, compensa o investimento? sim, crie uma nova versão do algoritmo; vá para 4 não, vá para 12 não, vá para 12 fim Use Papel e Lápis UFU/FACOM/Prof.Autran Macêdo 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 2013 - Introdução Algoritmo do Algoritmo 5 15 UFU/FACOM/Prof.Autran Macêdo • Depende do executor do algoritmo. 2013 - Introdução Como escrever um algoritmo? 6 15 1. 2. 3. 4. Leia os dois números no canto superior direito do portal Calcule o MDC dos números Digite no painel do portal o MDC Fim UFU/FACOM/Prof.Autran Macêdo • Considerando que o ser saiba o que é MDC, “o segredo para abrir o portal é”: 2013 - Introdução Algoritmo para Ser Inteligente 7 15 • Então, “o segredo para abrir o portal é”: 1. leia m, n 2. se n > 0 3. x ← n 4. n ← m % n 5. m ← x 6. vá para 2 7. fim_se 8. imprima m 9. fim melhor leia m, n enquanto n > 0 x ← n; n ← m % n; m ← x; fim_enquanto imprima m fim UFU/FACOM/Prof.Autran Macêdo • Considerando que o computador atual, essencialmente, é capaz de realizar as operações de um computador de von Neumann. 2013 - Introdução Algoritmo para Computador 8 15 • Duas muito conhecidas: • Fluxograma • SL (Structured Language – Portugol) UFU/FACOM/Prof.Autran Macêdo • Há várias linguagens para descrição de algoritmos. 2013 - Introdução Linguagens para Algoritmos 9 15 Fluxograma Ação • Um fluxograma é um grafo dirigido. • Siga as setas a partir do nó Início. • Há apenas um nó Início. Observe UFU/FACOM/Prof.Autran Macêdo 2013 Decisão • Pode haver vários nós Fim. • O algoritmo termina quando se chega a um nó Fim. 10 15 Fluxograma para o MDC Início 2013 - Fluxograma leia m, n se n > 0 x ← n n ← m % n m ← x vá para 2 fim_se imprima m fim Leia M, N sim N>0 Imprima M UFU/FACOM/Prof.Autran Macêdo 1. 2. 3. 4. 5. 6. 7. 8. 9. Fim 11 15 não X=N N = M%N M=X Comandos == Vazio ou Comando Comandos Portugol escreva 2013 • leia Saída • Atribuição • var ← valor • op == + - * % / var ← var var ← var op var • Desvio • se condição então comandos senão comandos fim_se • Laço • enquanto condição comandos fim_enquanto UFU/FACOM/Prof.Autran Macêdo • Entrada Comando == Entrada ou Saída ou Atribuição ou Desvio ou Laço 12 15 UFU/FACOM/Prof.Autran Macêdo leia m, n enquanto n > 0 x ← n n ← m % n m ← x fim_enquanto imprima m fim 2013 - Portugol Portugol para o MDC 13 15 Considerações Finais • Entenda o problema. • Escreva um algoritmo (lápis e papel). • Implemente o algoritmo SE SOMENTE SE o algoritmo estiver correto. UFU/FACOM/Prof.Autran Macêdo • Seja um bom programador. 2013 • O algoritmo é a alma do programa. 14 15 Referências UFU/FACOM/Prof.Autran Macêdo 2013 • Qualquer livro da bibliografia 15 15