Algoritmia Algoritmos e Programação, CET - CO francisco.rente@estgoh.ipc.pt
Agenda Problemas Vs. Resoluções O que é a Algoritmia? Algoritmo de Euclides Formas de representação de Algoritmos Representação Estruturada 2
Problemas Vs. Resoluções O Problema: Qual dos meus fornecedores de betão oferece melhor relação qualidade/preço? Resolução?! 3
Problemas Vs. Resoluções Passos genéricos para Resolução de Problemas: (1) Analisar o Problema (1) Conhecer e entender o problema: (1) Reter informação (ouvir, pesquisar, ler...) (2) Identificar Objectivos (3) Perceber porque é que existe (2) Descrever o problema (esquematizar, detalhar, desenhar...) ( Top-Down ) (2) Resolver o Problema: desenvolver (leia-se escrever) passo a passo a solução do problema, e no fim verificar se não há ambiguidades/omissões ou erros (3) Executar (no nosso caso implementar) 4
Problemas Vs. Resoluções O Problema: Qual dos meus fornecedores de betão oferece melhor relação qualidade/preço? 5
Problemas Vs. Resoluções Conhecer e entender o problema (Analisar o Problema): 1) Quais são os meus fornecedores de betão? Bet-Lx Lda, Betão&Betão SA, Irmãos Betão LDA... 2) Que características preciso de analisar? Resistência do Betão, Velocidade de entrega, disponibilidade, preço... 3) Todas as características tem o mesmo peso na decisão? Resistência do Betão (30%), Velocidade de entrega(10%), disponibilidade (10%), preço(50%) 4) Objectivo: Encontrar a melhor relação qualidade/preço 5) Existência: Preciso de betão resistente, barato e de fácil acesso. Nem todos os fornecedores oferecem as mesmas condições. 6
Problemas Vs. Resoluções Resolução: Vamos comparar (comparação ponderada): - Um Fornecedor com todos os outros em relação a (cotações de 0 a 20): Resistência do Betão (30%) Velocidade de entrega (10%) Disponibilidade (10%) Preço (50%) - Sempre que aparecer um fornecedor melhor valor final, memorizamos o seu nome Resultado Final: Melhor fornecedor de Betão em Portugal. (O nosso Objectivo!!) 7
O que é a Algoritmia? Algoritmia é precisamente o que estivemos a fazer! Algoritmia: Resolução sistematizada, completa e concisa de problemas. 8
O que é a Algoritmia? Por sua vez um algoritmo, enquanto espécimen algoritmica, é: Sequência ordenada de instruções que conduzem a resolução não-ambígua de um problema especifico. Propriedades que um algoritmo deve ter: não tem ambiguidades número finito de passos simples que conduzem a resolução ser consistente ser estruturado 9
O que é a Algoritmia? (Por outras palavras) Algoritmo é a descrição, bem definida, de um conjunto de passos necessários para transformar um conjunto de valores, dados( input ), noutro conjunto de valores, resultados ( output ). 10
O que é a Algoritmia? Direitos: Eng. Ana Paula Afonso 11
Algoritmo de Euclides Euclides Matemático Grego, 300 ac AlgoritmoDeEuclides(inteiro a, inteiro b) dividendo a divisor b enquanto resto(dividendo/divisor) 0 c resto(dividendo/divisor) dividendo divisor divisor c retornar divisor 12
Formas de representação de um Algoritmo Linguagem Natural estruturada Linguagens Abstractas Estruturadas Fluxogramas 13
Formas de representação de um Algoritmo Fluxogramas 14
Formas de representação de um Algoritmo 15
Formas de representação de um Algoritmo 16
Representação Estruturada Regras: Indentação Blocos lógicos bem identificados Primar pela simplicidade e clareza 17
Exercícios 18