2-Algoritmos - Introdução a Algoritmos

download 2-Algoritmos - Introdução a Algoritmos

of 27

description

algoritmos de programação - Introdução

Transcript of 2-Algoritmos - Introdução a Algoritmos

  • Introduo a AlgoritmosDefinio de Algoritmos

  • IntroduaoPara que um computador possa desempenhar uma tarefa necessrio que ela seja detalhada passo a passo.O programa nada mais do que um algoritmo compreensvel ao computador

  • IntroduoAfazeres domsticos, receitas de um prato, contas de luz e gua so exemplos de algoritmos genricos utilizados no dia a diaTudo o que fazemos pode ser considerado um algoritmo (ou vrios) um procedimento que recebe uma entrada e, de acordo com passos definidos produz uma sada.

  • IntroduoO Algoritmo a lgica do problema matemtico ou computacional a sequncia de passos lgicos que se deve realizar para a soluo do problemaUm algoritmo geralmente uma forma bruta de se resolver problemas matemticos/computacionais particulares ou agrupados

  • HistriaMatemtico persa chamado Abu Jafar Al-Khowrizm escreveu em, 825 um livro sobre mtodos de restaurao e reduo numrica Kitab al jabr wal-muqabala

  • ConceitosNa Matemtica, descreve o processo de clculo e resoluo de um grupo de problemas semelhantes, com generalidades e sem restries, estipulando as regras formais para obteno do resultadoBaskara

  • ConceitosNa programao de computadores, descreve o conjunto de regras predeterminadas e bem definidas para resolver um problema com um nmero finito de etapas.

  • Aplicao BsicaDia a diaTarefa de escovar os dentes aps o almoo:Levantar da mesaIr ao banheiroAbrir o creme dentalColocar o creme na escova de dentesEscovar os dentesEnxague

  • Os passos do algoritmo de escovao dos dentes devem ser aplicados de forma sequencial.Traduzindo a um computador, a sequncia de passos que transforma entrada em sada

  • Caractersticas de um AlgoritmoFinitudeUm algoritmo deve sempre terminar aps um nmero finito de passosDefinioCada passo deve ser precisamente definido, sem ambiguidadeEntradaValores que so fornecidos antes do incio e durante a sua execuo

  • Caractersticas de um AlgoritmoSadasUm algoritmo deve ter uma ou mais sadas, relativas s entradas quanto a execuo do algoritmoEfetividadeTodas as operaes devem ser suficientemente bsicas que possam ser executadas mesmo em papel e lpis

  • Um algoritmo uma abstrao da realidade o processo de identificar as propriedades relevantes do fenmeno que est sendo modelado.

  • Soluo de problemas com algoritmosAlguns passos devem ser definidos criteriosamente:Definir o problemaDados associados e resultados desejadosPlanejar o algoritmo de soluoDecidir como proceder na soluo do problemaCodificar a soluoRedigir o algoritmo em formato de linguagem passvel de entendimento ferramenta de soluoTestar a codificaoAssegurar os resultados no formato corretoDocumentao Obteno e testes de resultados, manuais e desempenho.

  • Algoritmo e o ComputadorO computador utiliza-se de um mecanismo capaz de executar aes seguindo um padro de comportamento descrito por um algoritmoRepertrio de aes primitivasSoluo de problemas matemticos especficos (numricos)Utilizao de ferramentas matemticas para traduzir formas visuais

  • Algoritmo e o ComputadorOs passos de um algoritmo deve ser sequencial e esgotadorSomente se executa a prxima etapa quando a anterior realizada sem erros, ou com o mnimo de desvios.

  • Algoritmo e o ComputadorTexto finitoTodo algoritmo escrito em forma de software representado por linhas de comando textualInstrues elementaresComandos mnimos conhecidos fornecidos ao computador que executar as aes.Receita metdicaTexto preciso, sem ambiguidadesTerminaoTruncamento de aes, quando possvelFinalizao de loops, se necessrioContagem de passos e aproximaes.

  • Limitao de passosh1h2= h1/2h3= h2/2h4= h3/2

  • Limitao de Passoshn=?h1 + h2 + h3 + .....+ hn ?

  • Ordem de PassosAlguns passos devem ser realizados invariavelmente de forma sequencialPode haver incongruncias lgicas entre a execuo da soluo de problemas e o problema em siAlterao da ordem lgicaErro nas condies iniciaisErro na numerao dos passos (referncia em 0 ou 1)

  • Representao de AlgoritmosExistem algumas representaes de algoritmos consolidadas para interpretao:FluxogramaDiagrama de blocosAlgoritmo descritivoAlgoritmo codificado

  • Representao de AlgoritmosAlgoritmo grfico a representao do raciocnio lgico atravs de blocos de informao, conhecido como modelo tradicional.Os fluxogramas so exemplos de algoritmos grficos, utilizados para descrever o mtodo e a sequncia de processos dos planos. Tanto em um computador como no papel.

  • FluxogramaRepresentao desenvolvida pela ANSISmbolos padronizados com formas geomtricas indicando diferentes aesFormato intermedirio entre a descrio narrativa e pseudocdigoMenos imprecisa que a primeiraMenor ateno a detalhes que a segunda

  • Representao de FluxogramaIncio / FimEntradaSadaProcesso (clculo)Deciso

  • Representao de FluxogramaFluxogramas convencionais devem atentar a detalhes de nvel fsico de execuo do algoritmoFiguras diferentes para processos diferentesPartindo do smbolo de incio, h sempre um nico caminho orientado a ser seguido, dependendo das entradas e instrues a serem seguidas

  • Exerccio: Problema da BolaDesenhe um fluxograma para clculo da distncia de quiques da bola do exerccio anterior em que as entradas so:Altura inicialNmeros de quiques a serem considerados

  • Exerccio: Problema da BolaConsidere que os quiques percam 1/3 da altura a cada batida no solo.Calcule quantos quiques para que a altura atingida seja menor que 1% da altura inicial.