Escolar Documentos
Profissional Documentos
Cultura Documentos
Cludio C. Rodrigues
Primitivas Pseudocdigo
O delineamento de Algoritmos
A teoria da Resoluo de Problemas A busca de um ponto de partida
O Conceito de Algoritmo
Um algoritmo um conjunto ordenado de passos executveis no ambguos, definindo um processo que tem um trmino. Conceitos inter-relacionados: Algoritmo:
abstrato e distinto de sua representao uma das possveis representaes do algoritmo A atividade de executar um algoritmo.
2
Programa:
Processo:
O Conceito de Algoritmo
Considere que um algoritmo deve consistir de passos executveis. Para tanto, considerar as instrues:
Passo 1. Construir uma lista de todos os inteiros positivos Passo 2. Organizar esta lista em ordem decrescente Passo 3. Extrair o primeiro inteiro da lista resultante.
A representao de Algoritmos
Conjunto bem definido de elementos funcionais bsicos com os quais podem ser construidas representaes de algoritmos. Um conjunto de primitivas, juntamente com um de regras, estabelecendo de que maneira as primitivas podem ser combinadas, constitu uma linguagem de programao.
Representao de Algoritmos
Sintaxe:
Semntica:
Representao de Algoritmos
Narrativa
Representao de Algoritmos
Exemplo:
Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o Pneu reserva e as porcas Abaixar o carro Dar o aperto final nas porcas
Representao de Algoritmos
Entrar no banheiro Tirar a roupa Abrir a torneira Entrar na gua Ensaboar-se Sair da gua Fechar a torneira Enxugar-se Vestir-se
Representao de Algoritmos
Fluxograma
Representao de Algoritmos
Fluxograma Convencional
Tal propriedade facilita o entendimento das idias contidas nos algoritmos e justifica sua popularidade. Esta forma aproximadamente intermediria descrio narrativa e ao pseudocdigo (subitem seguinte).
10
A representao de Algoritmos
Pseudocdigo
um sistema notacional no qual as idias podem ser informalmente expressas durante o processo de desenvolvimento do algoritmo. A ttica ser a de desenvolver uma notao consistente e concisa para representar as estruturas semnticas mais frequentes, as quais, por sua vez, se tornaro as primitivas de nossa representao.
11
Representao de Algoritmos
Se o produto interno bruto tiver aumentado, compre aes ordinrias: caso contrrio, venda as aes ordinrias. Compre aes ordinrias se o produto interno bruto tiver aumentado: caso contrrio venda-as
Reescrita: If (condio)
Representao de Algoritmos
Fim
13
Representao de Algoritmos
Algoritmo 2: Pegar um nibus. 1: ir at a parada 2: enquanto nibus no chega faa 3: esperar nibus 4: fim-enquanto 5: subir no nibus 6: pegar passagem 7: se no h passagem ento 8: pegar dinheiro 9: fim-se 10: pagar o cobrador 11: troco = dinheiro - passagem 12: enquanto banco no est vazio faa 13: ir para o prximo 14: fim-enquanto 15: sentar
14
O delineamento de Algoritmos
O desenvolvimento de um programa consiste de duas atividades delinear o algoritmo subjacente, e representar o algoritmo na forma de um programa.
Delinear um algoritmo descobrir um mtodo de solucionar um problema. Assim, entender como os algoritmos so delineados entender o prprio processo de resoluo de problemas.
15
Resoluo de Problemas
Como desenvolver uma soluo?
Problema
Algoritmos
O delineamento de Algoritmos
17
O delineamento de Algoritmos
Traduzindo o modelo de Polya para o contexto do desenvolvimento de programas, estas fases se tornam:
Fase 1 Compreender o problema Fase 2 Adquirir uma idia da forma como um procedimento algortmico poderia resolver o problema Fase 3 Formular o algoritmo e represent-lo na forma de um programa. Fase 4 Avaliar o programa quanto preciso e quanto ao seu potencial como ferramenta para solucionar outros problemas.
18
Problema Ilustrativo:
O indivduo A encarregado de determinar a idade dos trs filhos do indivduo B. B conta a A que o produto das idades das crianas 36. Depois de levar em conta esta informao. A responde que precisa de mais informao, e ento B conta a A a soma das idades das crianas. Novamente, A diz que necessita de mais informao, e assim B conta que a criana mais velha toca piano. Depois de ouvir isto, A responde para B a idade das trs crianas.
Qual a idade de cada uma das trs crianas?
19
Resolvendo as Identidades
Triplas cujo Produto 36 (1,1,36) (1,6,6) (1,2,18) (2,2,9) (1,3,12) (2,3,6) (1,4,9) (3,3,4) Somas das Triplas 1+1+36 =38 1+6+6=13 1+2+18 =21 2+2+9=13 1+3+12=16 2+3+6=11 1+4+9=14 3+3+4=10
20
H numerosos mtodos de resoluo de problemas, cada qual com possibilidades de sucesso em determinadas situaes. Qualquer que seja a tcnica adotada, conduta esta que pode ser resumida no seguinte:
21
Problema Ilustrativo
A previu que B ganharia B previu que D seria o ltimo C previu que A seria o terceiro D previu que a previso de A estaria correta
Apenas uma destas previses deu certo, e esta foi feita pelo vencedor da corrida. Em que ordem A, B, C e D terminaram a corrida?
22
Bibliografia
Cincia da Computao: uma viso abrangente J. Glenn Brokshear Bookman, 5a. edio
23