ALGORITMOS Cnceits e Frma de Representaçã Alessandr J. de Suza DIATINF - IFRN alessandr.suza@ifrn.edu.br twi;er.cm/ajdsuza
Primeira Aula Teórica ² Intrduçã Cnceits de algritms ² Frmas de Representaçã de Algritms Descriçã NarraJva Fluxgrama Cnvencinal Pseudcódig Algritm e lógica de Prgramaçã 2
Cnceit de Algritm ² "Serve cm mdel para prgramas, pis sua linguagem é intermediária à linguagem humana e às linguagens de prgramaçã, send entã, uma ba ferramenta na validaçã da lógica de tarefas a serem autmajzadas. ² Os algritms, servem para representar a sluçã de qualquer prblema, mas n cas d Prcessament de Dads, eles devem seguir as regras básicas de prgramaçã para que sejam cmpaxveis cm as linguagens de prgramaçã. Algritm e lógica de Prgramaçã 3
² Dentre as frmas de representaçã de algritms mais cnhecidas pdems citar: Descriçã Narra6va; Fluxgrama Cnvencinal; Pseudcódig, também cnhecid cm Linguagem Estruturada u Prtugl. Frmas de Representaçã de Algritms Algritm e lógica de Prgramaçã 4
Frmas de Representaçã de Algritms ² Descriçã NarraJva Nesta frma de representaçã s algritms sã expresss diretamente em linguagem natural. Receita de bl: Misture s ingredientes Unte a frma cm manteiga Despeje a mistura na frma Se huver cc ralad entã despeje sbre a mistura Leve a frma a frn Enquant nã crar deixe a frma n frn ReJre d frn Deixe esfriar Tmand um banh: Entrar n banheir e Jrar a rupa Abrir a trneira d chuveir Entrar na água Ensabar- se Sair da água Fechar a trneira Enxugar- se VesJr- se Algritm e lógica de Prgramaçã 5
² Descriçã NarraJva Frmas de Representaçã de Algritms Trca de um pneu furad Afruxar ligeiramente as prcas Suspender carr ReJrar as prcas e pneu Clcar pneu reserva Apertar as prcas Abaixar carr Dar apert final nas prcas Cálcul da média de um alun Obter as suas 2 ntas de prvas Calcular a média aritméjca Se a média fr mair que 7, alun fi aprvad, senã ele fi reprvad Algritm e lógica de Prgramaçã 6
² Fluxgrama Cnvencinal Frmas de Representaçã de Algritms É uma representaçã gráfica de algritms nde frmas gemétricas diferentes implicam ações (instruções, cmands) disjnts. Tal prpriedade facilita entendiment das idéias cnjdas ns algritms e jusjfica sua ppularidade Esta frma é aprximadamente intermediária à descriçã narrajva e a pseudcódig (subitem seguinte), pis é mens imprecisa que a primeira e, n entant, nã se precupa cm detalhes de implementaçã d prgrama Algritm e lógica de Prgramaçã 7
Frmas de Representaçã de ² Fluxgrama Cnvencinal Algritms Inici e Fim de Prgrama Decisã Operaçã de Atribuiçã Operaçã de Saída Operaçã de Entrada de Dads Algritm e lógica de Prgramaçã 8
Frmas de Representaçã de Algritms ² Fluxgrama Cnvencinal Exempl: Cálcul da média de um alun sb a frma de um fluxgrama. Iníci N1, N2 ParJnd d símbl inicial, há sempre um únic caminh rientad a ser seguid, representand a existência de uma única sequência de execuçã das instruções "Aprvad".V. MEDIA aaa (N1 + N2) / 2 MEDIA >= 7.F. "Reprvad" Fim Algritm e lógica de Prgramaçã 9
² Pseudcódig Frmas de Representaçã de Algritms Esta frma de representaçã de algritms é rica em detalhes, cm a definiçã ds Jps das variáveis usadas n algritm. Pr assemelhar- se bastante à frma em que s prgramas sã escrits, encntra muita aceitaçã. Na verdade, esta representaçã é suficientemente geral para permijr a traduçã de um algritm nela representad para uma linguagem de prgramaçã específica seja prajcamente direta. Algritm e lógica de Prgramaçã 10
Frmas de Representaçã de ² Pseudcódig ² Algritm é uma palavra que indica iníci da definiçã de um algritm em frma de pseudcódig. Algritm <nme_d_algritm>; <declaraçã_de_variáveis>; <subalgritms> Iníci <crp d algritm> Fim Algritms ² ² ² ² <nme_d_algritm> é um nme simbólic dad a algritm cm a finalidade de disjngui- ls ds demais. <declaraçã_de_variáveis> cnsiste em uma prçã pcinal nde sã declaradas as variáveis glbais usadas n algritm principal e, eventualmente, ns subalgritms. <subalgritms> cnsiste de uma prçã pcinal d pseudcódig nde sã definids s subalgritms. Iníci e Fim sã respecjvamente as palavras que delimitam iníci e términ d cnjunt de instruções d crp d algritm. Algritm e lógica de Prgramaçã 11
² Pseudcódig Frmas de Representaçã de Representaçã d algritm d cálcul da média de um alun, na frma de um pseudcódig Algritm Calcul_Media; Var N1, N2, MEDIA: real; Iníci Leia (N1, N2); MEDIA (N1 + N2) / 2; se MEDIA >= 7 entã Escreva ( Aprvad ) senã Escreva ( Reprvad ); fimse Fim Algritms Algritm e lógica de Prgramaçã 12
² Síntese Frmas de Representaçã de Algritms Há diversas frmas de representaçã de algritms que diferem entre si pela quanjdade de detalhes de implementaçã que frnecem u, inversamente, pel grau de abstraçã que pssibilitam cm relaçã à implementaçã d algritm em terms de uma linguagem de prgramaçã específica. Dentre as principais frmas de representaçã de algritms destacam- se: a descriçã narra6va, fluxgrama cnvencinal e pseudcódig (u linguagem estruturada). Algritm e lógica de Prgramaçã 13
Extensã da aula ² AssisJr a víde aula ² Realizar estud sbre frmas de representaçã de algritm