r lnLroduo r Lglca r ueflnles 8slcas r Lglca de rogramao r nomenclaLuras r Slmbologlas r C que e a Lglca? r Manelra parLlcular de racloclnar r Con[unLo de regras e prlnclplos que orlenLam lmpllclLa ou expllclLamenLe o desenvolvlmenLo de uma argumenLao ou de um racloclnlo a resoluo de um problema r 8amo da fllosofla que culda das regras do bem pensar do pensar correLamenLe r Coerncla e 8aclonalldade r ueLermlna a valldade de operaes aLraves das formas e lels do pensamenLo r ensamenLo r ManlfesLao do conheclmenLo r C conheclmenLo busca a verdade r L preclso esLabelecer regras para que essa meLa possa ser aLlnglda r ArLe de bem pensar r Crdem da razo do pensamenLo r A forma como as pessoas racloclnam e esLudo da pslcologla cognlLlva 3 Ldeyson Andrade Comes wwwedeysoncombrlnLroduo r MeLodo deduLlvo r Modo de racloclnlo lglco que faz uso da deduo para obLer uma concluso a respelLo de deLermlnadas premlssas r C racloclnlo deduLlvo se caracLerlza por apresenLar concluses que so verdadelras caso Lodas as premlssas se[am verdadelras r A deduo no oferece conheclmenLo novo Lla r conduz parLlcularldade de uma lel geral prevlamenLe conheclda r organlza e especlflca o conheclmenLo que [ se possul r Lem como ponLo de parLlda o plano do lnLellglvel 6 Ldeyson Andrade Comes wwwedeysoncombrlnLroduo r MeLodo deduLlvo r Lxemplos r 1odo mamlfero e um anlmal r 1odo gaLo e um mamlfero r Logo Lodo gaLo e um anlmal r 8ex e um cachorro r Cachorros no voam r Logo 8ex no voa r Callnhas Lem dols pes r Pomens Lem dols pes r Logo homens so gallnhas 7 Ldeyson Andrade Comes wwwedeysoncombr Soflsma ArgumenLo que parLe de premlssas verdadelras ou Lldas como verdadelras e chega a uma concluso lnadmlsslvellnLroduo r MeLodo lnduLlvo r arLese de premlssas parLlculares na busca de uma lel geral r Lxemplo r C ferro conduz eleLrlcldade e e um meLal r C ouro conduz eleLrlcldade e e um meLal r C cobre conduz eleLrlcldade e e um meLal r Logo os meLals conduzem eleLrlcldade 8 Ldeyson Andrade Comes wwwedeysoncombrueflnles 8slcasueflnles 8slcas r 8acloclnlo Lglco r laLores que lnLerferem r ALeno conheclmenLo experlncla crlaLlvldade eLc r C que e? r Soluo de problemas r ALlnglr ob[eLlvos r Lflccla e eflclncla r Lu sel pensar!! r or que esLudar lglca? r Cue MeLodo se usa? 10 Ldeyson Andrade Comes wwwedeysoncombrueflnles 8slcas r Cb[eLlvos da Lglca r LsLudo de Lecnlcas de formallzao deduo e anllse para valldar argumenLos r 8epresenLar formalmenLe os argumenLos r Lglca no dlaadla r ensamenLo exlge lglca Crdem r Lxemplos r A gaveLa esL fechada r A caneLa esL denLro da gaveLa r Como fazer para pegar a caneLa? 11 Ldeyson Andrade Comes wwwedeysoncombrueflnles 8slcas r Lxerclclo r 1 ulvldlr 21 garrafas (opacas com mesma capacldade volumeLrlca e com formas dlferenLes) de vlnho (7 Chelas 7 vazlas e 7 pelo melo) enLre 3 pessoas Cada uma deve receber a mesma quanLldade de garrafas e de vlnho r 2 roblemas das Laran[as r ConLadas de 2 em 2 3 em 3 3 em 3 e 7 em 7 r 1rs mlsslonrlos e Lrs canlbals esLo encalhados numa llha com apenas um pequeno barco para chegar a Lerra flrme r Cs mlsslonrlos nunca devem esLar em menor numero do que os canlbals nem na llha nem em Lerra nem duranLe o LransporLe r LxlsLe uma unlca canoa para duas pessoas r 1odos devem aLravessar Como fazer a Lravessla? 12 Ldeyson Andrade Comes wwwedeysoncombrLglca de rogramaoLglca de rogramao r C que e um programa? r Cual seu programa para o flm de semana? r Como se programa a gravao de um canal na Sk?? r C que e um programa de compuLador? r C Word e um programa? r C lL e um programa? r or que? r um programa pode calcular um salrlo? r Como? Com que crlLerlos? 14 Ldeyson Andrade Comes wwwedeysoncombrLglca de rogramao r rograma r LsLruLura sequenclal compleLa r assos loglcamenLe vlldos e coerenLes r C racloclnlo lndepende da llnguagem usada para represenLlo r Lglca de programao lndepende das llnguagens de programao rogramao r AlgorlLmo r Con[unLo de passos para aLlnglr um ob[eLlvo execuLar uma Larefa r Como deLermlnar uma sequncla coerenLe e vllda de passos? r Crdem do pensamenLo r Lglca r Lxerclclo r 1rocar o pneu de um carro? r Como deLermlnar Lodos os dlvlsores de n? r Como deLermlnar se n e prlmo? r 8esoluo de um problema no compuLador r C que e necessrlo? r 1 uescrlo clara e preclsa do problema r ll ueflnlo de uma sequncla de passos que permlLam a soluo de manelra auLomLlca e repeLlLlva r lll lormaLao dos dados r LnLrada e salda r Sequncla de passos para a soluo r AlgorlLmo r um algorlLmo e unlco? r onLos de vlsLa r LxlsLe algorlLmo para a crlao de algorlLmos? 18 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos r ueflnlo r rocesso de clculo ou de resoluo de um grupo de problemas semelhanLes em que se esLlpulam com generalldade e sem resLrles regras formals para a obLeno do resulLado ou da soluo do problema" r Con[unLo de regras e operaes bem deflnldas e ordenadas desLlnadas soluo de um problema ou de uma classe de problemas em um numero flnlLo de eLapas" r ulclonrlo Aurello 19 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos 20 Ldeyson Andrade Comes wwwedeysoncombr 8ecelLa lndlcao mlnuclosa sobre a quanLldade dos lngredlenLes e a manelra de preparar um praLo salgado ou doce ulclonrlo Aurello uados de LnLrada uados de SaldaAlgorlLmos r um algorlLmo opera sobre um con[unLo de enLradas de modo a gerar uma salda uLll para o usurlo r uados de enLrada e salda r um algorlLmo possul 3 caracLerlsLlcas lmporLanLes r llnlLude r ueve sempre Lermlnar aps um numero flnlLo de passos r ueflnlo r Cada passo de um algorlLmo deve ser preclsamenLe deflnldo r As aes devem ser deflnldas rlgorosamenLe e sem amblguldades r LnLradas r um algorlLmo deve Ler zero ou mals enLradas 21 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos r um algorlLmo de 3 caracLerlsLlcas lmporLanLes r LlmlLao ou llnlLude r ueflnlo r LnLradas r Saldas r um algorlLmo deve Ler uma ou mals saldas r LfeLlvldade r um algorlLmo deve ser efeLlvo r 1odas as operaes devem ser suflclenLemenLe bslcas de modo que possam ser execuLadas com preclso em um Lempo flnlLo por um humano usando papel e lpls r roblema r LxlsLem duas vasllhas com capacldades de 9 e 4 llLros respecLlvamenLe r As vasllhas no Lem nenhum Llpo de marcao de modo que no e posslvel Ler medldas como meLade ou um Lero r MosLre uma sequncla de passos que usando as vasllhas de 9 e 4 llLros encha uma Lercelra vasllha de medlda desconheclda com sels llLros de gua r Consldere que clnco rs esLo poslclonadas em sels casas da segulnLe manelra r As rs foram Lrelnadas para Lrocar de casas mas sempre obedecendo as segulnLes regras r elas podem pular para a casa vlzlnha (frenLe ou Lrs) se ela esLlver vazla r elas podem pular sobre a r vlzlnha para uma casa llvre (frenLe ou Lrs) r MosLre como as rs podem chegar a segulnLe poslo flnal 24 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 8 3 8 4 8 3 8 2 8 1AlgorlLmos 23 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3AlgorlLmos 26 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3AlgorlLmos 27 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3AlgorlLmos 28 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3 8 2 8 3 8 1 8 4 8 3AlgorlLmos 29 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3 8 2 8 1 8 3 8 4 8 3 8 2 8 3 8 1 8 4 8 3 8 2 8 3 8 1 8 4 8 3AlgorlLmos 30 Ldeyson Andrade Comes wwwedeysoncombr 8 1 8 2 8 3 8 4 8 3 r C ob[eLlvo de apresenLar 1CuCS os passos serve para que? r 8epeLlo r 8usca de subcon[unLo r Slmpllflcar problema r roblema r Como enconLrar a conLa com o menor saldo enLre os cllenLes de um banco? r Saldos podem esLar negaLlvos r assos de ConsLruo r Compreender o problema r ldenLlflcar os dados de enLrada e salda r ueLermlnar o que e preclso para Lransformar dados de enLrada em dados de salda r usar a esLraLegla do dlvldlr para conqulsLar (Lopdown) r observar regras e llmlLaes r ldenLlflcar Lodas as aes a reallzar r ellmlnar amblguldades r ConsLrulr o algorlLmo r 1esLar o algorlLmo r LxecuLar o algorlLmo MeLodo 1opuown r ConslsLe em dlvldlr um problema em parLes menores r subproblemas r de modo que se[a mals fcll a sua resoluo r Lxemplo r lazer suco de laran[a r Lavar laran[a r arLlr laran[a ao melo r Lspremer laran[a r lllLrar o suco r Servlr o suco 42 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos r Crlao de algorlLmos para resolver problemas r Complexo r uesaflo mals aLraLlvo ao programador r Clncla ou ArLe? r um algorlLmo e uma descrlo deLalhada passo a passo de como resolver um problema ou execuLar uma Larefa r A programao conslsLe na codlflcao preclsa desse algorlLmo segundo uma llnguagem de programao especlflca 43 Ldeyson Andrade Comes wwwedeysoncombr8epresenLao de AlgorlLmos8epresenLao de AlgorlLmos r As formas mals comuns de represenLao de algorlLmos so as segulnLes r Llnguagem naLural r Cs algorlLmos so descrlLos deLalhadamenLe em llnguagem naLural r lluxograma r Cs algorlLmos so represenLados graflcamenLe r usamse formas geomeLrlcas padronlzadas para descrever aes e declses na resoluo do problema r seudollnguagem r Cs algorlLmos so descrlLos aLraves de uma llnguagem lnLermedlrla enLre a llnguagem naLural e uma llnguagem de programao 8epresenLao de AlgorlLmos r Llnguagem naLural r lnlclo do AlgorlLmo x8urger r egar um po r Abrlr o po ao melo r assar manLelga no po r Colocar quel[o no po r Colocar presunLo no po r Colocar ovo frlLo no po r lechar o po r llm do AlgorlLmo x8urger r Cnde esLavam a manLelga o quel[o e o presunLo? r Cuem frlLou o ovo? lsso faz parLe do algorlLmo? r odemos deflnlr um algorlLmo frlLar ovo e reuslo? r Llnguagem naLural r lnlclo do AlgorlLmo Medla r ALrlbulr um valor para a varlvel a r ALrlbulr um valor para a varlvel b r ALrlbulr um valor para a varlvel c r Calcular medla como a soma de a b e c dlvldlda por 3 r lmprlmlr a medla r llm do AlgorlLmo Medla r Llnguagem naLural r Como calcular as ralzes de uma equao do segundo grau? r ax 2 + bx + c r b 2 4ac r x1 (b + v) / 2a r x2 (b v) / 2a r A deve ser dlferenLe de 0 r deve ser malor que zero para Ler ralzes reals 48 Ldeyson Andrade Comes wwwedeysoncombr8epresenLao de AlgorlLmos r Llnguagem naLural r lnlclo do AlgorlLmo 8alzes r CbLer os coeflclenLes a b e c r Se a e lgual a zero lnformar que esLa e uma equao de 1 grau e Lermlnar o algorlLmo r Caso conLrrlo conLlnue e faa r Calcular delLa b 2 4ac r Se delLa for negaLlvo lnformar que a equao no Lem ralzes reals e Lermlnar o algorlLmo r Caso conLrrlo conLlnue e faa r Calcular x1(b + ralz quadrada de delLa)/(2a) r Calcular x2(b ralz quadrada de delLa)/(2a) r lornecer como resulLado x1 e x2 r 1ermlnar o algorlLmo r llm do AlgorlLmo 8alzes 49 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas Ldeyson Andrade Comes 30lluxogramas r lluxograma e um dlagrama r 8epresenLa o esquema de soluo de um problema r ApresenLa llnha de racloclnlo lglco r lndependenLe de llnguagem de programao r lnLellglvel por humanos e compuLadores r C que e um programa de compuLador? r Como Lransformar as solues dos dols problemas anLerlores em programas? r Como expllcar o racloclnlo lglco da soluo? r uma vez que um programa de compuLador esL pronLo como compreendlo? r C problema da manuLeno 20 x 80 r Lu no flz fao melhor! r Lu no flz s !esus enLende! r CC r Como documenLar de forma esLruLurada o que se faz? r C dlagrama e uma llnguagem unlversal? r L o que so lluxogramas? r lerramenLa? r uescrevem o fluxo de ao de um processo r Soluo de problema vla represenLao esquemLlca r 8epresenLao Crflca 33 lnlclo e llm de lluxo LnLrada Manual de uados rocesso ueclso Lxlblolluxogramas r LsLruLuras de ConLrole 34 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de ConLrole r Sequncla r Lxecuo de um con[unLo de aes em serle r no exlsLe a posslbllldade de alLerao da ordem de processamenLo das aes 33 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de ConLrole r Seleo com 1 vla AlLernaLlva r 1omada de declso r C fluxo de processamenLo execuLa a Ao 1 apenas se o valor lglco da expresso avallada no lnlclo da esLruLura for verdade 36 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de ConLrole r Seleo com 2 vlas r 1omada de declso r C fluxo de processamenLo segue por 1 das 2 vlas dependendo do valor lglco da expresso avallada no lnlclo da esLruLura 37 Ldeyson Andrade Comes wwwedeysoncombrLsLruLuras de ConLrole r Seleo com n vlas r 1omada de declso r C fluxo de processamenLo segue por 1 das n vlas dependendo do valor lglco da expresso avallada no lnlclo da esLruLura ConLrole r 8epeLlo com 1esLe AnLeclpado r P a necessldade de Lomar uma declso com base no valor lglco de uma expresso r A mesma ao ser execuLada repeLldamenLe enquanLo o resulLado da expresso lglca se manLlver verdadelro r C LesLe da expresso lglca precede a ao r C LesLe funclona como uma condlo de parada das repeLles r 8epeLlo com 1esLe osLergado r SemelhanLe anLerlor mudando apenas quando efeLuar o LesLe Lx r Como calcular as ralzes de uma equao do prlmelro grau? r y ax + b r Se x e lgual a zero lmprlmlr que no h ralz r Seno calcular o valor de x quando y e zero r x b/a r Lxemplo r Como calcular as ralzes de uma equao do segundo grau? r ax 2 + bx + c r b 2 4ac r x1 (b + v) / 2a r x2 (b v) / 2 r A deve ser dlferenLe de 0 r deve ser malor que zero para Ler ralzes reals 63 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas 64 Ldeyson Andrade Comes wwwedeysoncombrseudo Llnguagemseudo Llnguagem r 8epresenLao de algorlLmos vla llnguagem prxlma de uma llnguagem de programao de alLo nlvel r seudocdlgo r Sem regras de consLruo gramaLlcal mulLo rlgldas r Llnguagem naLural com llmlLao de escopo r vocabulrlo e SlnLaxe llmlLados r uAL lnLerpreLador 66 Ldeyson Andrade Comes wwwedeysoncombrseudo Llnguagem 67 Ldeyson Andrade Comes wwwedeysoncombr prog Lquacao2oCrau lnL a b c delLa real x1 x2 lmprlma nCual o valor de a? lela a se (a 0) lmprlma nA equacao e de prlmelro grau
senao lela b lela c delLa (b * b) (4 * a * c) se (delLa 0) x1 ((1 * b) + ralz(delLa)) / (2 * a) x2 ((1 * b) + ralz(delLa)) / (2 * a) lmprlma nx1 x1 lmprlma nx2 x2
senao lmprlma nA equacao nao Lem ralzes reals
flmprogseudocdlgo vA8lAvLlS S C l A Mu lnLelro lnlClC S 0 C 0 A8A l 1 A1L 10 lAA lnlClC Lscreva(ulglLe um numero) LL8 (a) SL a 0 Ln1C lnlClC S S+a C C+1 llM SL llM A8A Mu S/C LSC8LvL8 (A medla e Mu) llM 69Lxerclclo r usando as 8epresenLaes de AlgorlLmos resolva o problema dos 1rlngulos r Lela o valor de Lrs lados de um Lrlngulo (a b e c) e deLermlne se ele e r LqullLero possul Lodos os lados lguals r lssceles possul pelo menos dols lados lguals r Lscaleno possul os Lrs lados dlferenLes r or exemplo a 3 b 3 c 3 r lssceles r lnlclo do AlgorlLmo 1rlngulos r CbLer os lados a b e c r Se os Lrs lados so lguals lmprlma que e LqullLero r Se dols lados so lguals lmprlma que e lssceles r Se os Lrs lados so dlferenLes lmprlma que e Lscaleno r llm do AlgorlLmo 1rlngulos r Com esLe algorlLmo 1CuC LqullLero serla Lambem lssceles r lnlclo do AlgorlLmo 1rlngulos r CbLer os lados a b e c r Se os Lrs lados so lguals lmprlma que e LqullLero r Se apenas dols lados so lguals lmprlma que e lssceles r Se os Lrs lados so dlferenLes lmprlma que e Lscaleno r llm do AlgorlLmo 1rlngulos r nesLe caso as condles so muLuamenLe excluslvas necesslLando do SLnC r lnlclo do AlgorlLmo 1rlngulos r CbLer os lados a b e c r Se os Lrs lados so lguals lmprlma que e LqullLero r Seno r se dols lados so lguals lmprlma que e lssceles r Seno r lmprlma que e Lscaleno r llm do AlgorlLmo 1rlngulos 74 Ldeyson Andrade Comes wwwedeysoncombrLlnguagem naLural r lnlclo do AlgorlLmo 1rlngulos r CbLer os lados a b e c r Se a b e b c lmprlma que e LqullLero r Seno se a b ou b c ou a c lmprlma que e lssceles r Seno lmprlma que e Lscaleno r llm do AlgorlLmo 1rlngulos 73 Ldeyson Andrade Comes wwwedeysoncombr1rlngulos 76 Ldeyson Andrade Comes wwwedeysoncombrLlnguagem naLural r lnlclo do AlgorlLmo 1rlngulos r CbLer os lados a b e c r Se a b e b c lmprlma que e LqullLero r Se a b ou b c ou a c lmprlma que e lssceles r Seno lmprlma que e Lscaleno r llm do AlgorlLmo 1rlngulos r Lsse algorlLmo d o mesmo resulLado do anLerlor? r 8esp SlM r Cual o problema dele? r C segundo SL sempre ser execuLado lndependenLe do resulLado do prlmelro SL nesLe caso Lodo LqullLero ser lssceles 77 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo Ldeyson Andrade Comes wwwedeysoncombr 78Lxerclclos r usando as 8epresenLaes de AlgorlLmos descreva os segulnLes algorlLmos r Ler Lrs numeros e lmprlmlr o malor deles r Ler clnco numeros e lmprlmlr o malor deles r Ler dez numeros e lmprlmlr o malor deles r Ler mll numeros e lmprlmlr o malor deles r C que se lnfere dos resulLados? 79 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e lmprlmlr o malor deles r lnlclo do AlgorlLmo r C Malor numero (chamado de Malor) lnlcla com o menor valor posslvel r Ler n1 r Se Malor e menor que n1 faa Malor lgual a n1 r Ler n2 r Se Malor e menor que n2 faa Malor lgual a n2 r Ler n3 r Se Malor e menor que n3 faa Malor lgual a n3 r lmprlma Malor r llm do AlgorlLmo 80 Ldeyson Andrade Comes wwwedeysoncombrLer clnco numeros e lmprlmlr o malor deles r lnlclo do AlgorlLmo r C Malor numero lnlcla com o menor valor posslvel r Ler n1 r Se Malor e menor que n1 faa Malor lgual a n1 r Ler n2 r Se Malor e menor que n2 faa Malor lgual a n2 r Ler n3 r Se Malor e menor que n3 faa Malor lgual a n3 r Ler n4 r Se Malor e menor que n4 faa Malor lgual a n4 r Ler n3 r Se Malor e menor que n3 faa Malor lgual a n3 r lmprlma Malor r llm do AlgorlLmo 81 Ldeyson Andrade Comes wwwedeysoncombrLer dez numeros e lmprlmlr o malor deles r lnlclo do AlgorlLmo r C Malor numero lnlcla com o menor valor posslvel r laa 10 vezes r Ler n r Se Malor e menor que n faa Malor lgual a n r lmprlma Malor r llm do AlgorlLmo 82 Ldeyson Andrade Comes wwwedeysoncombrlluxograma 83 Ldeyson Andrade Comes wwwedeysoncombrlluxograma 84 Ldeyson Andrade Comes wwwedeysoncombr83 Ldeyson Andrade Comes wwwedeysoncombr lnlclo do AlgorlLmo C Malor numero lnlcla com o menor valor posslvel laa 10 vezes Ler n Se Malor e menor que n faa Malor lgual a n lmprlma Malor llm do AlgorlLmo var l n malor lnLeger begln malor 0 for l 1 Lo 10 do begln wrlLeln(ulglLe um valor para n) readln(n) lf (malor n) Lhen malor n end wrlLeln(C malor valor eh malor) readkey end86 Ldeyson Andrade Comes wwwedeysoncombr lnlclo do AlgorlLmo C Malor numero lnlcla com o menor valor posslvel laa 10 vezes Ler n Se Malor e menor que n faa Malor lgual a n lmprlma Malor llm do AlgorlLmo begln malor 0 l 1 whlle (l 10) do begln wrlLeln(ulglLe um valor para n) readln(n) lf (malor n) Lhen malor n l l + 1 end wrlLeln(C malor valor eh malor) readkey end87 Ldeyson Andrade Comes wwwedeysoncombr lnlclo do AlgorlLmo C Malor numero lnlcla com o menor valor posslvel laa 10 vezes Ler n Se Malor e menor que n faa Malor lgual a n lmprlma Malor llm do AlgorlLmo begln malor 0 l 1 repeaL begln wrlLeln(ulglLe um valor para n) readln(n) lf (malor n) Lhen malor n l l + 1 end unLll (l 10) wrlLeln(C malor valor eh malor) readkey endLxerclclo Ldeyson Andrade Comes wwwedeysoncombr 88Lxerclclo r usando as 8epresenLaes de AlgorlLmos descreva deLalhadamenLe os passos para os segulnLes algorlLmos r Ler Lrs numeros e lmprlmllos em ordem crescenLe r Ler clnco numeros e lmprlmllos em ordem crescenLe r Ler dez numeros e lmprlmllos em ordem crescenLe r Ler mll numeros e lmprlmllos em ordem crescenLe r C que se lnfere dos resulLados? 89 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e lmprlmllos em ordem crescenLe n1 3 n2 2 n3 1 r Malor 0 Menor 0 Melo 0 r Ler n1 n2 n3 r Se n1 n2 enLo Malor n1 r Seno Malor n2 r Se Malor n3 enLo Malor n3 90 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e lmprlmllos em ordem crescenLe 3 8 10 r Malor 0 Menor 0 Melo 0 r Ler n r Malor n Menor n Melo n r Ler n r Se n Malor enLo Malor n r Seno Melo n Menor n r Ler n r Se n Malor enLo Melo Malor e Malor n r Seno Se n Melo enLo Melo n r Seno Menor n 91 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e lmprlmllos em ordem crescenLe n1 3 n2 2 n3 1 r Malor 0 Menor 0 Melo 0 r Ler n1 n2 n3 r Se n1 n2 enLo Menor n2 r Seno Menor n1 r Se Menor n3 enLo Menor n3 92 Ldeyson Andrade Comes wwwedeysoncombrLer clnco numeros e lmprlmllos em ordem crescenLe n1 3 n2 4 n3 3 n4 2 n3 1 r Malor 0 Menor 0 Melo 0 r Ler n1 n2 n3 n4 n3 r Se n1 n2 enLo Malor n1 r Seno Malor n2 r Se Malor n3 enLo Malor n3 r Se Malor n4 enLo Malor n4 r Se Malor n3 enLo Malor n3 93 Ldeyson Andrade Comes wwwedeysoncombrLer Lrs numeros e lmprlmllos em ordem crescenLe r lnlclo do AlgorlLmo r lnlclar n1 n2 e n3 com zero r Ler n r Se n e menor que n1 Lroca n com n1 r Ler n r Se n e menor que n1 Lroca n com n1 r Se n e menor que n2 Lroca n com n2 r Ler n r Se n e menor que n1 Lroca n com n1 r Se n e menor que n2 Lroca n com n2 r Se n e menor que n3 Lroca n com n3 r llm do AlgorlLmo 94 Ldeyson Andrade Comes wwwedeysoncombrLxerclclos r Como deLermlnar Lodos os dlvlsores de n? r Como deLermlnar se n e prlmo? 93 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo Ldeyson Andrade Comes wwwedeysoncombr 96Lxerclclo r 8eglsLro r Ler um arqulvo com n 8eglsLros r lmprlmlr um relaLrlo com alunos aprovados r Calcular a medla arlLmeLlca das noLas r Medla de aprovao 70 r S exlsLe uma lmpressora 97 Ldeyson Andrade Comes wwwedeysoncombr nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo r LnquanLo houver reglsLros no arqulvo faa r Ler reglsLro r lazer medla (noLa1 + noLa2 + noLa3) / 3 r Se medla malor ou lgual a 70 lmprlma o reglsLro r llm do AlgorlLmo 98 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo r 8eglsLro r Ler um arqulvo com n 8eglsLros r lmprlmlr um relaLrlo com alunos aprovados e ouLro com alunos reprovados r Calcular a medla arlLmeLlca das noLas r Medla de aprovao 70 r S exlsLe uma lmpressora 99 Ldeyson Andrade Comes wwwedeysoncombr nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo r Crlar uma coleo de alunos aprovados e ouLra de reprovados r LnquanLo houver reglsLros no arqulvo faa r Ler reglsLro r lazer medla (noLa1 + noLa2 + noLa3) / 3 r Se medla malor ou lgual a 70 lnclua o aluno na coleo de aprovados seno coloqueo na coleo dos reprovados r LnquanLo houver reglsLros na coleo Aprovados faa r lmprlma reglsLro r LnquanLo houver reglsLros na coleo 8eprovados faa r lmprlma reglsLro r llm do AlgorlLmo 100 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo r 8eglsLro r Ler um arqulvo com vrlos 8eglsLros r lmprlmlr a medla arlLmeLlca de Lodas as medlas dos alunos r Medla do aluno (noLa1 + noLa2 + noLa3) / 3 r A Medla das Medlas e a soma de Lodas as medlas dlvldlda pelo numero de reglsLros r lmprlma o numero de reglsLros lldos 101 Ldeyson Andrade Comes wwwedeysoncombr nome noLa1 noLa2 noLa3r lnlclo do AlgorlLmo r conLa8eglsLro 0 r MedlaCeral 0 r LnquanLo houver reglsLro no arqulvo faa r Ler reglsLro r Adlclone 1 a conLa8eglsLro r lazer medlauoAluno (noLa1 + noLa2 + noLa3) / 3 r Adlclone medlauoAluno a MedlaCeral r MedlaCeral MedlaCeral / conLa8eglsLro r lmprlma MedlaCeral e conLa8eglsLro r llm do AlgorlLmo 102 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo r 8eglsLro A r 8eglsLro 8 r roblema r Ler um arqulvo com vrlos 8eglsLros de 2 1lpos r Se o prlmelro campo (1lC) Llver o valor Ar calcular a medla como (noLa1 + noLa 2) / 2 r Se o prlmelro campo (1lC) Llver o valor 8r calcular a medla como (noLa1 + noLa 2 + noLa 3) / 2 r A Medla das Medlas e a soma de Lodas as medlas dlvldlda pelo numero de reglsLros r lmprlma o a Medla das medlas e o numero de reglsLros lldos 103 Ldeyson Andrade Comes wwwedeysoncombr 1lpo nome noLa1 noLa2 1lpo nome noLa1 noLa2 noLa3lluxogramas r roblema r Lela A e 8 r Se A 8 enLo lmprlma A r Seno lmprlma 8 104 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas r roblema r Lela A 8 C r Se A 8 enLo lmprlma A r Seno r Se 8 C enLo lmprlma 8 r Seno lmprlma C 103 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas r roblema r Lela A r Se A 1 lmprlma Cl r Se A 2 lmprlma Claro r Se A 3 lmprlma 1lM r Se A 4 lmprlma vlvo 106 Ldeyson Andrade Comes wwwedeysoncombrlluxogramas r roblema r Lela A r Se A 1 lmprlma Cl r Se A 2 lmprlma Claro r Se A 3 lmprlma 1lM r Se A 4 lmprlma vlvo 107 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r lmprlmlr Lodos os numeros naLurals no lnLervalo 1 n r AlgorlLmo r lnlclo do AlgorlLmo r laa numero varlar de 1 aLe n r lmprlma numero r llm do AlgorlLmo 108 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r lmprlmlr Lodos os numeros A8LS naLurals no lnLervalo 1 n r AlgorlLmo r lnlclo do AlgorlLmo r llm do AlgorlLmo 109 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r lmprlmlr Lodos os numeros A8LS naLurals no lnLervalo 1 n r AlgorlLmo r lnlclo do AlgorlLmo r llm do AlgorlLmo 110 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r lmprlmlr Lodos os mulLlplos de 3 naLurals no lnLervalo 1 n r AlgorlLmo r lnlclo do AlgorlLmo r llm do AlgorlLmo 111 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r lmprlmlr Lodos os mulLlplos de 3 e 3 naLurals no lnLervalo 1 n r AlgorlLmo r lnlclo do AlgorlLmo r llm do AlgorlLmo 112 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r roblema r Lscreva um lao que lmprlma os 10 prlmelros numeros da sequncla de llbonaccl 0 1 1 2 3 3 8 13 r AlgorlLmo r lnlclo do AlgorlLmo r llm do AlgorlLmo 113 Ldeyson Andrade Comes wwwedeysoncombrlluxograma r AlgorlLmo r lnlclo do AlgorlLmo r laa 2 0 r laa 1 1 r lmprlma 2 1 r laa 8 vezes r Seq 2 + 1 r lmprlma Seq r 2 1 r 1 Seq r llm do AlgorlLmo 114 Ldeyson Andrade Comes wwwedeysoncombrr 0 1 1 2 3 3 8 13 r | | r 2 1 r Seq 2 + 1 r 0 1 1 2 3 3 8 13 r | | r 2 1 r Seq 2 + 1 113 Ldeyson Andrade Comes wwwedeysoncombrr 0 1 1 2 3 3 8 13 r | | r 2 1 r Seq 2 + 1 r 0 1 1 2 3 3 8 13 r | | r 2 1 r Seq 2 + 1 116 Ldeyson Andrade Comes wwwedeysoncombrAlgorlLmos e rogramao Ldeyson Andrade Comes wwwedeysoncombr 117AlgorlLmos e rogramao r LxlsLem vrlas fases dlsLlnLas na elaborao de programas r Anllse do problema r Lspeclflcao do problema anllse de requlslLos r C CuL? r Concepo da Soluo r Modelo ConcelLual r Modelo ArqulLeLural r CCMC? r lmplemenLao r 1raduo do modelo arqulLeLural em algorlLmo r 1raduo do AlgorlLmo em llnguagem de programao r 1esLes 118 Ldeyson Andrade Comes wwwedeysoncombrascal Ldeyson Andrade Comes wwwedeysoncombr 119ascal r A llnguagem ascal fol desenvolvlda no lnlclo da decada de 1970 por nlcklausWlrLh na unlversldade 1ecnlca de Zurlque Sula r C prlmelro compllador para a llnguagem fol dlsponlblllzado em 1970 r Cb[eLlvo r Ser uma llnguagem de programao de alLo nlvel volLada ao enslno da programao esLruLurada r Seu nome devese a uma homenagem a 8lalse ascal fllsofo e maLemLlco francs que vlveu enLre 1623 e 1662 120 Ldeyson Andrade Comes wwwedeysoncombrLsLruLura de um rograma ascal r 1odo programa em ascal e dlvldldo em Lrs reas dlsLlnLas cabealho rea de declaraes e corpo 121 Ldeyson Andrade Comes wwwedeysoncombr cabealho rea de declaraes corpoCabealho r C cabealho e uma rea uLlllzada para que se possa ldenLlflcar um programa aLraves de um nome r lnsLruo program r Cbservaes r no pode exlsLlr nenhuma varlvel no programa que Lenha o mesmo nome dado a ele r C uso de serve para deflnlr comenLrlos no cdlgo 122 Ldeyson Andrade Comes wwwedeysoncombr SlnLaxe program nomeuorograma 1 program adlclonanumeros 2 rograma que l 2 numeros e lmprlme sua somarea de ueclaraes r rea de ueclaraes r uLlllzada para crlar ldenLlflcadores que no se[am predeflnldos r 1odo ob[eLo num programa ascal como varlvels e consLanLes preclsam ser ldenLlflcadas por um nome unlco que no exlsLa alnda nele r ascal [ predeflne nomes como lnLeger real boolean eLc r A rea de declaraes pode ser subdlvldlda em seLe subreas r uses label consL Lype var procedure e funcLlon 123 Ldeyson Andrade Comes wwwedeysoncombruLlllzao de unlLs r As unlLs so con[unLos de roLlnas que [ esLo pronLas para serem usadas pelo programador r or exemplo se qulsermos llmpar a Lela ou ler o Leclado [ exlsLem funes pronLas para lsso nas unlLs So elas r C81 possul a malor parLe das roLlnas e varlvels de gerao de som conLrole de vldeo e Leclado r uCS possul as roLlnas que envolvem a uLlllzao do slsLema operaclonal r C8AP possul roLlnas desLlnadas a manlpulaes grflcas r CvL8LA? posslblllLa gerenclar as aLlvldades de um programa economlzando memrla r 8ln1L8 permlLe declarar um arqulvo Llpo LexLo com o nome LS1 e assocllo lmpressora r S?S1LM possul a malor parLe das roLlnas padro da llnguagem ascal e e usada de forma auLomLlca 124 Ldeyson Andrade Comes wwwedeysoncombruLlllzao de unlLs r ara se fazer uso de unlLs e necessrlo o uso da lnsLruo uses anLes da declarao da lnsLruo var 123 Ldeyson Andrade Comes wwwedeysoncombr SlnLaxe uses nomeuaunldade 1program adlclonanumeros 2 rograma que l 2 numeros e lmprlme sua soma 3 4 usa a blblloLeca C81 onde esL a funo 8eadkey 3 uses crLueclarao de varlvels r ara a declarao de varlvels num programa usase a lnsLruo var r Cada varlvel Lem um nome unlco no programa (ldenLlflcador) e um Llpo r Cbservaes r Aps o nome de cada varlvel deve ser uLlllzado o slmbolo dolsponLos ( ) seguldo pelo Llpo de dado que a varlvel lr receber seguldo de ponLoevlrgula r Caso as varlvels se[am de mesmo Llpo esLas podero ser relaclonadas separadas por vlrgula or exemplo var a b c lnLeger lsso deflne as varlvels a b e c como sendo do Llpo lnLeger (lnLelra) 126 Ldeyson Andrade Comes wwwedeysoncombr SlnLaxe var nomeuavarlvel Llpo de dado nomeueCuLravarlvel Llpo de dadoueclarao de varlvels 127 Ldeyson Andrade Comes wwwedeysoncombr 1 program adlclonanumeros 2 rograma que l 2 numeros e lmprlme sua soma 4 usa a blblloLeca C81 onde esL a funo 8eadkey 3 uses crL 7 ueclara a b e soma como varlvels lnLelras 8 var 9 a b lnLeger 10 soma lnLegerCorpo do rograma r um programa em ascal esL escrlLo numa rea denomlnada corpo do programa que Lem lnlclo com a lnsLruo begln e e flnallzada pela lnsLruo end segulda do slmbolo ponLo ( ) r C uso desLas lnsLrues caracLerlza o que e chamado de bloco de comandos como lndlcado abalxo 128 Ldeyson Andrade Comes wwwedeysoncombr SlnLaxe begln lnsLrues do programa endCorpo do rograma r MosLrar programa adlclonanumeros no ascal r ApresenLar uevascal r Compllar e execuLar programa 129 Ldeyson Andrade Comes wwwedeysoncombradlclonanumeros r AlgorlLmo usado em Llnguagem naLural r lnlclo do AlgorlLmo r SollclLar ao usurlo para lnserlr o valor de a r Ler um valor para a varlvel a r SollclLar ao usurlo para lnserlr o valor de b r Ler um valor para a varlvel b r LfeLuar a soma das varlvels a e b colocando o resulLado na varlvel soma r ApresenLar o valor da varlvel soma aps a operao de soma dos dols valores fornecldos r Aguardar aLe que algo se[a presslonado r llm do AlgorlLmo 130 Ldeyson Andrade Comes wwwedeysoncombrLxerclclo r lnlclo do AlgorlLmo Medla3n r SollclLar ao usurlo para dlglLar o valor da varlvel a r Ler um valor para a varlvel a r SollclLar ao usurlo para dlglLar o valor da varlvel b r Ler um valor para a varlvel b r SollclLar ao usurlo para dlglLar o valor da varlvel c r Ler um valor para a varlvel c r Calcular a medla como a soma de a b e c dlvldlda por 3 r lmprlmlr os Lrs valores lldos e a medla r 1ermlnar o AlgorlLmo Medla3n 131 Ldeyson Andrade Comes wwwedeysoncombrvarlvels e ConsLanLes r Lm ascal varlvels consLanLes Llpos deflnldos pelo usurlo procedlmenLos e funes preclsam de um nome que fornea uma ldenLlflcao unlca e lsso e felLo aLraves de ldenLlflcadores r nomes em ascal devem segulr as segulnLes regras de consLruo r lnlclar sempre por uma leLra (a z A Z) ou um underllne (_) r C resLanLe do ldenLlflcador deve conLer apenas leLras underllnes ou dlglLos (09) no pode conLer ouLros caracLeres e r ode Ler qualquer Lamanho desde que os prlmelros 63 caracLeres se[am slgnlflcaLlvos 132 Ldeyson Andrade Comes wwwedeysoncombrvarlvels e ConsLanLes r no exlsLe dlsLlno enLre leLras malusculas e mlnusculas no nome de um ldenLlflcador r or exemplo os nomes ALPA alpha e Alpha so equlvalenLes para o ascal r Cbservaes r CamelCase e a denomlnao em lngls para a prLlca de escrever palavras composLas ou frases onde cada palavra e lnlclada com Malusculas e unldas sem espaos r L um padro largamenLe uLlllzado em dlversas llnguagens de programao como !ava 8uby e yLhon r Lxemplos nomeuoCllenLe 1lpoueea Medlaonderada Medlaue3numeros 133 Ldeyson Andrade Comes wwwedeysoncombralavras 8eservadas r ascal reconhece cerLo grupo de palavras como sendo reservadas r Llas Lm slgnlflcado especlal e no podem ser usadas como ldenLlflcadores em um programa r So elas r absoluLe and array asm begln case consL consLrucLor desLrucLor dlv do downLo else end flle for funcLlon goLo lf lmplemenLaLlon ln lnherlLed lnllne lnLerface label mod nll noL ob[ecL of on operaLor or packed procedure program record relnLroduce repeaL self seL shl shr sLrlng Lhen Lo Lype unlL unLll uses var whlle wlLh xor 134 Ldeyson Andrade Comes wwwedeysoncombrComenLrlos r ComenLrlos so LexLos escrlLos denLro do cdlgofonLe para expllcar ou descrever alguns aspecLos relaLlvos ao mesmo r A slnLaxe requerlda aos comenLrlos permlLe o uso de chaves como em comenLrlo ou de parnLesls e asLerlscos como em (* comenLrlo *) 133 Ldeyson Andrade Comes wwwedeysoncombrvarlvels r uma varlvel e uma reglo da memrla ldenLlflcada aLraves de um nome cu[o valor pode mudar duranLe a execuo do programa r Como ascal e uma llnguagem forLemenLe Llpada cada varlvel preclsa obrlgaLorlamenLe de um Llpo de dados predeLermlnado r SlnLaxe var varlvel Llpo de dado varlvel1 varlvel2 Llpo de dado2 136 Ldeyson Andrade Comes wwwedeysoncombrvarlvels r nesLa especlflcao de slnLaxe varlvel Lem seu Llpo deflnldo por Llpo de dado r noLe que varlvel1 e varlvel2 so deflnldas [unLas separadas por vlrgulas e aLrlbulndose um unlco Llpo de dados r lsso pode ser felLo para qualquer numero de varlvels que comparLllhem um mesmo Llpo de dados 137 Ldeyson Andrade Comes wwwedeysoncombrConsLanLes r uma consLanLe e uma reglo roLulada da memrla aLraves de um nome cu[o valor no pode mudar duranLe a execuo do programa r um exemplo de consLanLe e o l na maLemLlca r SlnLaxe consL nomeuaConsLanLe expresso 138 Ldeyson Andrade Comes wwwedeysoncombr1lpos de uados r um Llpo de dado especlflca as caracLerlsLlcas ou se[a quals os posslvels valores e operaes que um dado possul r or exemplo um valor lnLelro pode ser somado a ouLro subLraldo mulLlpllcado eLc r varlvels como apresenLado em sua slnLaxe requerem um Llpo de dado em sua deflnlo r A llnguagem ascal fornece ao programador um con[unLo de Llpos de dados predeflnldos e que sero descrlLos a segulr 139 Ldeyson Andrade Comes wwwedeysoncombr1lpos de uados lnLelros r lnLelros so valores numerlcos poslLlvos ou negaLlvos exclulndose qualquer numero fraclonrlo Lm ascal esLe Llpo de dado pode ser referenclado por um dos segulnLes ldenLlflcadores r 8yLe ShorLlnL SmalllnL Word lnLeger Cardlnal LonglnL Longword lnL64 e CWord 140 Ldeyson Andrade Comes wwwedeysoncombr 1lpo valores 1amanho em 8yLes 8yLe 0233 1 ShorLlnL 128 127 1 SmalllnL 32768 32767 2 Word 0 63333 2 lnLeger SmalllnL ou LonglnL 2 ou 4 Cardlnal Longword 4 LonglnL 2147483648 2147483647 4 Longword 0 4294967293 4 lnL64 9223372036834773808 9223372036834773807 8 CWord 0 1844674473709331613 8uuvldas Ldeyson Andrade Comes wwwedeysoncombr 141