Você está na página 1de 93

ALGORITMOS EM PROGRAMAO ESTRUTURADA

PEDRO KANTEK com adaptao Patricia Rcker de Bassi

2000

NDICE
ALGORITMOS EM PROGRAMAO ESTRUTURADA................................................................................................1 2000.............................................................................................................................................................................................1 NDICE......................................................................................................................................................................................2 ....................................................................................................................................................................................................3 INTRODUO.........................................................................................................................................................................4 ALGORITMOS.........................................................................................................................................................................5 LGICA.....................................................................................................................................................................................6 PROGRAMAO ESTRUTURADA.....................................................................................................................................6 SEQU N!"A S"#P$ES "%&T'EN&E$SE DO&('"$E))))))))))))))))))))))))))))))))))))))))))))))))))))))))* PORQUE O PORTUGOL ?.....................................................................................................................................................8 OUTRAS FERRAMENTAS DE REPRESENTAO DE ALGORITMOS..........................................................................8 O PORTUGOL .......................................................................................................................................................................11 "DENT"%"!ADOR))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))++ $ETRA & 2, $ETRAS DO A$%ABETO #A"-S!U$AS)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))++ D./"TOS & 0 A 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))++ 1AR"21E"S ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+2 TIPOS DE VARIVEIS.....................................................................................................................................................12 ATR"BU"34O )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+5 A +))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+5 OPERADORES ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+6 OPERADORES S4O S.#BO$OS UT"$"7ADOS E# E8PRESS9ES QUE !ONT # 1AR"21E"S: !ONSTANTES E %UN39ES) DE A!ORDO !O# OS T"POS DE DADOS DAS 1AR"21E"S E O RESU$TADO DA OPERA34O: OS OPERADORES D"1"DE#&SE E# TR S T"POS;)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+6 AR"T#<T"!OS )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+6 RE$A!"ONA"S )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+6 $=/"!OS ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+> E........................................................................................................................................................................................15 NO...................................................................................................................................................................................15 D"1 E #OD )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))+> PRIORIDADES .............................................................................................................................................................15 QUA$"DADES DE U# BO# A$/OR"T#O))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2+ B$O!OS)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))22 SEQU N!"A S"#P$ES)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))22 !O#ANDOS DE ENTRADA E SA.DA)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))25 %$U8O/RA#A)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2> PORTU/O$))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2> A$TERNAT"1A S"#P$ES)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2* A$TERNAT"1A !O#POSTA))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))2? AN"N'A#ENTO ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))20 NEGAO DOS OPERADORES ...................................................................................................................................30 #U$T"P$A ES!O$'A)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))52 !O#ANDOS DE REPET"34O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))6+ ENQUANTO.....................................................................................................................................................................41 REPITA.............................................................................................................................................................................43 UMA COMPARAO ENTRE OS COMANDOS ENQUANTO E REPITA....................................................................44 PARA.................................................................................................................................................................................49 NO OS TIPOS DE DADOS .................................................................................................................................................58 1ETORES ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))>? C !"#$% &' V'(% ') ..........................................................................................................................................................59 2

!$ASS"%"!A34O DE 1ETORES)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),5 M*TODO +OL,A............................................................................................................................................................-3 M*TODO SELEO SIMPLES.......................................................................................................................................-4 M*TODO DE INSERO................................................................................................................................................-5 PESQU"SA E# 1ETORES)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),, QUANDO SE TRABA$'A !O# 1ETORES: ESTES PODER4O /ERAR /RANDES TABE$AS: ONDE %"!AR"A D"%.!"$ A $O!A$"7A34O DE U# DETER#"NADO E$E#ENTO DE %OR#A R2P"DA: #ES#O QUE O 1ETOR ESTE@A !$ASS"%"!ADO ) PARA SO$U!"ONAR ESTE T"PO DE PROB$E#A PODE&SE %A7ER USO DE PESQU"SAS E# #ATR"7ES ATRA1<S DE PRO/RA#AS ESPE!.%"!OS) SER4O APRESENTADOS DO"S #<TODOS PARA E%ETUAR PESQU"SA E# 1ETORES; #<TODO SEQU N!"A$ E #<TODO B"N2R"O ) ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),, M*TODO DE PESQUISA SEQU.NCIAL.......................................................................................................................-S'/01(!2"3 ')(' /4(%&% 2%1)!)(' '/ '5'(6" " 76)2" &" !15% /"#$% &')'8"&" " 9" (! &% 9 !/'! % ':'/'1(% )';6'12!":/'1(' "(4 % <:(!/%. L%2":!="1&% " !15% /"#$% 1% 2"/!1>%? " /')/" 4 "9 ')'1("&". E)(' /4(%&% &' 9');6!)" 4 :'1(%? 9% 4/ '5!2!'1(' 1%) 2")%) '/ ;6' 6/ @'(% '12%1( "A)' 2%/ )'6) ':'/'1(%) &')% &'1"&%)..............-M*TODO DE PESQUISA +INRIA................................................................................................................................-5!/)'B.............................................................................................................................................................................-C #ATR"7)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),? ACESSO AOS DADOS......................................................................................................................................................C2 MODULARI!AO.............................................................................................................................................................."5 B$O!O)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*, PRO!ED"#ENTO))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*? %UN34O))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*0 RECURSI IDADE.................................................................................................................................................................82 ARQUI OS.............................................................................................................................................................................85 MANIPULAO....................................................................................................................................................................86 CONCEPO DE ARQUI OS............................................................................................................................................86 COMANDOS DE MANIPULAO DE ARQUI OS........................................................................................................88 E8ER!.!"OS D"1ERSOS)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))02

INTRODUO
A arte e ciABcia de proCramar compDtadores E aFCo GasciBaBte) Uma das meFHores deGiBiIes desta atiJidade pode ser coBsiderada & KproCramar E emprestar Dm poDco de Bossa iBteFiCABcia ao compDtadorL) QDaBdo o mesmo traMaFHa: E como se a iBteFiCABcia emprestada do proCramador estiJesse traMaFHaBdo) A tecBoFoCia de GaMricao de compDtadores tem eJoFDNdo de maBeira mDito rOpida Bos PFtimos tempos) A proCramao de compDtadores Bem taBto: emMora tamMEm teBHa tido aFCDBs proCressos importaBtes) EQistem raRIes para esta diGereBa) A coBstrDo de HardSare TeUDipameBtoV E eBCeBHaria) TDdo pode ser matematicameBte proJado: prodDRido em sErie: reWeitado por amostraCem: e: a partir de Dm oriCiBaF: sDa cXpia pode ser JeBdida aos miFHIes) !om o soGtSare E UDase tDdo ao coBtrOrio) < mais arte do UDe eBCeBHaria: atE HoWe Bo se pode comproJar matematicameBte a correo de cXdiCo: cada Becessidade demaBda a coBstrDo de modeFos especNGicos: UDe sX se apFicam BaUDeFe momeBto TBo espao e Bo tempoV) Para BXs: seres HDmaBos: E Dma JaBtaCem) Pois: eBUDaBto a prodDo de HardSare E ToD pode serV em CraBde parte roMotiRada: a prodDo de soGtSare aiBda eQiCe Dm Mom cEreMro por trOs) As restriIes UDe aiBda eQistem soMre o HardSare impedem a proCramao dos compDtadores em FiBCDaCem BatDraF: emMora eQistam estDdos Besta Orea) 'oWe aiBda Bo E possNJeF diaFoCar com Dm compDtador como se GaFa com Dma pessoa mediaBameBte iBteFiCeBte) Os compDtadores aiBda Bo coBseCDem taF proeRa) Para proCramar compDtadores: portaBto: precisamos apreBder Dma FiBCDaCem de proCramao) Estas FiBCDaCeBs so cHamadas artiGiciais WDstameBte por terem sido iBJeBtadas para esta GiBaFidade: ao coBtrOrio das BatDrais UDe sDrCiram para comDBicao de seres HDmaBos) !omo se destiBam a serem eBteBdidas por mOUDiBas: tais FiBCDaCeBs so MastaBte poMres em termos de eQpressIes: UDaBtidade de termos e GaciFidades de coBstrDo de Grases) EBtretaBto: UDaBdo os primeiros compDtadores Goram coBstrDNdos a PBica FiBCDaCem eBteBdida por eFes era a MiBOria) SeUDABcias iBtermiBOJeis de DBs e Reros: aFCo assim como 0000000000+0+0+0++++++00+++++000+0+0+0+0000++++0+0+000++) !HamoD&se a isto: mais tarde: FiBCDaCem de primeira Cerao) A seCDir: o primeiro meFHorameBto; o assemMFer oD moBtador: UDe era Dm proCrama capaR de eBteBder iBstrDIes escritas em Dma FiBCDaCem Dm poDco mais HDmaBa: e tradDRir cada Dma destas iBstrDIes em sDa eQpresso MiBOria correspoBdeBte) @DBto com este proCrama crioD&se a primeira FiBCDaCem; o assemMFer: atE HoWe DtiFiRado: aiBda UDe mDito rarameBte e UDe simMoFiRa a seCDBda Cerao de FiBCDaCeBs) ProCramar em assemMFer eQiCe mDito coBHecimeBto e paciABcia: a mOUDiBa precisa ser coBHecida em iBPmeros detaFHes de coBstrDo: os proCramas so FoBCos e diGNceis: priBcipaFmeBte sDa maBDteBo) #as esta E a FiBCDaCem mais eGicieBte do poBto de Jista dos coBsDmos dos recDrsos de mOUDiBa: isto E: eFa Cera proCramas JeFoRes e peUDeBos) Depois: Jieram as FiBCDaCeBs de terceira Cerao; a primeira Goi o %ORTRAN: depois !OBO$: P$Y": A$/O$: PAS!A$: ! e oDtras meBos Jotadas; BAS"!: ADA: AP$) 'O Dm distaBciameBto do proCramador em reFao Z mOUDiBa: e Dma aproQimao do mesmo em reFao ao proMFema a resoFJer)

e xe . i

Estas FiBCDaCeBs so mais GOceis de apreBder e emMora Cerem proCramas maiores e mais FeBtos: aDmeBtam em mDito a prodDtiJidade HDmaBa de escreJer cXdiCo de proCramao) As FiBCDaCeBs de UDarta Cerao tem as seCDiBtes caracterNsticas; GaciFidade para criar e Cerir MaBco de dados[ so impFemeBtadas de Gorma iBterpretada: so coBsideradas amiCOJeis TDser GrieBdF\V: Ceram reFatXrios e eBtrada de dados de Gorma aDtomOtica e tem GaciFidade de pesUDisas) Um eQempFo E a GerrameBta A!!ESS) EQistem: tamMEm: as FiBCDaCeBs JoFtadas para oMWetos como 1"SUA$ BAS"!: 1"SUA$ ! eBtre oDtras) E a eJoFDo coBtiBDa))) ABtes de iBiciar o estDdo de proCramao: E BecessOrio coBsiderar UDe Dm compDtador Bada mais E do UDe Dma GerrameBta DtiFiRada para soFDcioBar proMFemas UDe eBJoFJam a maBipDFao de iBGormaIes: seBdo UDe estas iBGormaIes cFassiGicam&se a Crosso modo em dois tipos MOsicos; dados e iBstrDIes ToD comaBdosV) Os dados so represeBtados peFas iBGormaIes a serem tratadas oD processadas por Dm compDtador As iBstrDIes oD comaBdos so represeBtadas peFo coBWDBto de paFaJras&cHaJe ToD JocaMDFOrioV de Dma determiBada FiBCDaCem de proCramao: UDe tem por GiBaFidade comaBdar em Dm compDtador o seD GDBcioBameBto e a Gorma como os dados armaReBados deJero ser tratados) Para se criar Dm proCrama UDe seWa eQecDtOJeF deBtro de Dm compDtador: deJe&se ter em meBte trAs poBtos de traMaFHo; a eBtrada de dados: o seD processameBto e a saNda dos mesmos) SeBdo assim: todo proCrama estarO traMaFHaBdo com estes trAs coBceitos) Se os dados Gorem eBtrados de Gorma errada: sero processados de Gorma errada e coBseUDeBtemeBte: resDFtaro em respostas erradas) Desta Gorma: diRer a aFCDEm UDe Goi erro do compDtador E ser Dm taBto KmedNocreL: se HoDJe aFCDm erro: E porUDe Goi caDsado por GaFHa HDmaBa) ReaFmeBte E impossNJeF Dm compDtador errar por JoBtade prXpria: pois JoBtade E Dma coisa UDe os compDtadores Bo tem)

ALGORITMOS
SeCDBdo mestre ADrEFio: aFCoritmo E Kprocesso de cOFcDFo: oD de resoFDo de Dm CrDpo de proMFemas semeFHaBtes: em UDe se estipDFa: com CeBeraFidade e sem restriIes: reCras Gormais para a oMteBo do resDFtado oD da soFDo do proMFemaL) Do poBto de Jista da iBGormOtica: aFCoritmos E a reCra de soFDo de Dm proMFema: isto E: sDrCida Dma Becessidade MDscar&se&O Dma soFDo: oD coBstrDir&se&O Dm aFCoritmo capaR de soFDcioBar o proMFema) @O Dm proCrama de compDtador: seCDBdo (irtH: KE Dm GormDFao coBcreta de aFCoritmos aMstratos: Maseados em represeBtaIes e estrDtDras especNGicas de dadosL) "sto E; PRO/RA#A ] A$/OR"T#OS ^ ESTRUTURAS DE DADOS ODtra deGiBio de aFCoritmos: esta dos aDtores ABCeFo /Dimares e NeStoB $aCes; KaFCoritmo E a descrio de Dm padro de comportameBto: eQpressado em termos de Dm repertXrio Mem deGiBido e GiBito de aIes primitiJas: das UDais damos por certo UDe eFas podem ser eQecDtadas)L O coBceito de aFCoritmo deJe ser eBteBdido: para sDa correta compreeBso: em seDs dois aspectos: a UDem cHamaremos estOtico e temporaF) Na Jiso estOtica: Dm aFCoritmo E Dm coBWDBto de ordeBs: coBdiIes: testes e JeriGicaIes) No seD aspecto temporaF: o aFCoritmo passa a ser JiJo: pois atDaF soMre Dm coBWDBto de dados de eBtrada: para Cerar os correspoBdeBtes dados de saNda)

>

Tais caracterNsticas Bo podem ser separadas: eFas esto iBtriBsecameBte FiCadas) A diGicDFdade em GaRer MoBs aFCoritmos E ter em meBte: eBUDaBto se escreJe o aFCoritmo Taspecto estOticoV o UDe eFe Jai GaRer com seDs dados Taspecto temporaFV)

LGICA
$XCica E deGiBida MasicameBte como seBdo o estDdo das Feis do raciocNBio e do modo de apFicO&Fas corretameBte Ba demoBstrao da Jerdade) !Hamamos de aFCoritmo FXCico aUDeFe aFCoritmo cDWas iBstrDIes esto dispostas ordeBadameBte e de maBeira compreeBsNJeF por UDaFUDer pessoa UDe possDa coBHecimeBto MOsico soMre o assDBto) "sto E: Dm aFCoritmo deJe ser GaciFmeBte eBteBdido: sem UDe seWa BecessOria Dma CraBde perda de tempo para a tradDo da idEia coBtida Bo mesmo) Um aFCoritmo FXCico deJe ser: tamMEm: Gormado apeBas peFo BPmero mNBimo de iBstrDIes BecessOrias para a resoFDo do proMFema reGerido) !ada pessoa aBaFisa Dm proMFema de Dma Gorma diGereBte: HO Dma certa teBdABcia em compFicar a sDa soFDo) SeBdo assim: deJe&se peBsar mDito Ba soFDo deseWada: aBaFisaBdo todas as possiMiFidades: ao iBJEs de DtiFiRar a primeira soFDo UDe Jier Z caMea: soM peBa de compFicar o aFCoritmo de taF modo: UDe UDaBdo Gor BecessOria Dma modiGicao: Castar&se&O mais tempo teBtaBdo eBteBdA&Fo do UDe criaBdo&o BoJameBte com as aFteraIes deseWadas) PorEm: o proMFema da compFeQidade Bo estO preseBte apeBas Ba eFaMorao do aFCoritmo: mas tamMEm Ba sDa codiGicao em Dma determiBada FiBCDaCem de proCramao)

PROGRAMAO ESTRUTURADA
O termo proCramao estrDtDrada BasceD Bos GiBs da dEcada de ,0: UDaBdo EdsCer DiWkstra escreJeD Dm artiCo pDMFicado peFa C%//61!2"(!%1) %5 (>' ACM: cDWo tNtDFo E KO comaBdo /OTO E preWDdiciaFL) DiWkstra oMserJoD UDe a UDaFidade dos proCramadores decai em GDBo do BPmero de /OTO_s Dsados em seDs proCramas) SeCDBdo eFe: KcomaBdos /OTO_s teBdem a criar camiBHos de FXCica coBGDsos e proCramas poDco cFarosL) A sDa recomeBdao Goi de UDe o comaBdo em UDesto Gosse eQcFDNdo das FiBCDaCeBs de proCramao de aFto BNJeF) Nessa Epoca tamMEm: T+0,,V dois proGessores itaFiaBos /) @acopiBi e !) BoHm: proJaram matematicameBte UDe UDaFUDer FXCica de proCramao poderia ser deriJada de trAs tipos MOsicos de procedimeBtos: como se JA Ba GiCDra a seCDir)

AS 5 %ERRA#ENTAS DA PRO/RA#A34O ESTRUTURADA

SEQU N!"A S"#P$ES

"%&T'EN&E$SE

DO&('"$E

A import`Bcia desta descoMerta para o soGtSare teJe taBto impacto UDaBto a de UDe UDaFUDer Gorma FXCica de HardSare pode ser coBstrDNda peFas comMiBaIes das portas AND: OR e NOT) A proCramao estrDtDrada pode ser deGiBida MasicameBte como seBdo Dma tEcBica de proCramao: Ba UDaF a coBstrDo de Dm proCrama E Geita com Mase Bas estrDtDras simpFes de coBtroFe deGiBidas acima) A riCideR imposta por estas estrDtDras E Dm Gator importaBte para a compreeBso do proCrama: pois Dma JeR UDe Bo eQistem comaBdos de desJios T/OTOV: o proCramador E oMriCado a DtiFiRar Dma FXCica coereBte UDe se adapte Zs estrDtDras) Desse modo o proCrama torBa&se iBteFiCeBte: WO UDe Bo E possNJeF criar cXdiCos UDe aMram marCem para Dma GaFta de ordeBao Ba FXCica: cXdiCos aMsDrdos: proCramas poFDNdos e de diGNciF compreeBso) !om a DtiFiRao da proCramao estrDtDrada Dm proCrama tem: oMriCatoriameBte: iBNcio: meio e Gim: pois Bo eQistem desJios: as estrDtDras deJem ser dispostas BDma ordem taF UDe: cHeCaBdo ao GiBaF do cXdiCo: Dm processameBto compFeto teBHa sido eQecDtado) !omo se Gosse Dma caiQa preta: com someBte Dma eBtrada e Dma saNda)

PORQUE O PORTUGOL ?
PortDCoF E Dma tEcBica BarratiJa deBomiBada pseDdo&cXdiCo: tamMEm coBHecida como portDCDAs estrDtDrado) Esta tEcBica de aFCoritmiRao E Maseada em Dma PD$ a P %D "/ D')!D1 L"1D6"D' T$iBCDaCem de ProWeto de ProCramaoV) A Gorma oriCiBaF de escrita E coBHecida como iBCFAs estrDtDrado: mDito parecida com a Botao da FiBCDaCem PascaF) A PD$ E Dsada como reGerABcia CeBErica para Dma FiBCDaCem de proWeto de proCramao: teBdo como GiBaFidade mostrar Dma Botao para eFaMoraIes de aFCoritmos: os UDais sero DtiFiRados Ba deGiBio: criao e deseBJoFJimeBto de Dma FiBCDaCem compDtacioBaF TPascaF: !: DeFpHi: 1isDaF&OMWects: !FipperV e sDa docDmeBtao) A diGereBa eBtre Dma FiBCDaCem de proCramao de aFto BNJeF DtiFiRada em compDtao e Dma PD$: E UDe esta Bo pode ser compiFada em Dm compDtador) EQistem iBPmeras JersIes de PortDCoF: cada proGessor tem a sDa: assim como cada empresa pode deGiBir Dm pseDdo&cXdiCo) < importaBte saFieBtar UDe a siBtaQe e a sem`Btica da coBstrDo de PortDCoF so arMitrados por aFCDEm: seCDBdo seDs critErios: mas U#A 1E7 ESTABE$E!"DO U# PADR4O: E$E PRE!"SA SER RE$"/"OSA#ENTE SE/U"DO) Esta restrio tem dDas JerteBtes; & HO UDe HaJer Dm mNBimo de coBcord`Bcia para UDe oDtras pessoas possam Fer e eBteBder o UDe escreJermos) & Dma das priBcipais caracterNsticas de Dm Mom proCramador E a discipFiBa iBteFectDaF) O portDCDAs: como UDaFUDer oDtra FiBCDaCem BatDraF: tem iBPmeras desJaBtaCeBs) No E eBteBdido peFa mOUDiBa: sDa tradDo E MastaBte compFeQa: E amMNCDo podeBdo Cerar iBterpretaIes errbBeas: e E mDito eQteBso) $oCo: Bo E Dm FiBCDaWar adeUDado para eQpressarmos aFCoritmos) DeJemos FemMrar sempre UDe a marCem de iBterpretao do compDtador E sempre 7ERO) @O Dm FiBCDaCem de proCramao: mesmo UDe de aFto BNJeF: como o PascaF oD o !: eQiCem Dm coBHecimeBto da mOUDiBa UDe aiBda Bo temos) TamMEm E importaBte saFieBtar UDe ideaFmeBte GaFaBdo: Bo E Dma Moa poFNtica eBGreBtar dois proMFemas iBterFiCados ao mesmo tempo) "sto E: Bo coBJEm mistDrar diGicDFdades FXCicas com diGicDFdades da FiBCDaCem de proCramao) @O diRia DiWkstra KTdeJemosV recoBHecer UDe temos Dma caMea peUDeBa: e UDe E meFHor tratar de coBJiJer com eFa e respeitar sDas FimitaIesL e UDe Ka reCra ODrea da proCramao estrDtDrada E D"1"D"R PARA RE"NAR)L Nossos proCramas em PortDCoF Jo deiQar de Fado iBPmeras tareGas UDe so impresciBdNJeis para o proCrama rodar em Dm compDtador: tais como; iBstrDIes de amMieBtao Ba compiFao de proCramas: descriIes de operaIes de eBtradaYsaNda compFeQas: poDca oD BeBHDma preparao de coBtadores e cHaJes: etc) Para taBto: eQiste Dma discipFiBa aBeQa a esta: oBde Jai se apreBder a FiBCDaCem de proCramao) Neste momeBto: eBto: a preocDpao passa a ser a mOUDiBa e Bo mais a FXCica do aFCoritmo UDe WO deJe estar coBsoFidado) OUTRAS #ERRAMENTAS DE REPRESENTAO DE ALGORITMOS AFEm do PortDCoF eQistem oDtras Gormas de represeBtar aFCoritmos: podeBdo&se citar dDas oDtras FiBCDaCeBs; GFDQoCramas e diaCramas de !HapiB)

Os GFDQoCramas tem import`Bcia HistXrica em processameBto de dados: pois Goi a primeira represeBtao de proCramas) EFa Goi deseBJoFJida peFos proGissioBais de aBOFise de sistemas e por aFCDBs proGissioBais de OrCaBiRao: Sistemas e #Etodos) Tem como GiBaFidade descreJer GFDQos: maBDaF oD mec`Bico: especiGicaBdo os sDportes Dsados para os dados e as iBGormaIes) Usa sNmMoFos coBJeBcioBais: permitiBdo poDcas JariaIes) Esta GerrameBta perdeD sDa coBdio de PBica GerrameBta em Dso: eBtre oDtras raRIes: peFas seCDiBtes; & permite a coBstrDo de aFCoritmos Bo estrDtDrados: FoCo Bo serJem para o coBteQto da proCramao estrDtDrada[ & eQiCem capricHo: demaBdaBdo mDito traMaFHo para serem Geitos e maBtidos[ & como sX se escreJe deBtro dos UDadriBHos: E BecessOrio mDito papeF para deGiBir Dm aFCoritmo compFeto: aFEm de diGicDFtar o maBDseio[ & mesmo com o adJeBto de proCramas para traMaFHar GFDQoCrama: como %FoScHart: ADtoGFoS e oDtros: eFes Bo so mDito prOticos para este traMaFHo) ODtra possiMiFidade de represeBtao E atraJEs dos diaCramas de !HapiB oD estrDctoCramas UDe Goram deseBJoFJidos por Nassi e ScHBeidermaB e ampFiado por Ned !HapiB: os UDais resoFJeram sDMstitDir o GFDQoCrama tradicioBaF por Dm diaCrama de UDadros UDe permite apreseBtar Dma Jiso HierOrUDica e estrDtDrada da FXCica do proCrama) A CraBde JaBtaCem de Dsar este tipo de diaCrama E a represeBtao das estrDtDras UDe tem Dm poBto de eBtrada e Dm poBto de saNda e portaBto: so compostos peFas estrDtDras MOsicas de coBtroFe da proCramao estrDtDrada) EBUDaBto E diGNciF mostrar o emMDtimeBto e a recDrsiJidade com o GFDQoCrama tradicioBaF: torBa&se mais simpFes mostrO&Fos com o diaCrama de !HapiB: Mem como: codiGicO&Fos em UDaFUDer FiBCDaCem de proCramao estrDtDrada) PorEm: aFCDBs aDtores coBsideram esta GerrameBta Dm pseDdo&cXdiCo como o PortDCoF: apeBas escrito de maBeira diGereBte: assim: Bo serO tratada esta represeBtao aUDi) Para represeBtar as estrDtDras de comaBdo de Gorma compFeta: eFas sero apreseBtadas Bo Gormato PortDCoF e %FDQoCrama)

EQempFo; DeGiBir Dm aFCoritmo UDe Feia dois JaFores A e B e imprimia o prodDto eBtre eFes se A Gor par e imprima o somatXrio deFes se A Gor impar) %$U8O/RA#A
iBicio

D"A/RA#A DE !'AP"N

PORTU/O$ iBicio A:B:! ; iBteiro[ Feia TAV[ Feia TBV[ se A mod 2 ] 0 eBto ! A c B[ seBo ! A ^ B[ Gimse[ imprima T ! V[ Gim)

Feia A Feia B
Feia A

A E par d
1 %

Feia B

!]AcB imprima !

!]A^B

1 A E par

! ] Ac B

!] A ^ B

imprima !

Gim

+0

O PORTUGOL
A seCDir as priBcipais reCras de siBtaQe e de coBstrDo da FiBCDaCem PortDCoF;

"DENT"%"!ADOR
O eFemeBto MOsico da FiBCDaCem E o ideBtiGicador) SDa coBstrDo E dada peFo diaCrama a seCDir;

ideBtiGicador

Fetra Fetra

dNCito

!oBsideraBdo&se; $etra & 2, Fetras do aFGaMeto maiPscDFas DNCitos & 0 a 0 DeJe&se ateBtar UDe o MraBco Bo GaR parte do roF de caracteres JOFidos: o UDe GaR com UDe o ideBtiGicador Bo possa ser coBstitDNdo de mais de Dma paFaJra) Pode&se DtiFiRar: Beste caso: o separador Ke K : cHamado sDMFiBHa oD 61&' )2% ') EQempFos JOFidos ; NOME SOMA_TERMOS RAIZ1 X234 SALDO01 SALDO DEVEDOR 123SALDO

EQempFos Bo JOFidos ;

ReCras de Mom seBso para MatiRar o ideBtiGicador; +) cada ideBtiGicador deJe ter seD Bome o mais prXQimo possNJeF de sDa GDBo[ 2) o ideBtiGicador Bo deJe ser to peUDeBo UDe GiUDe impossNJeF ideBtiGicO&Fo peFo Bome: Bem to FoBCo UDe seWa caBsatiJo de escreJA&Fo 5) padroBiRar os ideBtiGicadores: em aFCoritmos: sempre em Fetras maiPscDFas para GaciFitar a aBOFise do mesmo) AiBda UDe as FiBCDaCeBs de proCramao Gaam diGereBciao eBtre Fetras maiPscDFas e miBPscDFas)

++

1AR"21E"S
1ariOJeF E aFCo UDe pode ser aFterado: isto E: Bo E coBstaBte) 1ariOJeis de memXria so eBdereos da memXria RA# TR"1&%/!2 A22')) M'/% EV do compDtador: oBde so armaReBados temporariameBte os dados DtiFiRados por Dm proCrama dDraBte seD processameBto: e UDe: como diR o prXprio Bome: podem ter seDs coBtePdos aFterados dDraBte o processameBto do proCrama) Para se DtiFiRar o coBceito de JariOJeF: imaCiBe UDe a memXria de Dm compDtador E Dm CraBde arUDiJo com JOrias CaJetas: oBde cada CaJeta pode apeBas armaReBar Dm PBico JaFor por JeR : seWa eFe iBteiro: reaF: caracter oD FXCico) Se E Dm CraBde arUDiJo com JOrias CaJetas HO UDe se coBcordar UDe E BecessOrio ideBtiGicar com Dm Bome a CaJeta UDe se preteBde DtiFiRar) O Bome de Dma JariOJeF E DtiFiRado para sDa ideBtiGicao e posterior Dso deBtro de Dm proCrama: desse modo Bo E BecessOrio saMer a posio de cada M\te TiBGormaoV deBtro da memXria do compDtador QDaBdo E Geita a deGiBio de JariOJeis Bo aFCoritmo: Becessita&se iBdicar o Bome UDe serO dado a JariOJeF TideBtiGicadorV e UDaF o tipo de iBGormao UDe eFa irO coBter) DepeBdeBdo do tipo de iBGormao serO desiCBado Dm espao maior oD meBor de memXria oBde ocorrerO o armaReBameBto) TIPOS DE ARI$ EIS EQistem UDatro tipos MOsicos de JariOJeis em PortDCoF; "NTE"RO: REA$: !ARA!TER E $=/"!O) Estes tipos tamMEm so coBHecidos como tipos primitiJos de dados) O tipo de dado "NTE"RO E Dma JariOJeF BDmErica UDe pode coBter BPmeros iBteiros: positiJos oD BeCatiJos) O tipo de dado REA$ E oDtra JariOJeF BDmErica UDe pode coBter UDaFUDer BPmero reaF: isto E: iBteiro: GracioBOrio: positiJo oD BeCatiJo) Tipo de dado !ARA!TER E Dma JariOJeF UDe pode armaReBar em seD coBtePdo todas as Fetras do aFGaMeto: todos os aFCarismos e todos os caracteres especiais Tf g h d c: etcV) Uma JariOJeF do tipo caracter Bo pode ser DtiFiRada em eQpressIes aritmEticas: mesmo UDe coBteBHa apeBas aFCarismos) So caracteriRados como tipos $=/"!OS os dados com JaFores 1ERDADE"RO e %A$SO seBdo UDe este tipo de dado poderO represeBtar apeBas Dm dos dois JaFores por JeR) EFe E cHamado por aFCDBs de tipo MooFeaBo: deJido Z coBtriMDio do GiFXsoGo e matemOtico /eorCe BooFe Ba Orea da FXCica matemOtica) O tipo caracter traR coBsiCo Dma peUDeBa diGicDFdade: UDe E a Becessidade de estaMeFecer UDaF o seD tamaBHo mOQimo: em BPmero de caracteres) Esta atitDde E BecessOria para iBGormar a UDem FA o aFCoritmo UDaBto de espao reserJar para coBter esta JariOJeF) Os oDtros tipos de JariOJeis tem tamaBHo prE&determiBados e GiQos)

+2

Uma JariOJeF UDaBdo E deGiBida CaBHa Dm tipo de dado: e posterior reGerABcias de JaFor a esta JariOJeF deJero respeitar seD tipo de dado oriCiBaF) A Gorma de deGiBir JariOJeis deBtro de Dm aFCoritmo E;

ideBtiGicador

iBteiro

reaF

caracter FXCico ATR"BU"34O


O comaBdo de atriMDio E aUDeFe UDe permite coFocar JaFores Bas JariOJeis oD aFterar seD coBtePdo: oMedeceBdo o tipo de dado deGiBido para eFa) Para taBto Dsaremos o sNmMoFo ) SDa siBtaQe E;

ideBtiGicador

eQpresso

O BoJo JaFor atriMDNdo Z JariOJeF E Geito dDraBte o processameBto do proCrama DtiFiRado e pode ser Dma coBstaBte: o resDFtado de Dma eQpresso oD o JaFor de oDtra JariOJeF) EQempFo;

A+ B+^2

< importaBte Botar UDe; & a eQpresso UDe se eBcoBtra do Fado direito da atriMDio deJe ser compatNJeF com o tipo de dado deGiBido para a JariOJeF[ & Ba atriMDio de JariOJeF iBteira: a eQpresso deJerO ser Dma eQpresso iBteira: isto E: sem parte GracioBOria[
+5

& Ba atriMDio de JariOJeis do tipo reaF: a eQpresso deJerO ser BDmErica: sem BeBHDma oDtra restrio[ & Ba atriMDio de JariOJeis caracter o JaFor deJerO estar eBJoFJido por aspas K) EFe BDBca poderO ter Dm tamaBHo maior do UDe aUDeFe estaMeFecido para a JariOJeF) Se isto acoBtecer: o JaFor serO trDBcado) & Ba atriMDio de JariOJeis FXCicas deJeremos Dsar as paFaJras 1ERDADE"RO e %A$SO: oD UDaBdo Bo HoDJer risco de coBGDso: podemos Dsar as aMreJiatDras 1 e %) EQempFo; A K+ K [ B K1L [

iBteiro oD caracter caracter oD FXCico

OPERADORES
Operadores so sNmMoFos DtiFiRados em eQpressIes UDe coBtAm JariOJeis: coBstaBtes e GDBIes) De acordo com os tipos de dados das JariOJeis e o resDFtado da operao: os operadores diJidem&se em trAs tipos; & aritmEticos & reFacioBais & FXCicos

AR"T#<T"!OS
So aUDeFes UDe atDam apeBas soMre coBstaBtes: JariOJeis e GDBIes BDmEricas: CeraBdo Dm resDFtado BDmErico em Dma eQpresso) So eFes;

^ & c Y cc &

adio sDMtrao MiBOria mDFtipFicao diJiso eQpoBeBciao meBos DBOrio

Pode&se tamMEm DtiFiRar as GDBIes matemOticas DsDais e as coBHecidas da FiBCDaCem de proCramao: como; seBTQV: cosTQV: aMsTQV: iBtTQV: GracTQV: FoCTQV: sUrtTQV

RE$A!"ONA"S
So aUDeFes UDe reaFiRam Dma comparao eBtre dDas eQpressIes e Ceram resDFtados FXCicos: isto E 1erdadeiro oD %aFso: so eFes; ] ij oD j i j] oD i] oD iCDaF diGereBte maior UDe meBor UDe maior oD iCDaF meBor oD iCDaF

+6

$=/"!OS
So aUDeFes UDe Ceram resDFtados FXCicos atraJEs da comparao eBtre dDas eQpressIes FXCicas: so trAs; coBWDBo disWDBo BeCao E OU N4O E aUDeFe UDe eQiCe UDe todos os termos da eQpresso seWam Jerdadeiros para UDe a eQpresso iBteira seWa Jerdadeira) E aUDeFe UDe eQiCe UDe apeBas Dm dos termos da eQpresso seWa Jerdadeiro para UDe a eQpresso iBteira seWa Jeradeira) E aUDeFe UDe iBJerte oD BeCa o JaFor FXCico de Dm eFemeBto)

Os operadores FXCicos tem seD resDFtado Maseado Ba TaMeFa 1erdade: eFes operam soMre JariOJeis FXCicas T1 oD %V e tem como resDFtado JaFores FXCicos T1 oD %V) OU 1 % 1 1 1 % 1 % E 1 % 1 1 % % % % NO 1 % % 1

D"1 E #OD
So dDas importaBtes GDBIes matemOticas UDe atDam soMre BPmeros iBteiros e do como resDFtado tamMEm BPmeros iBteiros) DiJ & resDFtado iBteiro de Dma diJiso iBteira #od & resto iBteiro de Dma diJiso iBteira PRIORIDADES Na eQecDo de Dm comaBdo compFeQo: podemos eBcoBtrar dDas oD mais operaIes BDmEricas Dma ao Fado da oDtra: e Beste caso deJemos seCDir reCras de prioridades de operadores para saMermos UDaF serO eQecDtado primeiro) No PortDCoF as prioridades so; PR"OR"DADE +k 2k 5k 6k >k ,k *k ?k 0k +0k !O#ANDO parABteses GDBIes meBos DBOrio cc ceY ^e& reFacioBais FXCicos N4O E OU

+>

Se HoDJerem dDas operaIes de mesma prioridade: as mesmas: sero reaFiRadas da esUDerda para a direita: como Ba matemOtica) SU/EST9ES PARA #A"OR !$ARE7A DAS E8PRESS9ES +) DeGiBir FiBHas peUDeBas CeraBdo maior cFareRa e aDto&docDmeBtao[ 2) QDeMrar Dm comaBdo compFeQo em diJersos mais simpFes[ 5) Usar e aMDsar de parABteses: mesmo UDe redDBdaBtes: assim Bo precisamos decorar as reCras de prioridade)

+,

RESUMO Identificador (nome de varivel) - Sempre maisculo - Comea com letra - Continua com letra / dgitos - Tamanho ilimitado EQ); #ED"A: SA$D56: SA$e!ONT Tipos de variveis Inteiro nmeros inteiros! positivos / negativos Real nmeros inteiros / "racionrios! positivos/ negativos de #ual#uer magnitude Caracter se#u$ncia de caracteres Lgico %&'()(&*'+ ou ,)-S+ Definio; "deBtl : ideBtm; iBteiro[ ; reaF[ ; caracter ltamm[ ; FXCico[ Comando de atribuio ideBt eQpresso[ &xpress.o pode ser somente valor. (eve ser compatvel com o tipo da varivel. Se tipo "or caracter deve ser entre aspas e com tamanho compatvel. Se "or tipo l/gico somente % ou ,. Operadores aritmticos ^ adi.o & su0tra.o c multiplica.o Y divis.o "racionria & DBOrio; oposto seB TQV; seno de x radianos cos TQV; cosseno de x radianos aMs TQV; valor a0soluto x iBt TQV; parte inteira de x Grac TQV; parte "racionria de x FoC TQV; logaritmo de x n div m #uociente da divis.o inteira de n por m n mod m resto inteiro da divis.o inteira de n por m Operadores Lgicos E % somente #uando am0os os operandos s.o % 1 1 % % E E E E 1E1 %E% 1E% %E% OU , somente #uando am0os os operandos
"orem ,

1 % 1 %

OU OU OU OU

1 1 % %

e_ 1 e_ 1 e_ 1 e_ %

NO 1 a nega.o
N4O 1 E % N4O % E 1

Prioridade das Operaes +) 2ar$nteses 2) ,un3es 5) 4enos unrio (oposto) 6) 2otencia.o >) 4ultiplica.o e divis.o ,) )di.o e su0tra.o *) Compara3es 5 4aior 6 4enor 7 *gual 4aior ou igual 4enor ou igual 65 (i"erente 8. +peradores l/gicos & +9 :;+ <. +pera3es de mesma prioridade s.o resolvidas da direita para a es#uerda.

+*

E8ER!.!"OS
+) "BGorme o JaFor esperado para a JariOJeF 1AR+ 1AR+ T+ ^ T2 c T5 ^ +V Y 2 VV & 2 1AR+ 5 cc 5 1AR+ 2 c iBtT+:000V 1AR+ aMsT & T5 & 6VV 1AR+ iBt T+:>V & GracT+:)>V 1AR+ 2 Y T2 c 5V 2) QDaBto E 600 #OD >+ a) M) c) d) e) G) 50 #OD * T> #OD 6V ^ T22 D"1 +0V ^ T5 #OD 2V 65*, #OD +0 65*, #OD +00 65*, #OD +000 65*, #OD +0000

5) "BGorme UDaF o JaFor da JariOJeF 1AR2 1AR2 1ERDADE"RO 1AR2 NAO %A$SO 1AR2 NAO NAO 1ERDADE"RO 1AR2 %A$SO OU %A$SO 1AR2 1ERDADE"RO E TNAO 1ERDADE"ROV 1AR2 TNAO %A$SOV OU TNAO 1ERDADE"ROV 1AR2 T%A$SO OU 1ERDADE"ROV E TNAO 1ERDADE"ROV 1AR2 %A$SO E %A$SO 1AR2 1ERDADE"RO E 1ERDADE"RO 6) "BGorme UDaF o JaFor GiBaF para 1AR5 1AR5 T5 2V OU T+ ] 5V 1AR5 T+ ^ +V ] T5 & +V 1AR5 TiBt T+:> c 6V j ,V E T+ ij 2V >) "BGorme UDaF o JaFor para 1AR6 1AR6 T GracT0:000V & +V j 0 1AR6 + ] 2 1AR6 + ^ 2 ] 2 1AR6 0)> 2)> & iBtT2:000V 1AR6 5 j + ^ + 1AR6 + ^ 5 c 6 1AR6 2 cc 5 c 2 ^ + 1AR6 + c 2 c 5 c 6 c 0 ^ + 1AR6 55 j T52 ^ iBtT2:6>V & GracT0:>VV 1AR6 T6 cc T2 Y 2 cc 2V 5:>V E T + ] 5 cc 0V

+?

,) AssiBaFar com Dm 8 os ideBtiGicadores JOFidos; T T T T T V 1A$OR V nNOTAn V 82 V SA$e$"Q V586 T T T T T T V NO#E#P V SA$A2+> V A'o V #pAq V A+B2!5 V nNO#En T T T T T V #AR"A V B26? V K#Y' V 8r7 V NOTAcDOcA$UNO

*) !oBsideraBdo P ] 5[ Q ] 6[ R ] +2 e S ] 6>[ NO#E ] n#"R"A#n[ PRO%"SSAO ] n#ED"!On: UDaF o JaFor de RESP em cada Dma das eQpressIes aMaiQo; a) RESP +00 c TQ diJ P V ^ R M) RESP TP ^ + j] SQRTTQVV e NO#E ij nANAn e PRO%"SSAO ] n#ED"!On c) RESP P c T R mod >V & Q Y 2 d) RESP TS mod TP ^ +VV & Q c R e) RESP PRO%"SSAO ] n#ED"!On oD TQ mod PV ] 0 ?) SeBdo; SO#A: NU#: 8 JariOJeis BDmEricas NO#E: !OR: D"A JariOJeis caracter e TESTE: !OD: TUDO JariOJeis FXCicas: assiBaFar os comaBdos coBsiderados iBJOFidos; T T T T T V NO#E >[ V SO#A NU# ^ 2 c 8[ V TESTE !OD oD 8 cc 2 ij SO#A[ V TUDO SO#A[ V !OR nPRETOn & SQRTT8V T T T T T V 8 NO#E j] !OD[ V SO#A ^ 2 8 cc 2 & SQRTT NU#V[ V D"A nSE/UNDAn[ V NU# ncAB!cn[ V88^+

0) !oBsideraBdo; A ] 5[ B ] +,: NO#E ] nANAn: PRO%"SSAO ] nAD1O/ADOn: TESTE] % aJaFiar as eQpressIes aMaiQo e dar sDa resposta; a) SO$ M) SO$ c) SO$ d) SO$ e) SO$ A ^ + j] SQRTTBV oD NO#E ij nANAn[ Bo TESTE ] 1 e TA ^ > ] BV oD Bo PRO%"SSAO ] n#ED"!On[ PRO%"SSAO ] n#ED"!On oD TESTE ] %[ A mod 2 ^ 2> diJ B[ A ^ B c 2 j +0

+0) "BGormar o JaFor da JariOJeF R: em cada item: apXs a eQecDo da seCDiBte seUDABcia de operaIes; aV R 5:0 c ,[ MV 8 2:0[ r 5:0[ R 8 cc r a 8[ cV R 6[ 8 2[ R R c 8[ RESPOSTA aV MV cV

++) "BGormar o JaFor da JariOJeF R: em cada item: apXs a eQecDo da seCDiBte seUDABcia de operaIes; aV R + c +:*? Y 5[ MV B 2[

+0

A 60 a B cc 2[ R iBt T5:+6+,V ^ A c >[ cV R 0 a +?[ R aMs T &, ^ iBtT5:6VV a R[

20

QUA$"DADES DE U# BO# A$/OR"T#O


+) !FareRa a o aFCoritmo E Dma GerrameBta de eBteBdimeBto e soFDo de Dm proMFema: deJe portaBto: ser o mais cFaro possNJeF) O aDtor deJe preocDpar&se coBstaBtemeBte se o UDe estO peBsaBdo estO JisNJeF Bo UDe estO escreJeBdo[ 2) "mpessoaFidade & Bo Dsar macetes: reCras pessoais e Bomes UDe sX tem seBtido para o aDtor: mDitas JeRes UDem Jai eQamiBar: depDrar: corriCir: aFterar o aFCoritmo Bo E seD prXprio aDtor) Neste poBto os !PD_s Mem orCaBiRados deGiBem Dm coBWDBto de Bormas de codiGicao e de eFaMorao de aFCoritmos[ 5) SimpFicidade a o aFCoritmo deJe ter por priBcNpio a simpFicidade: FoCo traBsGormar aFCo compFicado em soFDIes simpFes: parece ser a diGereBa eBtre proCramadores comDBs e CraBdes proCramadores[ 6) No reiBJeBo da roda a GaRer Dso do coBceito de MiMFioteca de aFCoritmos) O proCramador Bo deJe esUDecer de UDe Dm aFCoritmo BoJo cDsta caro para ser Geito: e mDito mais caro aiBda para ser depDrado: eBto: caso eQista Dm proBto este deJe ser DtiFiRado[ >) !apricHo a a priBcipaF GDBo de Dm aFCoritmo E traBsmitir a soFDo de Dm proMFema para oDtra pessoa) Desta Gorma a Fetra cFara: Dso de eBdeBtao: Bomes Mem atriMDNdos: papeF Fimpo e sem MorrIes deJe ser de Dso coBstaBte[ ,) DocDmeBtao a Bem sempre o PortDCoF E MastaBte cFaro: aFEm do UDe eFe iBGorma o UDe E Geito e Bo porUDe E Geito) Assim deJe&se FaBar mo de comeBtOrios sempre UDe BecessOrio) O sNmMoFo de comeBtOrio em aFCoritmo E p q: isto E: tDdo UDe estiJer eBtre as cHaJes E Dm comeBtOrio)

2+

B$O!OS
Um MFoco E Dm coBWDBto compFeto de comaBdos para resoFJer Dm determiBado proMFema) /raGicameBte GaFaBdo Dm MFoco sempre comea peFa paFaJra "N"!"O e termiBa peFa paFaJra %"#) EBtre estes dois Fimites eQistem dDas partes; deGiBio de JariOJeis a UDe serJe para deGiBir as JariOJeis UDe sero DtiFiRadas Bo MFoco[ comaBdos a UDe deGiBe UDais os comaBdos UDe GaRem parte deste MFoco) %$U8O/RA#A
iBicio

PORTU/O$

JariOJeis

comaBdos

"N"!"O idecFarao das JariOJeisj[ icomaBdosj[ %"#)

Gim

EQempFo; caFcDFar a Orea de Dm ret`BCDFo iBicio A: B: AREA ; reaF[ AREA A c B[ Gim)

SEQU N!"A S"#P$ES


Trata&se de Dm coBWDBto de comaBdos simpFes: UDe seCDem Dm ao oDtro e UDe so eQecDtados Ba ordem em UDe aparecem) EQempFo; A +0[ B A ^ >[ 8 + ^ 2[

22

!ada comaBdo simpFes E escrito em Dma FiBHa e sempre termiBa por Dm poBto e JNrCDFa T [ V: o UDe E coBsiderado Dma iBstrDo seUDeBciaF) DeBtro de Dma seUDABcia simpFes de comaBdos a eBtrada E sempre peFo primeiro comaBdo e a saNda sempre peFo PFtimo comaBdo) %$U8O/RA#A PORTU/O$ )))))
comaBdo +

i comaBdo + j[ i comaBdo 2 j[

comaBdo2

)))))))) i comaBdo B j[

comaBdo B

))))

EQempFo; caFcDFar a Orea de Dm tri`BCDFo; iBicio B: ': AREA ; reaF[ Feia TBV[ pMaseq Feia T'V[ paFtDraq AREA T B c ' V Y2[ pcaFcDFa a Oreaq imprima TAREAV[ Gim)

!O#ANDOS DE ENTRADA E SA.DA


A maioria dos aFCoritmos UDe escreJemos Becessita receMer dados eQterBos: e em aFCDm momeBto BecessitarO comDBicar respostas: para taBto Dsamos os comaBdos de eBtrada e saNda) Para resoFJer estes dois proMFemas eQistem os cHamados comaBdos de eBtradaYsaNda TEYSV) DespreRaBdo as compFeQidades iBereBtes a Dm processo de traBsGerABcia de dados em Dm compDtador reaF: Dma JeR UDe cada FiBCDaCem trata os dispositiJos de EYS de Gorma
25

diGereBciada e o aFCoritmo deJe ser capaR de ser tradDRido para UDaFUDer FiBCDaCem de proCramao: os comaBdos UDe sero Dsados so dois; Feia e imprima) O comaBdo $E"A siCBiGica Dma eBtrada de dados: reaFiRada atraJEs de Dm dispositiJo eQterBos de eBtrada de dados: para o aFCoritmo: isto E: o JaFor Bo E Cerado por Dm comaBdo oD eQpresso do aFCoritmo DtiFiRado) O dispositiJo de eBtrada DtiFiRado: isto E: se os dados eBtraro Jia tecFado: moDse: FeitDra de disco oD FiBHa teFeGbBica: Bo irO iBterGerir Bo aFCoritmo) Da mesma Gorma: para a saNda dos dados Dsaremos o comaBdo "#PR"#A: e tamMEm Bo importa: Z BNJeF de aFCoritmo: para UDaF dispositiJo eQterBo de saNda de dados os mesmos sero eBJiados; termiBaF de JNdeo: impressora: pFotter: CraJado em disco oD FiBHa teFeGbBica) A saNda de dados coBsiste Ba eQiMio do coBtePdo de Dma JariOJeF oD coBstaBte: do resDFtado de Dma eQpresso oD de Dma meBsaCem) A siBtaQe destes comaBdos E; EBtrada de dados; Feia TiideBtiGicador +j: iideBtiGicador 2j: ))): iideBtiGicador BjV [ SaNda de dados; imprima TiideBtiGicador +j: iideBtiGicador 2j: ))): iideBtiGicador BjV[ pcoBtePdo do ideBtiGicadorq imprima TieQpresso BDmEricajV[ presDFtado da eQpresso BDmEricaq imprimaT Kcadeia de caracteresLV[ pcaracteres eQisteBtes eBtre os aspasq OMs; & em CeraF: dados UDe sero Fidos Bo precisam ser iBiciaFiRados[ & os JaFores a serem impressos deJem ser iBiciaFiRados eYoD caFcDFados aBtes da impresso) EQempFo; iBicio 1A$OR+: 1A$OR2 ; iBteiro[ Feia T1A$OR+V[ 1A$OR2 1A$OR+ c 2[ imprima TKo JaFor primeiro E K: 1A$OR+V[ imprima TKo JaFor seCDBdo EL: 1A$OR2V[ imprima TKa soma dos dois E K: 1A$OR+ ^ 1A$OR2V[ Gim)

26

%$U8O/RA#A

PORTU/O$

Feia Jar+: ))): Jar B

$E"A TJar +: ))): Jar BV[

"#PR"#A TJar +: ))) : Jar BV[


imprima Jar +: ))) Jar B

oD "#PR"#A TKmeBsaCemL: Jar V[

E8ER!.!"OS
+) %aRer Dm aFCoritmo UDe caFcDFe o JoFDme de Dma esGera em GDBo do raio R) 1 ] 6 Y5 Rcc5 2) !riar aFCoritmos em PortDCoF para GaRer as seCDiBtes coBJersIes; aV $er Dma temperatDra dada Ba escaFa !eFsiDs e imprimir a eUDiJaFeBte em %aHreBHeit T% ] 0Y> c ! ^ 52V MV $er Dma UDaBtidade de cHDJa em poFeCadas e imprimir a eUDiJaFeBte em miFNmetros T2>:6 mm ] + poFeCadaV cV $er Dm JaFor reGereBte ao resDFtado de saFto em aFtDra: reFatado em metros: e coBJerter para pEs e poFeCadas T+ pE ] +2 poFeCadas e + metro ] 50:5* poFeCadasV dV $er Dm tempo para Dma corrida de +00 metros e caFcDFar seD tempo para +00 Wardas: sDpor UDe o atFeta corra a Dma JeFocidade coBstaBte T Warda ] 0:0+66 metrosV 5) O cDsto ao coBsDmidor de Dm carro BoJo E a soma do cDsto de GOMrica com a perceBtaCem do distriMDidor e dos impostos TapFicados ao cDsto da GOMricaV) SDpoBdo UDe a perceBtaCem do distriMDidor seWa de +2s e os impostos de 6>s: preparar Dm aFCoritmo portDCoF para Fer o cDsto de GOMrica do carro e imprimir o cDsto ao coBsDmidor) 6) O cardOpio de Dma casa de HamMDrCer E dado aMaiQo) Preparar Dm aFCoritmo portDCoF para Fer a UDaBtidade de cada item comprado e caFcDFar a coBta ao GiBaF) #oBa_s BDrCers 'amMDrCer !HeeseMDrCer Batata %rita ReGriCeraBte #iFksHake TRt 2:>0V TRt 5:50V TRt +:>0V TRt 0:,0V TRt +:*0V

O aFCoritmo deJe ter Dma JariOJeF para cada item para Fer a UDaBtidade e mDFtipFicar peFo preo do respectiJo item: somaBdo tDdo ao GiBaF: iBcFDiBdo: tamMEm: os +0s dos serJios) >) Preparar Dm aFCoritmo portDCoF para Fer o comprimeBto dos 5 Fados de Dm tri`BCDFo TS+: S2 e S5V e caFcDFar a Orea do tri`BCDFo de acordo com a GXrmDFa)

2>

Area ] T T T & S+V T T & S2V T T & S5V oBde T ] T S+ ^ S2 ^ S5V Y 2 ,) Preparar Dm aFCoritmo UDe Feia os JaFores reGereBtes aos 2 catetos de Dm tri`BCDFo ret`BCDFo e caFcDFar o JaFor de sDa HipoteBDsa) *) Preparar Dm aFCoritmo UDe Feia o tempo e dist`Bcia percorridos por Dm JeNcDFo e caFcDFe sDa JeFocidade mEdia) ?) Preparar Dm aFCoritmo UDe Feia as 6 Botas Mimestrais de Dm aFDBo e caFcDFe sDa mEdia aBDaF) 0) Preparar Dm aFCoritmo UDe Feia o mAs e aBo de BascimeBto de Dm iBdiJNdDo e caFcDFe sDa idade em meses com Mase Ba data atDaF)

+0) Preparar Dm aFCoritmo UDe Feia a Hora e miBDto de iBNcio de Dma aDFa e imprima a Hora e miBDto de tErmiBo desta aDFa: saMeBdo UDe a aDFa E de >0 miBDtos) ++) Preparar Dm aFCoritmo UDe Feia > JaFores e imprima a mEdia aritmEtica eBtre eFes) +2) Dado Dm BPmero iBteiro de 5 aFCarismos: iBJerter a ordem de seDs aFCarismos) Os trAs aFCarismos do BPmero dado so diGereBtes de Rero) +5) Dado Dm BPmero de 5 aFCarismos coBstrDir oDtro BPmero de 6 aFCarismos de acordo com a seCDiBte reCra; aV os 5 primeiros aFCarismo: coBtados da esUDerda para a direita so iCDais aos do BPmero dado[ MV o UDarto aFCarismo E Dm dNCito de coBtroFe caFcDFado da seCDiBte Gorma; primeiro aFCarismo ^ seCDBdo aFCarismo c 5 ^ terceiro aFCarismo c >[ o dNCito de coBtroFe E iCDaF ao resto da diJiso dessa soma por *) +6) Dadas dDas GraIes ordiBOrias aYM e cYd: determiBar a sDa soma e o seD prodDto) +>) Dado Dm BPmero iBteiro UDe represeBta Dm BPmero MiBOrio de ciBco dNCitos: determiBar o seD eUDiJaFeBte decimaF) +,) Dados o primeiro termo e a raRo de Dma proCresso aritmEtica: determiBar a soma de seDs primeiros ciBco termos) +*) Dado Dm BPmero iBteiro de seCDBdos determiBar o seD JaFor eUDiJaFeBte em CraDs: miBDtos e seCDBdos) Se a UDaBtidade de seCDBdos Gor iBsDGicieBte para dar o JaFor em CraDs: o JaFor em CraDs deJe ser Rero) A mesma oMserJao coBtiBDa JOFida em reFao a miBDtos e seCDBdos) Por eQempFo; 5,00 seCDBdos ] + CraD: 0 miBDtos: 0 seCDBdos[ 5>00 seCDBdos ] 0 CraDs: >? miBDtos: 20 seCDBdos) +?) %aRer Dm aFCoritmo UDe Feia a Hora e o miBDto de iBNcio de Dma aDFa e imprima a Hora e o miBDta de tErmiBo desta aDFa: saMeBdo UDe a aDFa E de >0 miBDtos)

2,

A$TERNAT"1A S"#P$ES
EQistem oportDBidades em UDe determiBados comaBdos deBtro de Dm aFCoritmo deJem ser eQecDtados caso certas coBdiIes o permitirem: em oDtras coBdiIes Bada se eQecDta) Por eQempFo; Ba soFDo de Dma eUDao do seCDBdo CraD: Bo momeBto de eQtrair a raiR UDadrada de DeFta: sX pode&se GaRer caso DeFta seWa positiJo) Se DeFta Gor meBor do UDe Rero: a raiR Bo pode ser eQtraNda: e coBJEm eQecDtar oDtros comaBdos) O comaBdo PortDCoF UDe ideBtiGica Dma ao coBdicioBaF E o Se: UDe tem a seCDiBte siBtaQe; Se icoBdioj eBto iaoj[ Gimse[ A coBdio E Dma eQpresso cDWo resDFtado GiBaF E do tipo FXCico T1 oD %V) A ao pode ser Dm comaBdo simpFes oD Dma seUDABcia de comaBdos) Sem`Btica & se o resDFtado da coBdio UDe acompaBHa o SE Gor 1: os comaBdos iBterBos ao ENT4O deJem ser eQecDtados[ caso coBtrOrio: se o resDFtado da coBdio UDe acompaBHa o SE Gor %: todos os comaBdos iBterBos ao ENT4O deJem ser despreRados atE eBcoBtrar o %"#SE correspoBdeBte) EQempFo; se DE$TA i 0 eBto imprima TKBo E possNJeF eQtrair a raNRLV[ Gimse[ Para GaciFitar a compreeBso e a JisDaFiRao do iBNcio e do GiBaF de cada estrDtDra: DtiFiRa& se o artiGNcio de desFocO&Fas Z direita: de Gorma UDe Dma estrDtDra GiUDe deBtro da oDtra: tamMEm coBHecida como eBdeBtao) !ostDma&se eBdeBtar os comaBdos sDMordiBados a Dma coBdio SE: isto E: comaBdos iBterBos ao ENT4O) E a marCem deJe ser traRida ao UDe era aBtes do comaBdo SE: apeBas UDaBdo Gor escrita a paFaJra %"#SE correspoBdeBte)

2*

%$U8O/RA#A
1 coBdio

PORTU/O$

SE icoBdio j ENT4O i comaBdo +j[ i comaBdo 2j[ ))))) icomaBdo Bj[ %"#SE[
comaBdo B

comaBdo +

!ada SE deJe ter Dm %"#SE correspoBdeBte) Ao percorrer o GFDQo de coBtroFe do aFCoritmo: eBcoBtraBdo&se Dm %"#SE este sempre reGere&se ao PFtimo SE aMerto)

A$TERNAT"1A !O#POSTA
< Dma eQteBso da aFterBatiJa simpFes: Beste caso temos determiBar o UDe GaRer se a coBdio Gor Jerdadeira: e o UDe GaRer se a coBdio Gor GaFsa) O Gormato deste comaBdo E; SiBtaQe; Se icoBdioj eBto iao +j[ seBo iao 2j[ Gimse[ Sem`Btica; se a coBdio coBtida Bo comaBdo SE Gor Jerdadeira so eQecDtados os comaBdos iBterBos ao ENT4O: e os comaBdos iBterBos ao SEN4O so despreRados atE eBcoBtrar o %"#SE correspoBdeBte[ caso coBtrOrio: se a coBdio coBtida Bo comaBdo SE Gor GaFsa: os comaBdos iBterBos ao ENT4O so despreRados e os comaBdos iBterBos ao SEN4O so eQecDtados atE eBcoBtrar o %"#SE correspoBdeBte) Neste caso a eBdeBtao tamMEm E importaBte: os comaBdos SE e %"#SE comeam Ba marCem correBte: os comaBdos iBterBos ao ENT4O e ao SEN4O Gicam eBdeBtados)

2?

EQempFo; DE$TA 6 c A c ! & B cc 2[ se DE$TA i 0 eBto imprima TKraNRes imaCiBOriasLV[ seBo 8 DE$TA cc 0)>[ Gimse[ %$U8O/RA#A
% coBdio 1

PORTU/O$

SE icoBdio j ENT4O i comaBdo +j[ i comaBdo 2j[ ))))) icomaBdo Bj[ SEN4O i comaBdo ++j[ i comaBdo 22j[ ))))) i comaBdo BBj[ %"#SE[

comaBdo ++

comaBdo +

comaBdo BB

comaBdo B

AN"N'A#ENTO
Os aFCoritmos podem ser Gormados por diJersas estrDtDras: cada Dma com Dma GDBo especNGica) EQistem casos em UDe Dma estrDtDra poderO estar deBtro de oDtra: e a isto dO&se o Bome de aBiBHameBto) Nada impede UDe eQista Dma coBdio deBtro de oDtra: e isto tamMEm poderO ocorrer com as prXQimas estrDtDras de comaBdo) No eQiste Dm Fimite para o BPmero de estrDtDras UDe podem ser coFocadas deBtro de Dma oDtra estrDtDra UDaFUDer: mas se o BPmero Gor mDito CraBde: a compreeBso e a JisDaFiRao sero preWDdicadas) Para GaciFitar a compreeBso e a JisDaFiRao do iBNcio e do GiBaF de cada estrDtDra: DtiFiRa&se o artiGNcio da eBdeBtao) Nos casos em UDe so BecessOrias mDitas estrDtDras iBterBas: a soFDo E a DtiFiRao do processo de modDFariRao do aFCoritmo: assDBto UDe serO tratado mais para GreBte)

20

EQempFo; SE# "DENTA34O Se A ij 0 eBto B 0[ se ! ij 0 eBto D 0[ % 5[ Gimse[ / **[ Gimse[ !O# "DENTA34O Se A ij 0 eBto B 0[ se ! ij 0 eBto D 0[ % 5[ Gimse[ / **[ Gimse[

Uma reCra importaBte UDe deJe ser sempre seCDida: E a de UDe o iBNcio e o GiBaF da estrDtDra mais iBterBa deJem ser sempre deBtro da estrDtDra imediata UDe a coBtEm) 12$"DO "N12$"DO

2 6

5 6 5

NEGAO DOS OPERADORES ReFemMraBdo as operaIes FXCicas: eFas tem como operadores os JaFores 1erdadeiro e %aFso e as operaIes E: OU e N4O) UsaBdo tais operaIes em coBWDBto com os comaBdos SE simpFes oD composto: aFEm dos operadores reFacioBais: pode&se criar trecHos de aFCoritmos mDito ricos) EQempFos; aV DeGiBir se Dm JaFor esta compreeBdido eBtre +0 e 5>; se 1A$OR j 0 e 1A$OR i 5 eBto imprima TK1aFor OKLV[ seBo imprima TK1aFor erradoLV[ Gimse[

50

MV DeGiBir se Dm JaFor BDmErico represeBtatiJo de Dm mAs estO correto se # S j 0 e # S i +5 eBto imprima TKmAs corretoLV[ seBo imprima TKmAs iBcorretoLV[ Gimse[ cV Um certo cXdiCo pode assDmir os seCDiBtes JaFores; +0: +>: +*: +? e 50) Testar se eFe estO oD Bo correto se !OD ] +0 oD !OD ] +> oD !OD ] +* oD !OD ] +? oD !OD ] 50 eBto imprima TKcXdiCo corretoLV[ seBo imprima TKcXdiCo iBcorreto_V[ Gimse[ #Ditas JeRes E mais GOciF orCaBiRar a saNda correta da coBdio atraJEs do SEN4O e Bo atraJEs do ENT4O: o UDe iBJerte o comaBdo) dV Um iBdicador estarO errado se assDmir os JaFores; +: 6: >: ,: * oD 0) OrCaBiRar o comaBdo; !OND"34O PE$O ENT4O se "ND ] + oD "ND ] 6 oD "ND ]> oD "ND ], oD "ND ]* oD "ND ] 0 eBto imprima TKiBdicador ERRADOLV[ seBo imprima TKiBdicador !ORRETOLV[ Gimse[ oDtra maBeira de represeBtar a mesma coBdio; !OND"34O PE$O ENT4O !OND"34O PE$O SEN4O & "N1ERT"DA !OND"34O PE$O SEN4O & "N1ERT"DA se "ND ij + e "ND ij 6 e "ND ij > e "ND ij , e "ND ij * e "ND ij 0 eBto imprima TKideBtiGicador !ORRETOLV; seBo imprima TKideBtiGicador ERRADOLV[ Gimse[

se "ND ] + oD T "ND j 5 e "ND i ? V oD "ND ] 0 se "ND ij + e T "ND i] 5 oD "ND j] ? V e "ND eBto imprima TKiBdicador ERRADOLV[ ij 0 seBo imprima TKiBdicador !ORRETOLV[ eBto imprima TKideBtiGicador !ORRETOLV; Gimse[ seBo imprima TKideBtiGicador ERRADOLV[ Gimse[

5+

QDaBdo Bo se deseWa iBJerter as saNdas Becessitamos BeCar as coBdiIes: aMaiQo seCDe Dm resDmo da BeCao dos comaBdos; RESU#O RE$A3uO ] ij oD j i j] oD i] oD E OU NE/A34O ij oD ] i] oD j] oD i j OU E

#U$T"P$A ES!O$'A
Nos casos em UDe HO mPFtipFas saNdas para Dm determiBado teste: pode&se GaRer Dso das estrDtDras de aFterBatiJa simpFes e composta deJidameBte eBcadeadas) TaF Dso: coBGorme os proGessores itaFiaBos em +0,,: sempre E sDGicieBte para a soFDo de UDaFUDer proMFema) EBtretaBto para simpFiGicar a soFDo iBPmeras FiBCDaCeBs tem o comaBdo teste mPFtipFo) SeD Gormato em PortDCoF E; SiBtaQe; caso ieQpressoj JaFor+ ; icomaBdo+j[ JaFor 2 ;i comaBdo2j[ ))) JaFor B ; icomaBdo Bj[ seBo; icomaBdo B^+j[ Gimcaso[ oBde o comaBdo do Fado direito do dois poBtos T ; V pode ser Dm comaBdo simpFes oD Dm coBWDBto de comaBdos) Sem`Btica; a eQpresso do !ASO E aJaFiada: e deJe Cerar Dm resDFtado determiBado[ este resDFtado E comparado com os JaFores iBdicados coFocados do Fado esUDerdo do dois poBtos T ; V[ UDaBdo Dm JaFor iCDaF Gor eBcoBtrado: o comaBdo coFocado ao Fado direito do dois poBtos T ; V serO eQecDtado: retorBaBdo ao %"#!ASO correspoBdeBte: sem eQecDtar mais BeBHDma comparao: oBde prosseCDe o GFDQo BormaF do aFCoritmo[ caso BeBHDm JaFor seWa iCDaF ao resDFtado oMtido Ba eQpresso do !ASO o comaBdo eQisteBte do Fado direito do dois poBtos T ; V do SEN4O serO eQecDtado: retorBaBdo ao %"#!ASO oBde prosseCDe o GFDQo BormaF do aFCoritmo) EQempFo;
52

ResoFJer o seCDiBte proMFema DsaBdo o comaBdo !ASO) NDma orCaBiRao: o BPmero de depeBdeBtes Fimita a UDaBtidade de dias UDe Dm GDBcioBOrio pode GaFtar aBDaFmeBte) Assim: empreCados com meBos de 5 depeBdeBtes podem GaFtar > dias UDem tem 6: > oD , depeBdeBtes pode GaFtar ? dias: UDem tem mais de , depeBdeBtes pode GaFtar ++ dias EscreJer Dm aFC UDe Feia o BPmero de depeBdeBtes e imprima a UDaBtidade de dias UDe podem ser GrDNdos aBDaFmeBte para cada caso)
RESUMO LOCO -Con=unto de descri.o de variveis e comandos para reali>ar uma determinada tare"a "N.!"O deGiBio de JariOJeis comaBdos %"# !"#$%&CI' !I(PL"! -Comandos simples seguidos -Comea no primeiro e termina no ltimo -Separados por ?;@ comaBdo +[ comaBdo 2[ comaBdo B[ 'LT")&'TI+' !I(PL"! -Comandos executados somente se a condi.o "or verdadeira. SE i coBdio j ENT4O comaBdo +[ v comaBdo B[ %"#SE[ 'LT")&'TI+' CO(PO!T' - &xistem dois caminhosA a condi.o determina #ual deve ser seguido. SE i coBdio j ENT4O comaBdo +[ v comaBdo B[ SEN4O comaBdo ++: v comaBdo BB: %"#SE[

"&T)'D' Trans"ere dados externos para o algoritmo $E"A TJar+: v Jar BV[

!'*D' Trans"ere dados do algoritmo para o meio externo "#PR"#A TJar+: v Jar BV[

55

E8ER!.!"OS
+) !oBsideraBdo A: B e ! JariOJeis BDmEricas: coBteBdo os JaFores: +: 6)> e ? respectiJameBte[ NO#E e !OR JariOJeis Fiterais coBteBdo KTaBiaL e KBraBcoL e TESTE JariOJeF FXCica coBteBdo o JaFor 1: determiBar os resDFtados oMtidos da aJaFiao das seCDiBtes eQpressIes FXCicas; a) A ] + e TESTE M) NO#E ] KPEDROL oD !OR ij KBraBcoL c) Bo TESTE oD B mod 2 ] 0)> d) ! i +0 oD TESTE e !OR ] KpretoL e) Acc2 ^ sUrtT!V ] 5 e TA ^ trDBcTB ^ !V j +5 oD NO#E ] KABaL G) TESTE e Bo TESTE 2) DetermiBar os resDFtados UDe estaro em cada Dma das JariOJeis deGiBidas Bos aFCoritmos aMaiQo; a) iBicio NU#: D+: D2: D5: D6 ; iBteiro[ NU# +5>2[ D6 NU# mod +0[ D5 TNU# diJ +0V mod +0[ D2 TNU# diJ +00V mod +0[ D+ TNU# diJ +000V mod +0[ Gim) M) iBicio QUA$E; caracter l+>m[ NU#; iBteiro[ NU# +0; se NU# j 0 eBto QUA$E KBDmero positiJoL[ seBo se NU# i 0 eBto QUA$E KBDmero BeCatiJoL[ seBo QUA$E KReroL[ Gimse[ Gimse[ Gim) c) eQecDtar o aFCoritmo B trocaBdo +0 por 0 e depois por &6 d) iBicio A: B: !; FoCico[ 8: r; reaF[ 1: $; iBteiro[ A %[ B 1[ ! %[ 8 +)>[ r 5)2[ 8 8 ^ +[ se ! oD TT 8 ^ r j >V oD T Bo A e BVV eBto $ 0[ seBo $ +[

56

Gimse[ Gim)

5>

5) O UDe estO errado Bo aFCoritmo aMaiQo; iBicio N: PAR: 8 ; iBteiro[ Feia TNV[ 8 N mod 2[ se 8]0 eBto PAR 1[ seBo PAR %[ Gimse[ Gim) 6) Um cXdiCo estO correto se Gor maior UDe +00: oD iCDaF a >0) EscreJer Dm aFCoritmo portDCoF UDe teste este JaFor e some + Bo cXdiCo se eFe estiJer errado) >) Uma data Jem acompaBHada de Dm campo cHamado D"ASE#: cDWo JaFor E +&domiBCo:2& seCDBda:))))EscreJer Dm aFCoritmo portDCoF UDe JeriGiUDe se o D"ASE# E Dm dia PtiF & semaBa iBCFesa) ,) EscreJer Dm aFCoritmo UDe teste 5 JaFores BDmEricos e deJoFJa a iBGormao KOKL se; TA deJe ser maior do UDe +0 e meBor do UDe +00V oD TB deJe ser diGereBte de ! e ! deJe ser maior do UDe >0V *) !riar aFCoritmos para soFDcioBar os iteBs aMaiQo; aV GaRer Dm aFCoritmo portDCoF UDe Feia Dm BPmero e determiBe se o JaFor E par oD impar) MV GaRer Dm aFCoritmo portDCoF UDe Feia Dm JaFor reGereBte ao aBo e JeriGiUDe se eFe E MisseQto oD Bo) ?) Uma aCABcia de casameBto possDN Dm cadastro coBteBdo os seCDiBtes dados de pessoas iBscritas; Bome: seQo: cor de oFHos: aFtDra: cor de caMeFo e aBo de BascimeBto) a) Dm americaBo coBtatoD a aCABcia e pediD Dma moa de atE 2> aBos com +),0 de aFtDra: FoDra oD rDiJa de oFHos aRDis[ M) Dma aFem preteBde WaBtar esta Boite com Dm seBHor de mais de >0 aBos: com aFtDra eBtre +)*> e +)?0: moreBo de oFHos pretos !riar Dm aFCoritmo portDCoF UDe Feia os dados das pessoas iBscritas e imprima o Bome das pessoas UDe ateBdem ao item a e M) 0) Dados 5 JaFores 8: r: 7 JeriGicar se eFes podem ser os comprimeBtos dos Fados de Dm tri`BCDFo e: se Gorem: JeriGicar se E tri`BCDFo eUDiFOtero: isXsceFes oD escaFeBo) Propriedades & o comprimeBto de cada Fado de Dm tri`BCDFo E meBor do UDe a soma dos oDtros 2 Fados EUDiFOtero & 5 Fados iCDais "sXsceFes & 2 Fados iCDais EscaFeBo & 5 Fados diGereBtes +0) !riar Dm aFCoritmo portDCoF UDe caFcDFe a mEdia GiBaF das Botas de Dm aFDBo) O aFCoritmo deJe Fer; o Bome do aFDBo: Bota do +o Mimestre: Bota do 2o Mimestre: Bota do 5o Mimestre e Bota do 6o Mimestre) !aFcDFar a mEdia aritmEtica das Botas e imprimir o Bome do aFDBo e a meBsaCem; waproJado_ & mEdia de +00 atE *0[ weQame GiBaF_ & mEdia aMaiQo de *0 atE 60[ wreproJado_ & mEdia aMaiQo de 60)

5,

++) !riar Dm aFCoritmo portDCoF UDe JeriGiUDe se Dma data estO correta oD Bo & DtiFiRar JaFores FXCicos; #As & eBtre + e +2 Dia & + a 2? & mAs 2 e aBo Bo MisseQto + a 20 & mAs 2 e aBo MisseQto + a 50 & meses 6: ,: 0: ++ + a 5+ & meses restaBtes +2) O Depto de #eio AmMieBte maBtEm 5 Fistas de iBdPstrias coBHecidas por serem aFtameBte poFDeBtes da atmosGera) Os resDFtados de JOrias medidas so comMiBados para Gormar o UDe E cHamado de NBdice de poFDio) "sto E coBtroFado reCDFarmeBte) NormaFmeBte os JaFores caem eBtre 0)0> e 0)2>) Se o JaFor atiBCir 0)50 as iBdPstrias da Fista A sero cHamadas a sDspeBder as operaIes atE os JaFores retorBarem ao iBterJaFo BormaF) Se o NBdice atiBCir 0)60 as iBdPstrias da Fista B sero BotiGicadas tamMEm) Se o NBdice eQceder 0)>0 iBdPstrias de todas as 5 Fistas sero aJisadas) Preparar Dm aFCoritmo portDCoF para Fer o NBdice de poFDio e iBdicar as BotaIes apropriadas) +5) !riar Dm aFCoritmo portDCoF UDe Feia o Bome: seQo e idade de caBdidatos a seFeo MrasiFeira de JoFeiMoF) !aso o participaBte seWa do seQo GemiBiBo com idade eBtre * e +0 aBos imprimir o Bome e a Grase nseFeo GemiBiBa WDJeBiFn: caso seWa do seQo mascDFiBo com idade eBtre ? e +2 aBos imprimir o Bome e a Grase nseFeo mascDFiBa WDJeBiFn) +6) !riar Dm aFCoritmo em portDCoF UDe Feia o Bome: idade e aFtDra de moas preteBdeBtes a maBeUDim proGissioBaF e imprimir o Bome da preteBdeBte e a Grase KaproJadaL: caso eFa teBHa idade eBtre +> e 20 aBos iBcFDsiJe: e teBHa aFtDra de +)*0 a +)?0 iBcFDsiJe) Em UDaFUDer oDtro caso: imprimir o Bome e a Grase nreproJadan) +>) !riar Dm aFCoritmo portDCoF UDe Feia o !=D"/O DO PRODUTO: DES!R"34O DO PRODUTO: QUANT"DADE E# ESTOQUE e QUANT"DADE #.N"#A: caso a UDaBtidade em estoUDe seWa meBor oD iCDaF a UDaBtidade mNBima imprimir a descrio do prodDto e a meBsaCem KestoUDe MaiQoL[ caso a UDaBtidade em estoUDe seWa maior do UDe a UDaBtidade mNBima imprimir o cXdiCo do prodDto e a diGereBa eBtre o estoUDe e a UDaBtidade mNBima em estoUDe) +,) !riar Dm aFCoritmo em portDCoF UDe Feia o NO#E DO PRODUTO: QUANT"DADE E# ESTOQUE: PRE3O UN"T2R"O: caso o preo DBitOrio seWa meBor oD iCDaF a Rt +:00 imprimir o Bome do prodDto e o JaFor a ser acrescido ao preo DBitOrio para cHeCar em Rt +:00[ caso o preo seWa maior do UDe Rt +:00 imprimir o Bome do prodDto e a meBsaCem Kpreo maiorL) +*) EscreJa Dm aFCoritmo PortDCoF UDe Feia a idade de Dm Badador e cFassiGiUDe&o; "DADE !$ASS"%"!A34O prE&mirim , * a +0 mirim ++ a +6 iBGaBtiF +> a +? WDJeBiF adDFto +0 imprimiBdo ao GiBaF a idade e sDa cFassiGicao +?) !riar Dm aFCoritmo PortDCoF UDe Feia a aFtDra e o seQo de Dma pessoa: caFcDFe e imprima seD peso ideaF) UtiFiRaBdo as seCDiBtes GXrmDFas; - para HomeBs ; *2:* c H a >? - para mDFHeres ; ,2:+ c H a 66:* +0) EscreJa Dm aFCoritmo em PortDCoF UDe Feia 6 BPmeros e imprima o maior deFes )

5*

20) EQercNcios de teste de mesa;


iBicio a: M: Q: \ ; reaF[ Feia Ta: MV[ se a]M eBto Q +:>[ \ 2:>[ seBo Q &+:>[ \ & 2:>[ Gimse[ imprima TQ: \V[ Gim) iBicio a: M: i: m ; reaF[ Feia TmV[ se m ij 0 eBto i trDBc TmY+2V[ a m Y +2[ M roDBd TmY+2V[ se m mod +2 j] , eBto i i ^ +[ Gimse[ imprima Ta: M: iV[ Gimse[ Gim) QDais JaFores sero impressos se Gorem Fidos 50[ +0[ 2*[ ,0 e 0d iBicio 8: r: 7 ; iBteiro[ 8 2[ r >[ 7 5[ se 8 i r eBto 8 8 ^ 2 ^ r c 6[ imprima T 8 V[ seBo r r ^ >[ 7 7 ^ r[ imprima T r: 7V[ Gimse[ imprima Tr: 7V[ Gim)

iBicio aDQ: F: m: B ; reaF[ Feia TF: m: BV[ se F j m oD F j B eBto se m i B eBto aDQ F[ F m[ m aDQ[ seBo aDQ F[ F B[ B aDQ[ Gimse[ Gimse[ se m j B eBto aDQ m[ m B[ B aDQ[ Gimse[ imprima TF: m: BV[ Gim) iBicio A: B: ! ; iBteiro[ A 6[ B &>[ ! 5[ se ! i B eBto A A ^ , ^ B c >[ imprima T A V[ seBo B B ^ +0[ ! ! ^ B[ imprima T B: !V[ Gimse[ imprima TB: !V[ Gim)

5?

50

2+) Em Dma cFasse so Geitos > eQames TA: B: !: D e EV) %aRer Dm aFCoritmo UDe Feia as Botas destes eQames e imprima a cFassiGicao do aFDBo: saMeBdo UDe a mEdia E *0) !FassiGicao; A a passoD em todos os eQames[ B a passoD em A: B e D: mas Bo em ! oD E[ ! a passoD em A e B: ! oD D: mas Bo em E) 22) Uma !ia de pDFJeriRao DtiFiRa aJio para pDFJeriRar FaJoDras) Os cDstos de pDFJeriRao depeBdem do tipo de praCa e da Orea a ser coBtratada coBGorme a taMeFa; Tipo + a erJas daBiBHas Rt >0:00 por acre[ Tipo 2 a CaGaBHotos Rt +00:00 por acre[ Tipo 5 a Mroca Rt +>0:00 por acre[ Tipo 6 a todos acima Rt 2>0:00 por acre) Se a Orea a ser pDFJeriRada Gor sDperior a +000 acres: o GaReBdeiro tem Dm descoBto de >s) Em adio: UDaFUDer GaReBdeiro cDWo cDsto Gor maior do UDe Rt *>0:00 tem Dm descoBto de +0s soMre o JaFor UDe DFtrapassar os Rt *>0:00) !aso amMos os descoBtos se apFicam o da Orea E caFcDFado aBtes) %aRer Dm aFCoritmo UDe Feia; Bome do GaReBdeiro: tipo de pDFJeriRao T+ a 6V e Orea a ser pDFJeriRada[ e imprima o Bome do GaReBdeiro e o JaFor a ser paCo) 25) #Ditos times de esportes proGissioBais DtiFiRam o compDtador para aDQiFiar Ba aBOFise de seDs WoCadores) SDpoBHa UDe Dm time de 'ocke\ teBHa Dm sistema deste tipo) Para cada WoCador eQistem os seCDiBtes dados; Bome do WoCador: idade: aFtDra: peso: CoFs Bo PFtimo campeoBato: preseBas Bo PFtimo campeoBato: peBaFidades em miBDtos Bo PFtimo campeoBato: Gator da coBGederao) %aRer Dm aFCoritmo UDe Feia os dados do WoCador e imprima sDa aJaFiao DtiFiRaBdo a GXrmDFa; TCoFs ^ preseBa ^ TpeBaFidades Y6V ^ TaFtDra ^ pesoVY> a idadeV c Gator) 26) A !ia PascoaFiBa $tda decidiD dar a seDs GDBcioBOrios Dma CratiGicao de POscoa) A CratiGicao E Maseada em dois critErios; o BPmero de Horas eQtras traMaFHadas e o BPmero de Horas UDe o empreCado GaFtoD ao traMaFHo) Para todos os GDBcioBOrios coFetoD&se os dados; Bome do GDBcioBOrio: Bx de Horas eQtra e Bx de Horas de GaFtas) A empresa decidiD DtiFiRar a seCDiBte GXrmDFa para caFcDFar o prAmio; sDMtrair dois teros das Horas UDe eFe GaFtoD de sDas Horas eQtras: e distriMDir o prAmio de acordo com a taMeFa; RESU$TADO DA %=R#U$A 1A$OR DO PR #"O j 60 Horas Rt >00:00 j 50 mas i] 60 Horas Rt 600:00 j 20 mas i] 50 Horas Rt 500:00 j +0 mas i] 20 Horas Rt 200:00 i] +0 Horas Rt +00:00 %aRer Dm aFCoritmo UDe Feia os dados do GDBcioBOrio e imprima seD Bome e seD prAmio)

60

!O#ANDOS DE REPET"34O
Parece FXCico UDe Dm aFCoritmo deJa ser criado para a eQecDo de Dm PBico coBWDBto de JaFores GorBecidos como eBtrada) Por eQempFo: ao escreJer o aFCoritmo de aproJao de aFDBos da discipFiBa de $XCica: precisa&se someBte preocDpar&se com Dm PBico aFDBo: pois a reCra de Dm JaFe para todos) No teria seBtido descreJer os mesmos procedimeBtos para todos os aFDBos da tDrma: pois isto seria iBtermiBOJeF: aFEm de deiQar o aFCoritmo especNGico para Dm determiBado BPmero de aFDBos) Da mesma Gorma: ao escreJer Dm proCrama de compDtador UDe caFcDFe o saFOrio de Dm empreCado: deJe&se imaCiBar apeBas Dm GDBcioBOrio e Bo os miFHares UDe o compDtador ira processar) A soFDo para este proMFema estO Bo reapreoJeitameBto de iBstrDIes do aFCoritmo) Em oDtras paFaJras: Dma JeR escrito o camiBHo priBcipaF do aFCoritmo: todos os oDtros dados TaFDBos oD GDBcioBOriosV iro passar peFo mesmo camiBHo) Os comaBdos eQisteBtes para este Gim so os cHamados comaBdos de repetio: eBtre eFes podemos citar; ENQUANTO: REP"TA e PARA) ENQUANTO Sem`Btica & a coBdio coBtida Bo ENQUANTO E aJaFiada: se eFa Gor GaFsa todos os comaBdos iBterBos ao ENQUANTO sero despreRados atE eBcoBtrar o %"#ENQUANTO correspoBdeBte: caso coBtrOrio: se a coBdio coBtida Bo ENQUANTO Gor Jerdadeira: os comaBdos iBterBos ao ENQUANTO sero eQecDtados atE eBcoBtrar o %"#ENQUANTO correspoBdeBte: Beste momeBto eQiste Dm desJio para o prXprio comaBdo ENQUANTO) A coBdio coBtida Bo ENQUANTO E BoJameBte aJaFiada e o processo reiBicia) SiBtaQe; eBUDaBto icoBdioj Gaa icomaBdo +j[ icomaBdo 2j[ ))))) icomaBdo Bj[ GimeBUDaBto[ EQempFo; !aFcDFar a soma dos BPmero iBteiros atE +00) iBicio SO#A:NU#; iBteiro[ SO#A 0[ NU# 0[

6+

eBUDaBto NU# i] +00 Gaa SO#A SO#A ^ NU#[ NU# NU# ^ +[ GimeBUDaBto[ imprima TSO#AV[ Gim) Se a coBdio coBtida Bo ENQUANTO Gor Dma KJerdade eterBaL: isto E: como + ] +: tem& se Dm Fao iBGiBito TFoopiBCV: pois os comaBdos BDBca deiQaro de serem eQecDtados) Por oDtro Fado: se a coBdio Gor sempre GaFsa TtaDtoFoCiaV eBto os comaBdos iBterBos ao ENQUANTO BDBca sero eQecDtados) %$U8O/RA#A PORTU/O$

% coBdio

ENQUANTO icoBdio j %A3A i comaBdo +j[ i comaBdo 2j[ ))))) icomaBdo Bj[ %"#ENQUANTO[

1 comaBdo +

comaBdo B

62

REPITA O comaBdo REP"TA: assim como o ENQUANTO: E Dma oDtra Gorma de repetir partes de Dm aFCoritmo) A riCor: com Dma PBica estrDtDra pode&se resoFJer todos os proMFemas: como demoBstrado peFos proGessores itaFiaBos em +0,,) EBtretaBto: criar Dm proCrama Bem sempre E Dm eQercNcio acadAmico) Nos meios acadAmicos o riCor cieBtiGico E o mais importaBte: e para taBto Bo eQiste pressa) Na Jida prOtica o riCor E importaBte Ba medida em UDe CaraBte a UDaFidade do processo: porEm Bo E Dm Gim em si mesmo) PortaBto: JisaBdo GaciFitar: aceFerar e simpFiGicar sDrCiram dois BoJos comaBdos de repetio; o REP"TA e o PARA) SiBtaQe; repita icomaBdo +j[ i comaBdo 2j[ ))) i comaBdo Nj[ atE icoBdiaoj[ Sem`Btica ; os comaBdos iBterBos ao REP"TA so eQecDtados atE eBcoBtrar a coBdio coBtida Bo AT< correspoBdeBte[ a coBdio coBtida Bo AT< correspoBdeBte E testada e seBdo GaFsa eQiste Dm desJio para o comaBdo REP"TA correspoBdeBte: e os comaBdos iBterBos a eFe so BoJameBte eQecDtados reiBiciaBdo o processo[ caso coBtrOrio: UDaBdo a coBdio coBtida Bo ATy Gor Jerdadeira o processo de repetio pOra e prosseCDe o GFDQo BormaF do aFCoritmo EQempFo; Somar os +00 primeiros BPmeros iBteiros positiJos) iBicio NU#: SO#A; iBteiro[ NU# +[ SO#A 0[ repita SO#A SO#A ^ NU#[ NU# NU# ^ +[ ate NU# j +00[ imprima TSO#AV[ Gim)

65

%$U8O/RA#A

PORTU/O$

comaBdo +

REP"TA i comaBdo +j[ i comaBdo 2j[ ))))) icomaBdo Bj[ AT< icoBdio j[

comaBdo B

% coBdio

UMA COMPARAO ENTRE OS COMANDOS ENQUANTO E REPITA ENQUANTO +) os comaBdos iBterBos ao eBUDaBto podem BDBca serem eQecDtados[ 2) o Fao do eBUDaBto E eQecDtado UDaBdo a coBdio Gor Jerdadeira[ 5) a estrDtDra eBUDaBto testa e GaR) REP"TA +) os comaBdos iBterBos ao repita so eQecDtados peFo meBos Dma JeR[ 2) o Fao do repita E reaFiRado UDaBdo a coBdio Gor GaFsa[ 5) a estrDtDra repita GaR e testa)

Em CeraF tDdo o UDe se GiRer com Dm dos comaBdos: pode&se GaRer com oDtro) A JaBtaCem E UDe para determiBadas sitDaIes Dm oD oDtro pode ser mais iBdicado: isto E: pode soFDcioBar o proMFema com meBos FXCica adicioBaF T%@' >'"&V: tais como coBtadores: cHaJes: testes: iBiciaFiRaIes: etc) E8ER!.!"OS
+) %aRer Dm aFCoritmo UDe Feia Dma Fista de BPmeros termiBada peFo BPmero 0 e mostre cada BPmero Fido TBo imprimir o 0V) 2) %aa Dm aFCoritmo UDe Feia Dm BPmero N: e a seCDir soFicite N BPmeros e mostre a soma dos N BPmeros)

66

5) EscreJa Dm aFCoritmo UDe Feia Dm BPmero iBteiro positiJo N) !aFcDFe e mostre o maior UDadrado meBor oD iCDaF a N) Por eQempFo: se N Gor iCDaF a 5?: o meBor UDadrado E 5, TUDadrado de ,V) 6) EscreJa Dm aFCoritmo UDe Feia Dm BPmero N: caFcDFe e mostre os N primeiros termos da seUDABcia T+: 5: ,: +0: +>: )))V >) EscreJa Dm aFCoritmo UDe Feia Dm BPmero N em Mase +0 e imprima o BPmero Mase 2 correspoBdeBte) ,) %aa Dm aFCoritmo UDe Feia Dm BPmero e: a seCDir: Feia Dma Fista de BPmero atE eBcoBtrar Dm iCDaF ao primeiro BPmero Fido) #ostre todos os BPmeros Fidos) *) EscreJa Dm aFCoritmo UDe Feia Dm BPmero N: some todos os BPmeros iBteiros eBtre + e N e mostre o resDFtado oMtido) ?) %aa Dm aFCoritmo UDe Feia Dma Fista de BPmeros termiBada peFo BPmero 0 e mostre cada BPmero Fido) Ao GiBaF: o aFCoritmo deJe mostrar a mEdia aritmEtica de todos os BPmeros da Fista) 0) EscreJa Dm aFCoritmo UDe Feia Dm BPmero N: caFcDFe seD GatoriaF e mostre o resDFtado oMtido) +0) EscreJa Dm aFCoritmo UDe Feia Dm BPmero N: caFcDFe todos os BPmeros primos Bo iBterJaFo eBtre 0 e N e mostre o resDFtado oMtido) ++) EscreJa Dm aFCoritmo UDe Feia Dm BPmero: caFcDFe Dma reFao de seDs diJisores e mostre o resDFtado oMtido) +2) EscreJa Dm aFCoritmo UDe Feia Dma Fista de BPmeros termiBada peFo BPmero 0 e UDe: para cada BPmero Fido: mostre o prXprio BPmero e Dma reFao de seDs diJisores) +5) %aa Dm aFCoritmo UDe Feia dois JaFores TFimite iBGerior e Fimite sDperiorV e mostre todos os BPmeros pares eBtre os dois Fimites Fidos) +6) %aa Dm aFCoritmo UDe Feia trAs JaFores TN: Fimite iBGerior: Fimite sDperiorV e mostre todos os BPmeros iBteiros mPFtipFos de N eBtre os dois Fimites Fidos) +>) Trocar os comaBdos eBUDaBto por repita; A 0[ eBUto T A ij 5V Gaca A A ^+[ imprima TAV[ GimeUto[ +,) TraBsGorme repita em eBUDaBto; A +0[ repita A A ^ +[ ate A j+0[ /' >[ repita imprima TAB!V[ ate /' ij >[ T 0[ repita T T ^ 0)>[ imprima T T c 2V[ ate T j +0[ 7 +0[ eBUto 7 j 0 Gaca 7 7 &5[ imprima T7V[ GimeBUto[ K >[ eBUto K i +0 Gaca K K ^ +)>[ imprima TKV; GimeBUto[

+*) QDais JaFores sero impressos eQecDtaBdo o aFCoritmo aMaiQo; iBicio

6>

A: Q: TER#O; reaF[ A +[ Q 5[ TER#O A[ repita imprima TTER#OV[ TER#O TER#OS c Q[ atE TER#O j] 2000[ %"#) +?) Dado o aFCoritmo aMaiQo: UDe JaFores seriam impressos se Gossem Fidos os JaFores 50[ +0[ 2*[ ,0 e 0) "Bicio A: B: " : # ; iBteiro[ Feia T#V[ se # ij 0 eBto " trDBc T#Y+2V[ A # Y+2[ B arred T#Y+2V[ se # mod +2 j] , eBto " " ^+[ Gimse[ imprima TA: B: "V[ Gimse[ %"#) +0) Dado o aFCoritmo aMaiQo: iBGormar o JaFor impresso caso seWam Fidos os JaFores 5[ ,[ ?[ +) "Bicio %AT: N: #U$T ; reaF[ Feia TNV[ %AT +[ #U$T N[ repita %AT %AT c #U$T[ #U$T #U$T & +[ atE #U$T i +[ imprima T%ATV[ %"#) 20) %aRer Dm aFCoritmo UDe Feia dois JaFores T8 e rV e imprima 8r: sem DtiFiRar o operador de potABcia TccV) 2+) !aFcDFar a soma dos +00 primeiros BPmeros pares) 22) TotaFiRe Dm coBWDBto de JaFores Fidos: seBdo todos positiJos) O Gim dos dados serO iBdicado por Dm BPmero BeCatiJo UDe Bo deJe ser somado) 25) $er Dm coBWDBto de BPmeros iBteiros: caso eFe seWa par deJe ser somado: caso seWa impar deJe ser mDFtipFicado) O coBWDBto termiBa UDaBdo Gor Fido 0) 26) !riar Dm aFCoritmo portDCoF UDe Feia; matrNcDFa: Bome: Bota +o Mimestre: Bota 2o Mimestre: Bota 5o Mimestre e Bota 6o Mimestre) O aFCoritmo deJe caFcDFar a mEdia aritmEtica GiBaF do aFDBo e imprimir o Bome do aFDBo e a meBsaCem; KaproJadoL& mEdia eBtre +00 atE *0 KeQame GiBaF K& mEdia aMaiQo de *0 atE 60 KreproJadoL& mEdia aMaiQo de 60

6,

2>) %aRer Dm aFCoritmo para caFcDFar e imprimir a soma dos cDMos dos BPmeros pares compreeBdidos eBtre B e A ) SDpoBHa UDe os JaFores de B e A TB j AV seWam Fidos Bo iBNcio do aFCoritmo) 2,) %aRer Dm aFCoritmo UDe Feia +00 BPmeros iBteiros positiJos: caFcDFe e imprima os UDe so BPmeros perGeitos) NPmero perGeito E aUDeFe cDWa soma de seDs diJisores: eQceto eFe prXprio: E iCDaF ao BPmero) EQempFo; , E perGeito porUDe + ^ 2 ^ 5 ] ,) 2*) Tem&se Dma estrada FiCaBdo JOrias cidades) !ada cidade tem seD marco UDiFomEtrico) %aRer Dm aFCoritmo UDe; aV Feia JOrios pares de dados: coBteBdo cada par os JaFores dos marcos UDiFomEtricos em ordem cresceBte: de dDas cidades) O PFtimo par coBtEm estes dois JaFores iCDais[ MV caFcDFe o tempo decorrido para percorrer a dist`Bcia eBtre estas dDas cidades: com as seCDiBtes JeFocidades; 60: ,0 e ?0 kmYH: saMeBdo&se UDe; T ] D Y 1: oBde T ] tempo[ D ] dist`Bcia e 1 ] JeFocidade) 2?) EQecDtaBdo o aFCoritmo aMaiQo: UDe JaFores sero impressosd "Bicio N: QUAD ; iBteiro[ N >[ eBUDaBto N j + Gaa QUAD N cc 2[ se QUAD mod 2 ] 0 eBto imprima TQUADV[ seBo imprima TNV[ Gimse[ N N & +[ GimeBUDaBto[ Gim) Os JaFores Fidos so; !AP"TA$ ] >0:00[ TA8A ] 0:+0[ 8 ] + iBicio !AP"TA$: #ONTANTE: N: TA8A: REND"#ENTO: TR"#ESTRE: 8; reaF[ Feia T!AP"TA$: TA8A: 8V[ #ONTANTE !AP"TA$[ TR"#ESTRE +[ N 6 c 8[ eBUDaBto TR"#ESTRE ij N Gaa REND"#ENTO TA8A c #ONTANTE[ #ONTANTE !AP"TA$ c TT + ^ TA8AV cc TR"#ESTREV[ "mprima T REND"#ENTO: #ONTANTEV[ TR"#ESTRE TR"#ESTRE ^ +[ GimeBUDaBto[ Gim)

20) O depto pessoaF de Dma empresa soFicitoD o deseBJoFJimeBto de Dm proCrama de compDtador capaR de caFcDFar o descoBto deJido para o "NSS) Assim: escreJa Dm aFCoritmo capaR de caFcDFar este descoBto; ) iBiciaFmeBte deJe ser Fido o JaFor do saFOrio de reGereBcia[ ) depois deJe&se Fer Dma sErie de dados compostos de; RC e saFOrio MrDto[ ) a sErie termiBa UDaBdo Gor Fido RC 0[ ) taMeFa de descoBto; saFOrio MrDto s descoBto atE +0 SR ? de +0:0+ a 20 SR 0 acima de 20 SR +0 ) imprimir para cada GDBcioBOrio o R/: saFOrio MrDto e descoBto) 50) DeGiBir Dm aFCoritmo portDCoF UDe receMa Dma sErie de pares de BPmeros: e para cada par caFcDFe a mEdia aritmEtica: imprimiBdo o resDFtado) A sErie termiBa UDaBdo Gor Fido o par 0:0) 5+) #eFaBcias cDstam Rt 6:>0 cada: se compradas atE > DBidades iBcFDsiJe) Rt 6:20 se compradas atE 20 DBidades iBcFDsiJe e Rt 6:00 se compradas atE +00 DBidades) AFEm deste JaFor: deJe ser dado Dm descoBto de +0s Bo JaFor totaF da compra) EscreJer Dm aFCoritmo portDCoF UDe receMa o BPmero de meFaBcias compradas e deJoFJa a UDaBtidade de reais a paCar) O proCrama deJe rodar atE receMer o BPmero Rero meFaBcias: UDe iBdica Gim)

6*

52) Uma empresa decidiD GaRer Dm FeJaBtameBto em reFao aos caBdidatos UDe se apreseBtaram para preeBcHimeBto de JaCas Bo seD UDadro de GDBcioBOrios) %aRer Dm aFCoritmo portDCoF UDe; Feia Dm coBWDBto de dados coBteBdo; ) BPmero de iBscrio do caBdidato[ ) idade[ ) seQo T%Y#V[ ) eQperiABcia Bo serJio TSYNV[ ) o PFtimo carto coBtEm o BPmero de iBscrio ] 0) caFcDFe; ) o BPmero de caBdidatos GemiBiBos[ ) o BPmero de caBdidatos mascDFiBos[ ) idade mEdia dos HomeBs UDe WO tem eQperiABcia Bo serJio[ ) porceBtaCem dos HomeBs com mais de 6> aBos eBtre totaF de HomeBs[ ) BPmero de mDFHeres UDe tem idade iBGerior a 5> aBos e com eQperiABcia Bo serJio) imprima ) o UDe Goi caFcDFado) 55) DeGiBa Dm aFCoritmo capaR de somar os primeiros >0 BPmeros mPFtipFos de 6: comeaBdo Bo 6 T 6: ?: +2: ))): 600V) O aFCoritmo deJe imprimir o resDFtado ao GiBaF) 56) Dada Dma sErie iBdetermiBada de BPmeros: escreJer Dm aFCoritmo portDCoF UDe caFcDFe e imprima; a) UDaBtos BPmeros Goram GorBecidos[ M) UDaBtos eram maiores UDe +00[ c) UDaBtos eram pares[ d) UDaBtos eram positiJos[ e) UDaF o maior JaFor) A sErie termiBa UDaBdo Gor diCitado o JaFor 0: DtiFiRar o comaBdo de repetio repita) 5>) NDma GOMrica traMaFHam HomeBs e mDFHeres diJididos em 5 cFasses; A & os UDe GaRem atE 50 peas por mAs[ B & os UDe GaRem de 5+ a 5> peas por mAs[ ! & os UDe GaRem mais de 5> peas por mAs) A cFasse A receMe saFOrio mNBimo) A cFasse B receMe saFOrio mNBimo e mais 5s do saFOrio mNBimo por pea acima das 50 iBiciais) A cFasse ! receMe saFOrio mNBimo e mais >s do saFOrio mNBimo por pea acima das 50 iBiciais) %aRer Dm aFCoritmo UDe; a) Feia Dm coBWDBto de dados coBteBdo cada Dm; BPmero do operOrio: BPmero de peas GaMricadas Bo mAs e seQo[ M) caFcDFe e imprima; ) saFOrio de cada operOrio[ ) totaF da GoFHa meBsaF de paCameBto[ ) BPmero totaF de peas GaMricadas Bo mAs[ ) mEdia das peas GaMricadas peFos HomeBs em cada cFasse[ ) mEdia de pecas GaMricadas peFas mDFHeres em cada cFasse[ ) BPmero do operOrio oD operOria de maior saFOrio T Bo eQiste empateV) O PFtimo dado a ser Fido terO BPmero de operOrio ] 0) 5,) %oi Geita Dma pesUDisa de aDdiABcia de caBaF de T1 em JOrias casas de Dma certa cidade: BDm determiBado dia) Para cada casa Jisitada Goi criado Dm coBWDBto de dados coBteBdo; BPmero do caBaF T6: >: *:+2V e o BPmero de pessoas UDe estaJam assistiBdo BaUDeFa casa) Se a teFeJiso estiJesse desFiCada Bada seria diCitado) %aRer Dm aFCoritmo UDe; ) Feia Dm BPmero iBdetermiBado de dados: seBdo UDe o GiBaF seria caBaF ]0[ ) caFcDFe e imprima a perceBtaCem de aDdiABcia para cada emissora e o respectiJo caBaF)

6?

5*) O CoJerBo das "FHas OMa OMa iBstitDiD Dm coBtroFe de preos e saFOrios FoCo apXs sDa eFeio) O Primeiro #iBistro receMeD de seDs coBseFHeiros ecoBbmicos Dma preJiso: Maseada Bas teBdABcias atDais: de UDe os saFOrios coBtiBDaro a aDmeBtar aBDaFmeBte de >s: o cDsto de Jida e de serJios de +0s: e os impostos de +>s) SeDs coBseFHeiros poFNticos iBGormam UDe: se os impostos mais o cDsto de Jida e de serJios coBsDmirem mais do UDe *>s do saFOrio aBDaF para Dm BPmero siCBiGicatiJo de cidados: eFe terO proMFemas Bas prXQimas eFeiIes e UDe: se isto atiBCir ?0s: eFe se JerO reaFmeBte em apDros) O Primeiro #iBistro tem coFetados os seCDiBtes dados; saFOrio aBDaF: os impostos e o cDsto de Jida e serJios para Dma amostra tomada de seDs eFeitores) Preparar Dm aFCoritmo para determiBar o BPmero e a perceBtaCem dos cidados estDdados UDe caem Bas cateCorias de *>s e ?0s WO descritas) O BPmero de pessoas da amostra E descoBHecido) O BPmero de eBtreJistados termiBa UDaBdo Gor Fido o saFOrio aBDaF 0)

PARA O prXQimo comaBdo dispoBNJeF para coBtroFar KFoopsL ateBde peFo Bome de PARA: tamMEm coBHecido como estrDtDra de repetio GiBita) O comaBdo PARA permite UDe JOrias iBstrDIes seWam eQecDtadas repetidameBte Dm BPmero predetermiBado de JeRes: mediaBte o Dso de Dma JariOJeF de coBtroFe UDe irO coBtroFar o iBNcio e o GiBaF da repetio: serJiBdo como acDmDFador) SiBtaQe; para iideBtiGicadorj de iJaFor iBicioj atE iJaFor GBaFj passo iiBcremeBtoj Gaa icomaBdo +j[ i comaBdo 2j[ ))) i comaBdo Bj; Gimpara[

oBde o ideBtiGicador E a JariOJeF de coBtroFe do Fao) Sem`Btica; +) aBtes de comear o trecHo iBcFDNdo Bo PARA: o ideBtiGicador de coBtroFe E iBiciaFiRado peFo JaFor de iBicio[ 2) se o JaFor do ideBtiGicador de coBtroFe Gor meBor oD iCDaF ao JaFor GiBaF o trecHo iBterBo ao PARA E eQecDtado: caso coBtrOrio: se o JaFor do ideBtiGicador de coBtroFe Gor maior do UDe o JaFor GiBaF o processo de repetio termiBa e o aFCoritmo prosseCDe seD cDrso Bo comaBdo imediatameBte apXs o %"#PARA correspoBdeBte[ 5) ao cHeCar ao %"#PARA correspoBdeBte o ideBtiGicador de coBtroFe E iBcremeBtado do JaFor do iBcremeBto[ 6) HO Dm desJio para a FiBHa do comaBdo PARA: e o processo reiBicia a partir do passo 2 acima: com idABticas saNdas)

60

OMserJaIes soMre o comaBdo; & deBtro dos comaBdos iBterBos ao PARA o ideBtiGicador de coBtroFe do Fao Bo pode ser aFterado[ & os JaFores de iBicio: GiBaF e iBcremeBto podem ser BPmeros: JariOJeis oD eQpressIes: as UDais tamMEm Bo podem ser aFteradas peFos comaBdos iBterBos ao PARA[ & UDaBdo o JaFor do iBcremeBto Gor +: este pode ser omitido[ & o JaFor do iBcremeBto pode ser BeCatiJo: Beste caso o JaFor iBicio do ideBtiGicador de coBtroFe deJe ser maior do UDe seD JaFor GiBaF) %$U8O/RA#A PORTU/O$

para iJar j de iiBicioj atE iGimj passo iJaForj

PARA iJariOJeFj DE iiBicioj AT< iGiBaFj PASSO iiBcremeBtoj %A3A icomaBdo +j[ i comaBdo 2j[ ))) i comaBdo Bj[ %"#PARA[

comaBdo +

comaBdo B

EQempFo; USANDO O !O#ANDO PARA para " de + atE +0 passo 2 Gaa imprima T"V[ Gimpara[ USANDO O !O#ANDO ENQUANTO " +[ eBUDaBto " i] +0 Gaa imprima T"V; " " ^ 2[ GimeBUDaBto[

>0

para " de + atE 20 passo + Gaa SO#A SO#A ^ "[ Gimpara[

OU

para " de + atE 20 Gaa SO#A SO#A ^ "; Gimpara[

E8ER!.!"OS
+) SDMstitDir Para por EBUDaBto; para @ de + atE 20 Gaa 8 @ Y5[ imprima T8V; Gimpara[ para SE#ENTE de 0 atE +00 passo 2 Gaa SE#+ SE#ENTE c 2[ SE#2 SE#ENTE ^ +)> c AB![ #ED"A TSE#+ ^ SE#2V Y2[ imprima T#ED"AV[ Gimpara[ 2) EscreJa Dm aFCoritmo portDCoF UDe imprima Dma taMeFa de aBCDFos: seDs seBos e cosseBos: para todos os aBCDFos de 0 a 00 CraDs) EQempFo; ABCDFo SeBo !osseBo 0 0 + + ))) ))) 5)DeGiBir Dm aFCoritmo UDe iBGorme o JaFor de ': seBdo N Fido Bo iBNcio do aFCoritmo; + + + + + ' ] &&&&&&& ^ &&&&&&&& ^ &&&&&&&&& ^ &&&&&&&&& ^ )))) ^ &&&&&&&& + 2 5 6 N 6) %aRer Dm aFCoritmo portDCoF UDe caFcDFe e imprima a seCDiBte soma; + 5 > * S ] &&&&& ^ &&&&& ^ &&&&& ^ &&&&& ^ ))) ^ + 2 5 6 00 &&&&&& >0

>) DeGiBa Dm aFCoritmo portDCoF UDe caFcDFe e imprima o somatXrio eQpresso peFa seCDiBte sErie; >00 6?0 6,0 20 S ] &&&&& ^ &&&&& ^ &&&&& ^ ))) ^ &&&&&& 2 5 6 2, ,) %aRer Dm aFCoritmo UDe escreJa a soma dos >0 primeiros termos da seCDiBte sErie; +000 00* 006 00+ &&&&&&&& & &&&&&&& ^ &&&&&&& & &&&&&&& ^ )))))

>+

*) %aRer Dm aFCoritmo para caFcDFar e escreJer a seCDiBte soma; 5* c 5? S ] &&&&&&&&&& + ^ 5, c 5* &&&&&&&&& ^ 2 5> c 5, &&&&&&&&&& ^ ))))) 5 +c2 ^ &&&&&& 5*

?) %aRer Dm aFCoritmo UDe caFcDFe e imprima a seCDiBte soma; 2+ 22 25 S ] &&&&& ^ &&&& ^ &&&&& ^ ))))) >0 60 6? 2>0 ^ &&&&&& +

0) DeGiBir Dm aFCoritmo para caFcDFar o JaFor da seCDiBte soma: seBdo N Fido Bo iBNcio do aFCoritmo; + + + + + S ] &&&&&&& ^ &&&&&&&& ^ &&&&&&&&& ^ &&&&&&&&& ^ )))) ^ &&&&&&&& +o 2o 5o 6o No +0) %aRer Dm aFCoritmo UDe caFcDFe o JaFor do co&seBo de 8 atraJEs de 20 termos da sErie aMaiQo[ 82 86 8, 8? coseBTQV ] + & &&&&&& ^ &&&&&& & &&&&&& ^ &&&&&& & )))) 2o 6o ,o ?o ++) O JaFor aproQimado de pode ser caFcDFado DsaBdo&se a sErie + + + + + S ] &&&&& & &&&& ^ &&&& & &&&& ^ &&&& & )))) +5 55 >5 *5 05
5

seBdo ] T S c 52V ) %aRer Dm aFCoritmo para caFcDFar e imprimir o JaFor de com >+ termos)

>2

RESUMO )"P"TI,-O A- ENQUANTO &n#uanto a condi.o "or %&'()(&*')! o con=unto de comandos 1 executado. Se a condi.o 1 ,)-S) o con=unto :;+ 1 executado (testa e faz) ENQUANTO i coBdio j %A3A comaBdo +[ comaBdo B[ %"#ENQUANTO[ B- REPITA -+s comandos internos a ele s.o executados ao menos uma ve>! independente da condi.o(faz e testa) - + lao '&2*T) 1 reali>ado se a condi.o "or ,)-S) REP"TA comaBdo + v comaBdo B AT< icoBdioj[ C- PARA 2ressup3e a exist$ncia de uma varivel #ue controla o incio e o "im Sempre pode ser convertido num &:B9):T+
PARA JariOJeF DE JaFor+AT< JaFor2 PASSO JaFor5 %A3A comaBdo + v comaBdo B %"#PARA[

>5

E8ER!.!"OS
+) EscreJa Dm aFCoritmo PortDCoF UDe Feia Dma sErie de BPmeros iBteiros e positiJos e ao GiBaF do processameBto imprima UDaF o maior deFes) O processameBto se eBcerra UDaBdo Gor Fido UDaFUDer BPmero BeCatiJo UDe Bo deJe ser coBsiderado para eGeito de comparao) 2) EQiste Dm coBWDBto de mDitos BPmeros iBteiros e positiJos: aCrDpados 5 a 5) DeJe&se escreJer Dm aFCoritmo portDCoF capaR de; a) Fer os 5 BPmeros[ M) ideBtiGicar o maior deFes: e reWeitO&Fo[ c) caFcDFar a mEdia eBtre os 2 BPmeros restaBtes[ d) imprimir os 2 BPmeros e a mEdia) A pesUDisa termiBa UDaBdo o primeiro BPmero dos 5 Fidos Gor BeCatiJo) 5) EscreJer Dm aFCoritmo portDCoF UDe receMa coBWDBtos de 2 BPmeros iBteiros e positiJos: e para cada par caFcDFe o #D! T mOQimo diJisor comDmV de acordo com o AFCoritmo EDcFidiaBo para o #D!: cDWa descrio E; +) eBtram 2 JaFores N+ e N2[ 2) N+ receMe o JaFor aMsoFDto de N+ e N2 receMe o JaFor aMsoFDto de N2[ 5) caFcDFa&se 8 UDe E N+ meBos T N2 JeRes T iBteiro de N+YN2VV[ 6) se 8 Gor Rero: o #D! E N2[ >) se Bo Gor: N+ receMe N2 e N2 receMe 8: JoFtaBdo&se ao passo 2) O proCrama termiBa UDaBdo Gor Fido o par 0:0: UDe Bo deJe ser processado) 6) A comisso orCaBiRadora de Dm raFF\e aDtomoMiFNstico decidiD apDrar os resDFtados da competio atraJEs de Dm processo iBGormatiRado) Um dos aFCoritmos BecessOrios para a cFassiGicao das eUDipes coBcorreBtes E o UDe emite Dma FistaCem CeraF do desempeBHo das eUDipes: atriMDiBdo poBtos seCDBdo determiBadas Bormas) O aFCoritmo deJerO; ) Fer ; a) Dm campo coBteBdo os tempos padro Tem miBDtos decimaisV para as 5 Gases de competio[ M) Dm coBWDBto de dados coBteBdo cada Dm o BPmero de iBscrio da eUDipe e os tempos Tem miBDtos decimaisV UDe as mesmas despeBderam ao cDmprir as 5 diGereBtes etapas) O PFtimo dado do coBWDBto coBtEm o BPmero 0000 como BPmero de iBscrio) ) caFcDFar; a) os poBtos de cada eUDipe em cada Dma das etapas: seCDiBdo o seCDiBte critErio; seWa o JaFor aMsoFDto da diGereBa eBtre o tempo padro e o tempo despeBdido peFa eUDipe BDma etapa; i 5 miBDtos & atriMDir +00 poBtos a etapa 5 i] i] > miBDtos & atriMDir ?0 poBtos a etapa j > miBDtos & atriMDir ?0 a T & >V poBtos a etapa M) o totaF de poBtos de cada eUDipe Bas 5 etapas[ c) a eUDipe JeBcedora) ) imprimir; para cada eUDipe: o BPmero de iBscrio: os poBtos oMtidos em cada etapa e o totaF de poBtos oMtidos Ba proJa toda) >) DeseWa&se GaRer Dma pesUDisa a respeito do coBsDmo meBsaF de eBerCia eFEtrica em Dma determiBada cidade) Para isso: deJe ser Fido os seCDiBtes dados; & preo do KSH coBsDmido[ & BPmero do coBsDmidor[ & UDaBtidade de KSH coBsDmidos dDraBte o mAs[ & cXdiCo do tipo de coBsDmidor T resideBciaF: comerciaF: iBdDstriaFV)

>6

O processo termiBa UDaBdo o BPmero do coBsDmidor Gor 0) %aRer Dm aFCoritmo UDe; +) Feia os dados acima[ 2) caFcDFe; aV para cada coBsDmidor: o totaF a paCar[ MV o maior coBsDmo JeriGicado[ cV o meBor coBsDmo JeriGicado[ dV o totaF do coBsDmo para cada Dm dos 5 tipos de coBsDmidores[ eV a mEdia CeraF de coBsDmo) 5) imprima; aV para cada coBsDmidor; seD BPmero e totaF a paCar[ MV o UDe Goi caFcDFado Bos iteBs M: c: e d acima) ,) Uma compaBHia de teatro pFaBeWa dar Dma sErie de espetOcDFos) A direo caFcDFa UDe: a Rt >:00 o iBCresso: sero JeBdidos +20 iBCressos: e as despesas moBtaro em Rt 200:00 ) A dimiBDio de Rt 0:>0 Bo preo dos iBCressos espera&se UDe HaWa Dm aDmeBto de 2, iBCressos JeBdidos) %aRer Dm aFCoritmo UDe imprima Dma taMeFa de JaFores do FDcro esperado em GDBo do preo do iBCresso: GaReBdo&se Jariar este preo de Rt >:00 a Rt +:00 de Rt 0:>0 em Rt 0:>0) "mprima: aiBda: o FcDro mOQimo esperado: o preo e o BPmero de iBCressos correspoBdeBtes) *) Tem&se Dma estrada FiCaBdo JOrias cidades) !ada cidade tem seD marco UDiFomEtrico) %aRer Dm aFCoritmo UDe; & Feia JOrios pares de dados: coBteBdo cada par os JaFores dos marcos UDiFomEtricos em ordem cresceBte: de dDas cidades) O PFtimo par coBtEm estes dois JaFores iCDais[ & caFcDFe os tempos decorridos para percorrer a dist`Bcia eBtre estas dDas cidades: com as seCDiBtes JeFocidades; 20: 50: 60: >0: ,0: *0 e ?0 KmYHora: saMeBdo&se UDe; T ] E Y 1: oBde T ] tempo[ E ] espao[ 1 ] JeFocidade[ & imprima os marcos UDiFomEtricos: a JeFocidade e o tempo decorrido eBtre as dDas cidades: apeBas UDaBdo este tempo Gor sDperior a 2 Horas) ?) Um comerciaBte deseWa GaRer o FeJaBtameBto do FDcro das mercadorias UDe eFe comerciaFiRa) Para isto: deJe ser Fido os seCDiBtes dados: para cada mercadoria; o Bome: preo de compra e preo de JeBda) %aRer Dm aFCoritmo UDe; & determiBe e imprima UDaBtas mercadorias proporcioBam; FDcro i +0s +0s i] FDcro i] 20s FDcro j 20s & determiBe e imprima o JaFor totaF de compra e JeBda de todas as mercadorias: assim como FDcro totaF) & O processo termiBa UDaBdo Gor GiBaF de arUDiJo 0) SeWam dois poBtos PTQ+:\+V e QTQ2:\2V Bo pFaBo) %aRer Dm aFCoritmo: DtiFiRaBdo a GXrmDFa aMaiQo: UDe caFcDFe e mostre a dist`Bcia eBtre os dois poBtos: repetidas JeRes atE UDe o DsDOrio diCite Reros para as coordeBadas Q+: Q2: \+: \2) D ] sUrtT TQ2 a Q+V2 ^ T\2 a \+V2 V +0) %aRer Dm aFCoritmo: DsaBdo estrDtDra de repetio: UDe caFcDFe e imprima a soma dos >0 primeiros termos da sErie; 6?0 6*> 6*0 6,> S ] &&&&&& ^ &&&&&& ^ &&&&&& ^ &&&&&& ^ )))) +0 ++ +2 +5

>>

++) %aRer Dm aFCoritmo: DsaBdo estrDtDra de repetio: UDe caFcDFe e imprima o somatXrio dos 20 primeiros termos; ,+ >0 >* S ] & ,5 ^ &&&&&& & &&&&&& ^ &&&&&& & )))) +o 2o 5o +2) %aRer Dm aFCoritmo UDe caFcDFe e imprima os primeiros 60 termos da sErie; S] +o 2o 5o 6o >o &&&& & &&&& ^ &&&& & &&&& ^ &&&& & ))) + 5 * +> 5+

+5) %aRer Dm aFCoritmo UDe caFcDFe e imprima o JaFor de S Bo seCDiBte somatXrio; + 2 6 ? S ] &&&& & &&&& ^ &&&& & &&&& ^ ))) 22> +0, +,0 +66 +,5?6 ^ &&&& +

+6) %aRer Dm aFCoritmo para taMDFar a GDBo \ ] GTQV ^ CTQV: para Q ] +:2:5:6:))): +0: oBde; HTQV ] Q2 & +, GTQV ] HTQV: se HTQV j] 0 +: se HTQV i0 +>) %aRer Dm aFCoritmo UDe taMDFe a seCDiBte GDBo; Q2 ^ 5Q ^ \2 GTQ:\V ] &&&&&&&&&&&&&&&&&&&&& Q\ & >\ & 5Q ^ +> +,) EQercNcios de teste de mesa; iBicio a: B: seBo: t ; reaF[ imprima T KA seBo A a 0[ repita seBo 0[ t a[ B 0[ repita seBo seBo ^ t[ B B ^ +[ atE aMsTtV i 0:000+[ imprima Ta: seBo: BV[ a a ^ 0:+[ atE a j +:,[ Gim) iBicio a: U: termo ; reaF[ a +[ NLV[ iBicio d: k: BDm: soma ; reaF[ Feia TBDmV[ soma BDm ^ +[ k BDm diJ 2[ d 2[ repita se BDm mod d ] 0 eBto soma soma ^ d[ Gimse[ d d ^ +[ atE d j k[ imprima TsomaV[ Gim) QDaF JaFor serO impresso UDaBdo Gor Fido 50d para Q ] +: 6: 0: +,: ))): +00[ e \ ] 0: +: 2:))): > para cada JaFor de Q) CTQV ] Q2 ^ +,: se GTQV ] 0 0: se GTQV j 0

t & t c Tacc2 Y T 2cBcT2cB^+VVV[

>,

U 5[ termo a[ repita imprima TtermoV[ termo termo c U[ atE termo j] 2000[ Gim)

>*

NO OS TIPOS DE DADOS
!riar Dm aFCoritmo portDCoF UDe Feia a Bota de +0 aFDBos: caFcDFe a mEdia destas Botas e imprima o BPmero de aFDBos com Bota aMaiQo da mEdia: Ba mEdia e acima da mEdia) Para soFDcioBar o eQercNcio acima Becessita&se criar +0 JariOJeis de Bota: seBdo Dma para cada aFDBo: Dma JariOJeF soma e Dma JariOJeF mEdia) No E Bada eQaCerado: porEm caso Becessite&se reaFiRar a mesma tareGa acima para Dma tDrma de +20 aFDBos: o processo Gica compFicado Z BNJeF de deGiBio de JariOJeis) No caso acima Gica cFaro UDe os tipos de dados primitiJos TiBteiro: reaF: caracter e FXCicoV Bo E sDGicieBte para represeBtar toda e UDaFUDer iBGormao UDe possa sDrCir) PortaBto: em mDitas sitDaIes Becessita&se KcoBstrDir BoJos tipos de dadosL a partir da composio de tipos primitiJos) Estes BoJos tipos tem Dm Gormato deBomiBado EstrDtDra de Dados: UDe deGiBe como os tipos primitiJos de dados esto orCaBiRados) 1oFtaBdo Z comparao da memXria com Dm armOrio de CaJetas: em Dm primeiro momeBto Dma CaJeta poderia comportar apeBas Dma iBGormao e: seCDBdo esse BoJo coBceito: Dma CaJeta pode comportar Dm coBWDBto de iBGormaIes primitiJas: desde UDe deJidameBte orCaBiRadas) Estes BoJos tipos so estraBHos ao aFCoritmo FoCo deJem ser decFarados em cada detaFHe de sDa estrDtDra) Desta Gorma: assim como Ba Teoria dos !oBWDBtos: Dma JariOJeF pode ser iBterpretada como Dm eFemeBto e Dma EstrDtDra de Dados como Dm coBWDBto) QDaBdo Dma determiBada EstrDtDra de Dados Gor composta de JariOJeis com o mesmo tipo primitiJo: temos Dm coBWDBto HomoCABeo de dados: porEm: caso os eFemeBtos do coBWDBto Bo seWam do mesmo tipo primitiJo de dados: eBto diR&se Dm coBWDBto HeteroCABeo de dados) Os BoJos tipos de dados podem ser cFassiGicados da seCDiBte Gorma; tipos de dados HomoCABeos DBidimeBsioBais a Jetores mDFti&dimeBsioBais a matriRes tipos de dados HeteroCABeos a reCistros) A DtiFiRao deste tipo de estrDtDra de dados receMe diJersos Bomes como; JariOJeis iBdeQadas: JariOJeis compostas: JariOJeis sDMscritas: arraBWos: Jetores: matriRes: taMeFas em memXria oD " "E) Neste coBteQto DtiFiRaremos os Bomes; Jetores: matriRes e reCistros)

1ETORES
1etores so estrDtDras de dados HomoCABeas DBidimeBsioBais e sDa DtiFiRao mais comDm estO JiBcDFada Z criao de taMeFas) Este BoJo tipo de dado permite a criao de mDitas JariOJeis de mesmo tipo de dado: UDe ateBdero peFo mesmo Bome: e UDe sero acessadas peFo desFocameBto deBtro do Jetor TNBdicesV)

>?

Para eBteBder JariOJeis compostas DBidimeBsioBais: imaCiBa&se Dm ediGNcio com Dm BPmero GiBito de aBdares: represeBtaBdo Dma estrDtDra de dados: e seDs aBdares: partiIes desta estrDtDra) 1isto UDe os aBdares so Dma seCmeBtao direta do prEdio: estes compIem eBto o UDe E cHamado de estrDtDra DBidimeBsioBaF: isto E: Dma sX dimeBso) C%&'()* +, ,-*%,. A decFarao de Jetores em aFCoritmos dO&se em dDas etapas; +x) deJemos deGiBir Dm BoJo tipo de dado UDe JirO a se WDBtar aos WO eQisteBtes TiBteiro: reaF :caracter e FXCicoV: e UDe JiCorarO deBtro deste MFoco de proCrama) T"PO iBome do tipoj ] 1ETOR l Fim iBG ; Fim sDpm itipo de dado WO eQisteBtej[ OBde; Fim iBG a Fimite iBGerior do Jetor[ Fim sDp a Fimite sDperior do Jetor) 2x) deJemos iBGormar ao aFCoritmo UDais JariOJeis podero coBter este BoJo tipo de dado) iideBtiGicador +j: iideBtiGicador 2j : ))) : iideBtiGicador Bj ; iBome do BoJo tipoj[ O BPmero de eFemeBtos de Dm Jetor serO dado por $im SDp a $im "BG ^ +) "sto siCBiGica UDe as posiIes do Jetor so ideBtiGicadas a partir de $im "BG: com iBcremeBtos DBitOrios atE $im SDp) EQempFo; +) DeGiBir Dm Jetor para coBter as taQas iBGFacioBOrias dos +2 PFtimos meses; T"PO 1ET"N% ] 1ETOR l +; +2m reaF[ "N%$A!AO ; 1ET"N%[ 2) DeGiBir Dm Jetor para coBter os Bomes de ,0 aFDBos; T"PO 1ET+ ] 1ETOR l +; ,0m caracterl>0m[ NO#E ; 1ET+[ A/,..* '*. D'+*. Ao imaCiBar Dm eFeJador de Dm prEdio saMe&se UDe este E capaR de acessar UDaFUDer Dm de seDs aBdares) EBtretaBto: Bo Masta saMer UDe aBdar deseWamos atiBCir se Bo soDMermos o Bome do ediGNcio) $oCo: Becessita&se ter coBHecimeBto do Bome do ediGNcio para eBto procDrar o aBdar deseWado) O mesmo acoBtece com os Jetores: Jisto UDe so compostos por diJersas JariOJeis) TorBa& se: eBto: BecessOrio deGiBir o Bome do Jetor UDe coBtEm os dados deseWados e depois especiGicar em UDaF posio a iBGormao se eBcoBtra) ApXs isoFar Dm PBico eFemeBto do Jetor: pode&se maBipDFa&Fo atraJEs de UDaFUDer operao de eBtrada: saNda oD atriMDio) O acesso aos dados pode ser Geito das seCDiBtes maBeiras;
>0

/eBericameBte & coBsidera&se Dm PBico JaFor para todas as ocorrABcias do Jetor; 1ET1EN 0[ !oBWDBtameBte & DtiFiRa&se Dm coBWDBto de mesmo BPmero de eFemeBtos Ba reGereBcia ao Jetor; Tipo 1 ] 1ETOR l + ; >m iBteiro[ 1ET1EN ; 1[ 1ET1EN T + 2 5 6 >V[ "BdiJidDaFmeBte & pressDpIem a eQistABcia de Dm comaBdo para cada eFemeBto do Jetor Tipo 1ET ] 1ETOR l +; >m iBteiro[ 1+; 1ET[ 1+l+m 2[ 1+l2m >[ 1+l5m ,[ 1+l6m 0[ 1+l>m 25[ Pode&se oMserJar Beste eQempFo UDe o Bome T1+V E Dm sX: o UDe mDda E a iBGormao iBdicada deBtro dos coFcHetes T+ atE >V) Este JaFor E o NBdice UDe iBdica o eBdereo oBde o eFemeBto estO armaReBado) < BecessOrio saFieBtar a diGereBa eBtre o coBtePdo do Jetor T 2: >: ,: 0: e 25V e seD eBdereo: UDe E represeBtado peFo NBdice) Estas 5 maBeiras de acesso ao Jetor apFicam&se O iBiciaFiRao do Jetor: isto E: podem ser DtiFiRados peFos comaBdos de atriMDio T V e eBtrada de dados T Feia V) TamMEm podemos DtiFiRar esta siBtaQe Bo caso de saNda de dados: isto E: o comaBdo imprima) EQempFo; DeGiBir Dm aFCoritmo UDe Feia Dm Jetor de +20 eFemeBtos iBteiros e imprima o somatXrio de seDs eFemeBtos e os eFemeBtos) iBicio Tipo 1ET ] 1ETOR l+;+20m iBteiro[ 1 ; 1ET[ ": SO#A; iBteiro[ Feia T1ETV[ SO#A 0[ Para " de + ate +20 Gaca SO#A SO#A ^ 1l"m[ Gimpara[ imprima TSO#AV[ imprima T1V; Gim)

,0

E8ER!.!"OS +) !riar Dm Jetor para coBter a Bota dos +20 aFDBos da tDrma) 2) !riar Dm Jetor para coBter o PNB do BrasiF dos PFtimos ? aBos T?* a 06V) 5) !riar Dm aFCoritmo UDe deGiBa Dm Jetor de >00 posiIes e caFcDFe a soma dos coBtePdos impares) 6) !riar Dm aFCoritmo UDe deGiBa Dm Jetor para coBter +0>0 Bomes de caBdidatos e imprima os Bomes das posiIes impares) >) !riar Dm aFCoritmo UDe deGiBa Dm Jetor de ,00 posiIes e imprima o prodDto dos JaFores das posiIes pares) ,) EscreJer Dm aFCoritmo UDe deGiBa Dm Jetor com +2 eFemeBtos FXCicos e iBiciaFiRe os primeiros , com 1erdadeiro e os oDtros , com %aFso) *) EscreJer Dm aFCoritmo UDe Feia de Dma sX JeR Dm Jetor de +00 eFemeBtos BDmEricos iBteiros e imprima aUDeFes UDe Gorem maiores do UDe o JaFor +>0) ?) EscreJa Dm aFCoritmo UDe Feia 200 JaFores TDm a DmV: crie Dm Jetor com tais JaFores e iBGorme: a seCDir: UDaF a mEdia dos JaFores positiJos e UDaF a mEdia dos JaFores BeCatiJos) 0) %aRer Dm aFCoritmo: DsaBdo Jetores: UDe Feia +00 JaFores BDmEricos: e JeriGiUDe se eQistem eFemeBtos compoBdo o Jetor maiores UDe 6:0 e meBores UDe *:0 e UDaBtos so) +0) EscreJer Dm aFCoritmo UDe seWa capaR de Fer Dm coBWDBto de +0 JaFores T de Dma sX JeRV: caFcDFar a mEdia: e imprimir; todos os JaFores do coBWDBto: a mEdia e a diGereBa eBtre cada JaFor iBdiJidDaF e a mEdia caFcDFada) ++) !oBstrDir Dm aFCoritmo PortDCoF para GaRer a soma: posio a posio: de dois Jetores de +0 eFemeBtos cada e armaReBar o somatXrio de cada posio em Dm terceiro Jetor: tamMEm de +0 eFemeBtos) +2) $er +> eFemeBtos de Dm Jetor A e coBstrDir Dm Jetor B de mesmo tipo: oBde; Ktodo eFemeBto de B deJerO ser o UDadrado do eFemeBto de A correspoBdeBteL) +5) $er dois Jetores A com 20 eFemeBtos e B com +> eFemeBtos) !oBstrDir Dm Jetor !: seBdo este a WDBo dos dois Jetores aBteriores) Desta Gorma ! deJerO ter capacidade para armaReBar 5> eFemeBtos) +6) $er dois Jetores A e B com 20 eFemeBtos cada: coBstrDir Dm Jetor !: oBde cada eFemeBto de ! E a sDMtrao do eFemeBto correspoBdeBte de A com B)

,+

+>) $er Dm Jetor A com +> eFemeBtos: coBstrDir Dm Jetor B de mesmo tipo: seBdo UDe cada eFemeBto de B seWa o GatoriaF do eFemeBto correspoBdeBte em A) +,) "maCiBe Dm aFCoritmo capaR de Fer Dma eBtrada Gormada por atE ,0 caracteres: UDe correspoBdem a Dma Grase) Esta Grase termiBa UDaBdo Gor eBcoBtrado Dm poBto) O aFCoritmo deJe ser capaR de respoBder; a) UDaF o tamaBHo da Grase[ M) UDaBtas paFaJras eQistem Ba Grase[ c) UDaBtas JeRes a dDpFa KmaL apareceD Ba Grase) +*) DeseWamos aBaFisar o mapa de Dso de Dm disUDete) !omo saMemos Dm disUDete dDpFa& dDpFa de > +Y6 tem 2 Gaces: 60 triFHas e 0 setores por triFHa: o UDe dO Dm totaF de *20 setores) DeGiBir Dm aFCoritmo UDe Feia 20 Jetores T de Dma sX JeRV: UDe correspoBdem cada Jetor a Dm disco diGereBte: e determiBe UDaF o perceBtDaF de setores FiJres em cada Dm dos discos: imprimiBdo taF resDFtado) O Jetor E de iBteiros: e se eQiste Dm JaFor Rero: isto siCBiGica UDe o setor estO FiJre) QDaFUDer JaFor diGereBte de Rero: impFica em UDe o setor Bo estO FiJre) +?) EQiste Dm FiJro de 5*0 pOCiBas UDe Goi receBtemeBte impresso) A editora deseWa GaRer Dm estDdo soMre possNJeis erros de impresso) Desta Gorma: Dm especiaFista Goi coBJidado a FeJaBtar UDaBtos erros eQistem em cada pOCiBa) !ada JaFor Goi diCitado Ba Gorma de Dm Jetor: GormaBdo Dm coBWDBto de 5*0 JaFores) DeGiBir Dm aFCoritmo portDCoF UDe Feia este coBWDBto de dados: e respoBda; a) UDaF a pOCiBa UDe tem mais errosd TsDpoBHa UDe sX eQiste Dma e eFa E PBicaV M) UDaBtas pOCiBas tem Rero errosd c) UDaBtas pOCiBas tem mais de +0 errosd +0) Uma CraBde empresa tem seDs preos armaReBados Ba Gorma de trAs Jetores de ,>0 ocorrABcias cada) No primeiro: a UDem cHamaremos !OD esto os cXdiCos dos prodDtos & iBteiros) No oDtro Jetor: cHamado PRE: esto os preos de cada prodDto: Ba mesma ordem de aparecimeBto de !OD) No PFtimo: cHamado QTD: esto a UDaBtidade em estoUDe do prodDto: tamMEm Ba mesma ordem de !OD) EscreJer Dm aFCoritmo UDe Feia os Jetores coBteBdo cXdiCo: preo e UDaBtidade e imprima o cXdiCo e o JaFor em estoUDe de cada prodDto armaReBado e o JaFor totaF do estoUDe da empresa) 1A$OR ] PREl"m c QTD l"m 20) EscreJa Dm aFCoritmo PortDCoF UDe Feia Dma FiBHa de atE ?0 caracteres e iBGorme Besta FiBHa: UDaBtos caracteres diGereBtes Goram Dsados) EQempFo: se a FiBHa diCitada Gor aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: a resposta serO +[ se a FiBHa Gor aMcdeGCHiWkFmBopUrstDJSQ\R: a resposta serO 2,) 2+) Em Dma cidade do iBterior: saMe&se UDe: de WaBeiro a aMriF de +005 T+2+ diasV: Bo ocorreD temperatDra iBGerior a +>! Bem sDperior a 60!) As temperatDras JeriGicadas em cada dia esto dispostas em Dma DBidade de eBtrada de dados) %aRer Dm aFCoritmo PortDCoF UDe caFcDFe e imprima;

,2

) a meBor temperatDra ocorrida[ ) a maior temperatDra ocorrida[ ) a temperatDra mEdia[ ) o BPmero de dias Bos UDais a temperatDra Goi iBGerior a temperatDra mEdia) 22) !riar Dm aFCoritmo PortDCoF UDe imprima todas as comMiBaIes de apostas possNJeis para o WoCo da SeBa: oBde; podemos escoFHer para cada aposta , BPmeros eBtre 0+ e >0)

!$ASS"%"!A34O DE 1ETORES
< a tEcBica DtiFiRada para ordeBar o coBtePdo de Dm Jetor em ordem cresceBte oD decresceBte: BDmErica oD aFGaMEtica) EQistem diJersos aFCoritmos proBtos e comproJados para reaFiRar taF tareGa: sero apreseBtados trAs; mEtodo MoFHa: seFeo simpFes e iBsero) Os mEtodos de ordeBao apreseBtados podem ser DtiFiRados para ordeBar Jetores BDmEricos oD aFGaMEticos) Uma JeR UDe cada Fetra possDN Dm JaFor diGereBte da oDtra) A Fetra KAL tem JaFor meBor do UDe a Fetra KBL: e assim por diaBte) Se a Fetra KAL Gor comparada com a Fetra KaL tamMEm tero JaFores diGereBtes) !ada caracter TBDmErico: aFGaMEtico oD caracter especiaFV E CDardado deBtro da memXria de Dm compDtador seCDBdo o JaFor de Dm cXdiCo) Este cXdiCo receMe o Bome de AS!"" T AmericaB StaBdard !ode Gor "BGormatioB "BtercHaBCe a !XdiCo AmericaBo Padro para Troca de "BGormaIesV) E E com Mase Besta taMeFa UDe o processo de ordeBao traMaFHa: pois cada caracter tem Dm peso: Dm JaFor preJiameBte determiBado: seCDBdo este padro) M0TODO 1OL2A Sem`Btica; Dma JeR comparados 2 JaFores adWaceBtes Bo Jetor: se eFes estiJerem em ordem so matidos em seDs FDCares: e se Bo estiJerem so iBJertidos) A eQecDo sDcessiJa deste processo GaR com UDe os meBores JaFores comecem a sDMir aos poDcos T ordem asceBdeBteV e coBseUDeBtemeBte os maiores comeam a descer: daN a aBaFoCia com Dma MoFHa de saMo) SiBtaQe; iBicio pmEtodo MoFHaq tipo 1ET ] 1ETOR l +;> m iBteiro[ 1; 1ET[ ": AU8: $"# ; iBteiro[ $"# >[ ptamaBHo do Jetorq Feia T1V[ eBUDaBto $"# 2 Gaa " 2[ pposicioBa Bo seCDBdo eFemeBto do Jetorq eBUDaBto " $"# Gaa se 1l"m i 1l"&+m pcompara o eFemeBto aBterior com o eFemeBto posterior do Jetorq
,5

eBto AU8 1l"&+m[ ptroca os eFemeBtosq 1l"&+m 1 l"m[ 1l"m AU8[ Gimse[ " " ^+[ GimeBUDaBto[ $"# $"# &+[ GimeBUDaBto[ imprima T1V[ Gim) DemoBstrar ordem cresceBte e decresceBte atraJEs de teste de mesa) EQercNcio; escreJer o aFCoritmo acima DtiFiRaBdo o comaBdo Para) M0TODO SELEO SIMPLES Sem`Btica; pesUDisa&se Bo Jetor UDaF o maior TmeBorV JaFor: seFecioBaBdo&o) DeJe&se coFocO&Fo Bo Gim TiBicioV e reGaRer o processo descoBsideraBdo o eFemeBto UDe Goi aFterado por PFtimo) SiBtaQe; iBicio pseFeo simpFesq tipo 1ET ] 1etor l+;>m iBteiro[ 1;1ET[ $"#: "ND!UR: ": @; iBteiro[ !ORR; iBteiro[ $"# >[ ptamaBHo do Jetorq " +[ pposicioBa Bo primeiro eFemeBto do Jetorq eBUDaBto " i $"# Gaa !ORR 1l"m[ "ND!UR "[ @ " ^ +[ eBUDaBto @ $"# Gaa ppesUDisa o meBor JaForq se 1l@m i !ORR eBto !ORR 1l@m[ "ND!UR @[ Gimse[ @ @ ^ +[ GimeBUDaBto[ AU8 1l"m[ ptroca o meBor JaFor peFa primeira posio do Jetorq 1l"m 1l"ND!URm[ 1l"ND!URm AU8[ " " ^ +[ pposicioBa para comparar a prXQima posio do Jetorq GimeBUDaBto[
,6

Gim) DemoBstrar ordem cresceBte e decresceBte atraJEs do teste de mesa) EQercNcio; escreJer o aFCoritmo acima DtiFiRaBdo o comaBdo Para) M0TODO DE INSERO Sem`Btica; o cicFo iBicia Bo seCDBdo eFemeBto: o eFemeBto E retirado do coBWDBto de dados: GaReBdo Dso de Dma posio aDQiFiar do Jetor: e iBserido em seD FDCar deGiBitiJo: atraJEs da pesUDisa de sDa FocaFiRao correta e do desFocameBto dos oDtros eFemeBtos do coBWDBto) SiBtaQe; iBicio pmEtodo de iBseroq tipo 1ET ] 1etor l0;>m iBteiro[ pposio 0 do Jetor E a posio aDQiFiarq 1;1ET[ $"#: ": @; iBteiro[ $"# >[ ptamaBHo do Jetorq para " de 2 atE $"# Gaa 1l0m 1l"m[ pretira o eFemeBto do coBWDBto de dadosq @ " & +[ eBUDaBto 1l@m i 1l0m Gaa ppesUDisa a FocaFiRao correta desFocaBdo os oDtros eFemeBtosq 1l@^+m i 1l@m[ @ @ & +[ GimeBUDaBto[ 1l@ ^ +m 1l0m[ piBsere o eFemeBto retirado Ba posio corretaq Gimpara[ Gim) DemoBstrar ordem cresceBte e decresceBte atraJEs do teste de mesa)

,>

PESQU"SA E# 1ETORES
QDaBdo se traMaFHa com Jetores: estes podero Cerar CraBdes taMeFas: oBde Gicaria diGNciF a FocaFiRao de Dm determiBado eFemeBto de Gorma rOpida: mesmo UDe o Jetor esteWa cFassiGicado) Para soFDcioBar este tipo de proMFema pode&se GaRer Dso de pesUDisas em matriRes atraJEs de proCramas especNGicos) Sero apreseBtados dois mEtodos para eGetDar pesUDisa em Jetores; mEtodo seUDABciaF e mEtodo MiBOrio) M0TODO DE PESQUISA SEQU3NCIAL Sem`Btica; este mEtodo coBsiste em eGetDar a MDsca da iBGormao deseWada a partir do primeiro eFemeBto seUDeBciaFmeBte atE o PFtimo) $ocaFiRaBdo a iBGormao Bo camiBHo: a mesma E apreseBtada) Este mEtodo de pesUDisa E FeBto: porEm eGicieBte Bos casos em UDe Dm Jetor eBcoBtra&se com seDs eFemeBtos desordeBados) SiBtaQe; iBicio tipo 1ET ] Jetor l+;+00m iBteiro[ 1 ; 1ET[ !'A1E: ": OK ; iBteiro[ Feia T1V[ Feia T!'A1EV[ pJaFor a ser pesUDisadoq OK 0[ pGFaC determiBaBdo UDe o JaFor Bo Goi eBcoBtradoq " +[ eBUDaBto " +00 e OK ] 0 Gaa se 1l"m ] !'A1E eBto OK +[ pGFaC determiBado UDe o JaFor Goi eBcoBtradoq Gimse[ " " ^ +[ GimeBUDaBto[ se OK ] + eBto imprima TKcHaJe eBcoBtradaLV[ seBo imprima TKcHaJe Bo eBcoBtradaLV[ Gimse[ Gim) M0TODO DE PESQUISA 1IN$RIA Sem`Btica; o mEtodo E: em mEdia: mais rOpido do UDe o aBterior porEm: eQiCe UDe o Jetor esteWa preJiameBte cFassiGicado) Este mEtodo diJide a taMeFa em dDas partes e procDra saMer se a iBGormao deseWada estO acima oD aMaiQo da FiBHa de diJiso) Se estiJer acima: por eQempFo: toda a metade aMaiQo E despreRada) Em seCDida: se a iBGormao Bo Goi eBcoBtrada: E BoJameBte diJidida em dDas partes: e perCDBta se aUDeFa iBGormao estO acima oD aMaiQo e assim irO seBdo eQecDtada atE eBcoBtrar oD Bo a iBGormao pesUDisada)

,,

PeFo Gato de ir diJidiBdo sempre em dDas partes o JoFDme de dados E UDe o mEtodo receMe a deBomiBao de pesUDisa MiBOria) SiBtaQe; iBicio tipo 1ET ] Jetor l+;+00m iBteiro[ 1 ; 1ET[ !'A1E: "N"!: #ETADE: %"NA$ ; iBteiro[ Feia T1V[ Feia T!'A1EV[ pJaFor a ser pesUDisadoq "N"! +[ p iBdica iBicio do Jetorq %"NA$ +00[ piBdica GiBaF do Jetorq repita #ETADE iBt T"N"! ^ %"NA$V Y 2[ piBdica posio da diJiso do Jetorq se !'A1E i 1l#ETADEm eBto %"NA$ #ETADE & +[ ppeCa a primeira parte do Jetorq seBo "N"! #ETADE ^ +[ ppeCa a seCDBda parte do Jetorq Gimse[ atE 1l#ETADEm ] !'A1E oD "N"! j %"NA$[ se 1l#ETADEm ] !'A1E eBto imprima TKcHaJe eBcoBtradaLV[ seBo imprima TKcHaJe Bo eBcoBtradaLV[ Gimse[ Gim) E8ER!.!"OS +) $er ? eFemeBtos em Dm Jetor A ) !oBstrDir Dm Jetor B de mesma dimeBso com os eFemeBtos do Jetor A mDFtipFicados por >) ApreseBtar o Jetor B Ba ordem cresceBte) 2) $er Dm Jetor A com +> eFemeBtos) !oBstrDir Dm Jetor B de mesmo tipo: seBdo UDe cada eFemeBto de B seWa o GatoriaF do eFemeBto correspoBdeBte do Jetor A ) ApreseBtar o Jetor B ordeBado de Gorma decresceBte) #oBtar Dma rotiBa de pesUDisa MiBOria em B para eBcoBtrar os JaFores de A) 5) $er dois Jetores seBdo A com 20 eFemeBtos e B com 50 eFemeBtos) !oBstrDir Dm Jetor !: seBdo este a WDBo dos oDtros dois Jetores) Desta Gorma: ! deJerO ter capacidade de armaReBar >0 eFemeBtos) ApreseBtar os eFemeBtos de ! em ordem decresceBte) #ostrar Dma rotiBa de pesUDisa seUDAciaF em ! para eBcoBtrar os eFemeBtos de A) 6) !riar Dm aFCoritmo portDCoF UDe caFcDFe o saFOrio meBsaF dos JeBdedores de Dma coBcessioBOria de carros importados) O saFOrio GiQo de cada JeBdedor E de Rt >00:00: a comisso E de *:>s soMre o JaFor JeBdido Bo mAs) Para taBto eQiste Dm Jetor coBteBdo os Bomes dos JeBdedores e Dm Jetor coBteBdo o JaFor JeBdido peFo JeBdedor Bo mAs: a reFao E Geita peFo NBdice dos Jetores) O aFCoritmo deJe criar Dm terceiro Jetor coBteBdo o

,*

JaFor do saFOrio meBsaF de cada JeBdedor e imprimir ao GiBaF o Bome do JeBdedor UDe teJe o maior saFOrio e a mEdia saFariaF do mAs) >) UtiFiRaBdo o eQercNcio acima: cFassiGiUDe os trAs Jetores com Mase Bo Jetor de saFOrio meBsaF e imprima UDaF o Bome do JeBdedor de maior JeBda e o de meBor JeBda)

#ATR"7
PeFas mesmas raRIes UDe Goi criado o coBceito de Jetor: Becessita&se tratar de oDtro tipo de orCaBiRao de dados; as matriRes) As estrDtDras de dados Jetores so JariOJeis iBdeQadas com apeBas Dma dimeBso: isto E: Dma coFDBa e JOrias FiBHas: a partir de aCora sero apreseBtadas taMeFas com mais coFDBas: seBdo assim: HaJero JariOJeis Bo seBtido HoriRoBtaF e JerticaF) As mais comDm so as matriRes de dDas dimeBsIes por se reFacioBar diretameBte com a DtiFiRao de taMeFas) #atriRes com mais de dDas dimeBsIes so DtiFiRadas com meBos GreUDABcia: mas podero ocorrer momeBtos em UDe se Becessite traMaFHar com Dm BPmero maior de dimeBsIes) As FiBCDaCeBs compDtacioBais so priJiFeCiadas Beste aspecto: o AP$ permite atE 2>, dimeBsIes em aFCDmas apFicaIes e atE ,6 em oDtras) No caso de matriR MidimeBsioBaF Becessita&se de 2 NBdices para reGereBciar Dm determiBado eFemeBto; FiBHa e coFDBa) Para Dma matriR tridimeBsioBaF Dsa&se 5 NBdices; pFaBo: FiBHa e coFDBa) Da mesma Gorma UDe a maBipDFao de Dm Jetor Becessita de Dma iBstrDo de FoopiBC TeBUDaBto: repita oD paraV: Bo caso de matriRes deJerO ser DtiFiRado o BPmero de FoopiBCs reFatiJos ao BPmero de dimeBsIes da matriR) SeBdo assim: Dma matriR de dDas dimeBsIes deJerO ser coBtroFada por dois FoopiBCs: Dma de trAs dimeBsIes GarO Dso de 5 FoopiBCs e assim por diaBte) Para deGiBir Dma matriR passa&se por dDas etapas: como Bos Jetores; +) deGiBio do tipo de dado; Tipo iBome do tipoj ] #atriR lFi+;Fs+:Fi2;Fs2:))):FsN;FiNm itipo de dados WO eQisteBtej[ OBde; Fi+: Fi2: FiN a Fimite iBGerior da primeira: da seCDBda e da eNEsima dimeBso respectiJameBte[ Fs+: Fs2: FsN a Fimite sDperior da primeira: da seCDBda e da eNEsima dimeBso respectiJameBte) 2) deGiBio das JariOJeis UDe podero coBter este BoJo tipo de dado; iideBtiGicador +j: iideBtiGicador 2j:))) iideBtiGicador Bj ; iBome do BoJo tipoj[ EQempFo; +) !riar Dma matriR ? Q +2 deJidameBte Rerada) iBicio tipo # ] matriR l+;?: +;+2m iBteiro[
,?

#AT;#[ ":@; iBteiro[ para " de + ate ? Gaca para @ de + ate +2 Gaca #ATl":@m 0[ Gimpara[ Gimpara[ imprima T#ATV[ Gim) 2) !riar Dma matriR de 5 dimeBsIes ? Q +2 Q > e Fer JaFores para eFa) iBicio tipo #+ ] matriR l+;?:+;+2: +;>m reaF[ #AT+;#+[ ": @: K; iBteiro para " de + ate ? Gaa para @ de + ate +2 Gaa para K de + atE > Gaa Feia T#AT+l": @:KmV[ Gimpara[ Gimpara[ Gimpara[ Gim) E8ER!.!"OS +) DeGiBir Dm aFCoritmo portDCoF UDe Feia os eFemeBtos de Dma matriR +6 Q 50 Dm a Dm: preeBcHeBdo a matriR a seCDir) 2) Dada Dma matriR * Q +5 deJidameBte preeBcHida: o aFCoritmo deJe eBcoBtrar sDa matriR traBsposta) 5) DeGiBir Dm aFCoritmo UDe some dDas matriRes A e B: de * FiBHas e ? coFDBas cada Dma: CeraBdo Dma matriR !: tamMEm * Q ?: oBde cada eFemeBto de ! E a soma dos 2 eFemeBtos correspoBdeBtes em A e B) 6) DeGiBir aFCoritmo portDCoF oBde dada Dma matriR #+ de , Q 0: deJemos totaFiRO&Fa Ba JerticaF CeraBdo Dm Jetor de 0 eFemeBtos) "mprimir este Jetor e a seCDir: eBcoBtrar e imprimir a mEdia destes 0 JaFores) >) $er dois Jetores A e B: cada Dm com * eFemeBtos e coBstrDir Dma matriR ! de mesma dimeBso oBde a primeira coFDBa deJerO ser Gormada peFos eFemeBtos de A e a seCDBda coFDBa peFos eFemeBtos de B)

,0

,) $er Dm Jetor A de +0 eFemeBtos e coBstrDir Dma matriR ! de dDas dimeBsIes com 5 coFDBas: oBde a primeira coFDBa E Gormada peFos eFemeBtos de A somados com o JaFor >: a seCDBda coFDBa E Gormada peFo JaFor de cOFcDFo de GatoriaF de cada eFemeBto correspoBdeBte Bo Jetor A: e a terceira coFDBa deJerO ser Gormada peFos UDadrados dos eFemeBtos correspoBdeBtes de A ) *) DeGiBir aFCoritmo portDCoF capaR de Fer Dma matriR UDadrada de ordem 25 e totaFiRar os eFemeBtos coFocados aMaiQo da diaCoBaF priBcipaF TeQcFDsiJe estaV: imprimiBdo o totaF ao GiBaF) ?) DeGiBa Dm aFCoritmo portDCoF capaR de Fer 2 matriRes de dimeBsIes 6 Q 0 e 0 Q *) ApXs Fidas: as matriRes deJem ser mDFtipFicadas matriciaFmeBte CeraBdo Dma saNda de dimeBsIes 6 Q *) A matriR resDFtado deJe ser impressa ao GiBaF) $emMre&se de UDe eQiste Dma Fei matemOtica UDe reCe a mDFtipFicao de matriRes) Esta Fei estaMeFece UDe Dma mDFtipFicao eBtre matriRes poderO ocorrer UDaBdo o BPmero de coFDBas da primeira matriR E iCDaF ao BPmero de FiBHas da seCDBda matriR: e UDe o JaFor resDFtaBte da terceira matriR E o somatXrio da mDFtipFicao de cada eFemeBto da coFDBa da primeira matriR com cada eFemeBto da FiBHa da seCDBda matriR) 0) DeGiBir aFCoritmo portDCoF UDe Feia dDas matriRes TA e BV de dimeBsIes * Q +5 e Cere Dma terceira matriR: oBde cada eFemeBto E o maior eBtre os eFemeBtos correspoBdeBtes em A e B) +0) EscreJer Dm aFCoritmo UDe Feia Dma matriR de 25 FiBHas por +0 coFDBas) Esta matriR represeBta a popDFao dos +0 maiores mDBicNpios de cada estado MrasiFeiro) Em cada FiBHa: as coFDBas esto em ordem decresceBte : com eQceo da primeira coFDBa: UDe sempre represeBta a capitaF) O aFCoritmo deJe imprimir; UDaF o BPmero do estado de capitaF mais popDFosa[ UDaF a mEdia das popDFaIes das capitais do BrasiF[ UDais os BPmeros dos estados e dos mDBicNpios UDe tem popDFao maior UDe a capitaF) ++) DeGiBir Dm aFCoritmo UDe traMaFHe com Dma matriR de +20 FiBHas por > coFDBas: oBde cada FiBHa coBtEm os dados de Dm aFDBo da escoFa e cada coFDBa; coFDBa + & BPmero do aFDBo: coFDBa 2 & Bota do aFDBo Bo +o) Mimestre: coFDBa 5 & Bota do aFDBo Bo 2o) Mimestre: coFDBa 6 & Bota do aFDBo Bo 5o) Mimestre: coFDBa > & Bota do aFDBo Bo 6o) Mimestre) ApXs Fer o coBWDBto de dados o aFCoritmo deJe imprimir; UDaF a mEdia aBDaF de cada aFDBo[ UDaF a mEdia da tDrma em cada Mimestre[ BPmero do aFDBo e em UDaF Mimestre ocorreD sDa maior Bota[ UDaF o Mimestre em UDe ocorreD mais 0) +2) %aRer Dm aFCoritmo para corriCir proJas de mPFtipFa escoFHa) !ada proJa tem +0 UDestIes: cada UDesto JaFeBdo Dm poBto) O primeiro coBWDBto de dados a ser Fido serO o CaMarito para a correo da proJa) Os oDtros dados sero os BPmeros dos aFDBos e sDas respectiJas respostas e o PFtimo BPmero: do aFDBo GictNcio: serO 0000) O aFCoritmo deJe caFcDFar e imprimir;

*0

aV para cada aFDBo: o seD BPmero e sDa Bota[ MV a porceBtaCem de aproJao: saMeBdo&se UDe a Bota mNBima de aproJao E ,[ cV a Bota UDe teJe maior GreUDABcia aMsoFDta: oD seWa: a Bota UDe apareceD maior BPmero de JeRes TsDpoBdo a iBeQistABcia de empatesV) +5) Dado Dm taMDFeiro de QadreR TAB oBde: para GaciFitar a iBdicao das pedras: Jamos coBJeBcioBar; + & peo 2 & caJaFos 5 & torres 6 & Mispos > & reis , & raiBHas 0 & aDsABcia de pedra $er os dados e coBtar a UDaBtidade de cada tipo de pea Bo taMDFeiro em Dm certo momeBto do WoCo) TamaBHo do taMDFeiro ? Q ?) +6) Um MiMFioteca possDN ? departameBtos) !ada departameBto coBtEm 60 estaBtes capaRes de coBter: cada Dma: +>0 FiJros) SDpoBdo UDe cada FiJro&padro teBHa 200 pOCiBas de 5> FiBHas por ,0 caracteres: decFarar Dma JariOJeF composta capaR de coBter todos os caracteres preseBtes Bos FiJros da MiMFioteca) +>) O #DseD de !arros ABtiCos de !DritiMa estO coBdDRiBdo Dm FeJaBtameBto dos carros aBtiCos do Estado) Para cada carro: deJe ser Fida os seCDiBtes dados; cXdiCo do GaMricaBte T 0 a 50V[ aBo do carro T de +000 a +0>0V[ coBdiIes do carro T + a 6V) Para permitir a eQecDo de JOrias aBOFises Bos dados: estes so armaReBados em Dm coBWDBto tridimeBsioBaF) O JaFor armaReBado E o BPmero de carros eBcoBtrados com aUDeFas caracterNsticas) O aFCoritmo deJe; criar esta estrDtDra e GaRer a FeitDra dos dados para Gormar o coBWDBto de iBGormaIes[ caFcDFar e imprimir; o BPmero de carros Geitos em +0+0 cDWas coBdiIes so cFassiGicadas como Moas oD eQceFeBtes & cXdiCo 6[ o GaMricaBte mais popDFar[ ideBtiGicar o GaMricaBte cDWos carros parecem estar em meFHores coBdiIes & cXdiCo 6) +,) Um CrDpo de +00 pessoas respoBdeD a Dm UDestioBOrio composto de +0 perCDBtas) !ada perCDBta coBtEm someBte Dma eBtre trAs respostas; Sim: No e JaRio) !riar Dm aFCoritmo PortDCoF UDe Feia Dm coBWDBto de dados coBteBdo as respostas de cada pessoa para as +0 perCDBtas e armaReBe em Dma matriR +00 Q +0) O aFCoritmo deJe imprimir ao GiBaF; UDaBtas respostas Goram JaRio[ UDaF a perCDBta com mais respostas No & DtiFiRar Dm Jetor [ UDaBtos Sim ocorreram Ba perCDBta *)

RE/"STROS

*+

Para a deGiBio de estrDtDras compFeQas de dados: o PortDCoF oGerece a GerrameBta cHamada reCistro: UDe so coBsiderados tipos de dados HeteroCABeos por permitirem armaReBar JOrios dados de tipos diGereBtes em Dma mesma estrDtDra) Trata&se de Dm aCFomerado de dados UDe pode ser acessado Bo todo: oD a cada Dm de seDs eFemeBtos iBdiJidDaFmeBte) !omo cada eFemeBto iBdiJidDaF pode ser tratado separadameBte e possDN tipo de dado especiGico: FeJa o Bome de campo) $oCo: Dm reCistro pode ser coBsiderado Dm coBWDBto de dados FoCicameBte reFacioBados: mas de tipos de dados diGereBtes) ) Os tipos reCistros deJem ser decFarados aBtes das JariOJeis: pois poderO ocorrer a Becessidade de se decFarar Dma JariOJeF com o tipo reCistro aBteriormeBte atriMDNdo) Para se decFarar Dm tipo reCistro em PortDCoF o procedimeBto E semeFHaBte ao de Jetores e matriRes;
+)

deGiBio do tipo de dado; Tipo iBome do tipoj ] RE/"STRO icampo +j: icampo ++j: ))) :icampo +Bj ; itipo de dado WO eQisteBtej[ icampo 2j ; itipo de dado WO eQisteBtej[ ))))) icampo Bj ; itipo de dado WO eQisteBtej[ GimreCistro[

OBde; campo so ideBtiGicadores de JariOJeis) 2) deGiBio das JariOJeis UDe podero coBter este BoJo tipo de dado; iideBtiGicador +j: iideBtiGicador 2j:))) iideBtiGicador Bj ; iBome do BoJo tipoj[ QDaBdo BecessOrio: E possNJeF deGiBir Dm campo de Dm reCistro como teBdo Dm coBtePdo Jetor oD matriR) ODtro coBceito iBteressaBte E a deGiBio de Dm Jetor com coBtePdo Dm reCistro: esta estrDtDra E MastaBte PtiF para a deGiBio de orCaBiRao de dados) ACESSO AOS DADOS Para GaRer acesso a Dm campo coBtido em Dm reCistro precisa&se iBdicar todo o camiBHo BecessOrio para eBcoBtrar a iBGormao: separaBdo&os por Dm poBto T ) V; iBome do reCistroj ) i Bome do campoj Desta Gorma pode&se atriMDir Dm JaFor a Dm campo do reCistro: imprimir taF JaFor e DtiFiRar o JaFor em eQpressIes) EQempFo; decFarar Dm reCistro para armaReBar Dm cadastro de pessoaF Tipo RE/+ ] reCistro NO#E ; caracter l60m[
*2

END ; ENDERE3O[ DTNAS! ; DATA[ !P%: R/ ; iBteiro[ SA$ ; 1[ GimRE/+[ Tipo ENDERE3O ] reCistro RUA; caracterl20m[ NU# ; iBteiro[ !"DADE ; caracter l+>m[ ESTADO ; caracter l2m[ !EP ; iBteiro[

GimENDERE3O[ Tipo DATA ] reCistro D: #: A ; iBteiro[ GimDATA[ Tipo 1 ] Jetor l0;++m reaF[ !AD ; RE/+[ Feia T!ADV[ pacesso ao reCistro com todos os seDs camposq se !AD)DTNAS!)D ] 20 e !AD)DTNAS!)# ] +0 eBto imprima T!AD)ENDV[ ptodos os campos do reCistro ENDERE3Oq Gimse[ para " de 0 atE ++ Gaa imprima T !AD)SA$l"mV[ Gimpara[ psaFOrio dos +2 PFtimos mesesq

E8ER!.!"O +) DecFarar Dm reCistro com os dados; Bome: data de BascimeBto Tdia: mAs e aBoV: tem depeBdeBtes TSYNV: seQo :cpG: eBdereo TrDa: BPmero: cep: cidade: estadoV) 2) DecFarar Dm reCistro com os dados; Bome: cpG: ideBtidade: Horas traMaFHadas Bo aBo TmAs a mAsV: saFOrio: GCts) 5) DecFarar Dm reCistro com os dados; cXdiCo do materiaF: Bome do materiaF: BPmero de peas em estoUDe: preo DBitOrio) 6) Uma escoFa cadastroD as Botas Mimestrais de seDs aFDBos em reCistros Bo Gormato; matrNcDFa ; iBteiro[ Bome ; caracterl60m[ Bota do traMaFHo +: Bota do traMaFHo 2 : Bota da proJa ; reaF[ %aRer Dm aFCoritmo UDe Feia os reCistros acima atE UDe seWa Fida matrNcDFa ] 0 e caFcDFe a mEdia de cada aFDBo: peFa GXrmDFa; media ] TT traMaFHo + c 2V ^ traMaFHo 2 ^ TproJa c *VV Y +0 Ao GiBaF deJe ser impresso; o Bome do aFDBo: sDa mEdia e a meBsaCem;
*5

KParaMEBsL se media Gor maior oD iCDaF a *0 e KPrecisamos estDda maisL se mEdia Gor aMaiQo de *0) >) Um DBiJersidade reaFiRarO seD coBcDrso JestiMDFar em dDas 5 DBidades: a iBstitDio deseWa saMer UDaF DBidade estO mais prXQima da residABcia do caBdidato) Para taBto cada caBdidato preeBcHeD Dm reCistro Bo Gormato; matrNcDFa; iBteiro[ dist`Bcia para DBidade +: dist`Bcia para DBidade 2: dist`Bcia para DBidade 5 ; reaF[ O aFCoritmo deJe Cerar: para cada caBdidato: oDtro reCistro Bo Gormato; matrNcDFa; iBteiro[ BPmero da DBidade mais prXQima ; iBteiro[ dist`Bcia desta DBidade ; reaF[ Os dados termiBam UDaBdo Gor Fida matrNcDFa ] 0) ,) Uma orCaBiRao tem Dm coBWDBto de reCistros de JeBdas de Dm aBo) Tais reCistros tem o Gormato; RE/ dia: mAs ; iBteiro[ JaFor ; reaF[ !riar Dm aFCoritmo portDCoF capaR de Fer os dados e imprimir os totais meBsais de JeBda) O processameBto termiBa UDaBdo Gor Fido Dm dia iCDaF a 0) UtiFiRar Dm Jetor de +2 posiIes iBdeQado peFo campo mAs do reCistro) +0) Uma compaBHia aErea possDi , tipos de aJiIes; *6*: *5*&200: *5*&500: *2*: A500 e BaBdeiraBtes) !ada JiaCem reaFiRada por cada aJio Cera Dm reCistro Bo Gormato; tipo do aJio ; caracter l++m[ BPmero de passaCeiros ; iBteiro[ dist`Bcia percorrida ; reaF[ %aRer Dm aFCoritmo UDe Feia tais reCistros atE UDe seWa Fido tipo do aJio iCDaF a MraBco) O aFCoritmo deJe totaFiRar por tipo de aJio o BPmero de passaCeiros e totaF da dist`Bcia percorrida Bo perNodo) Ao GiBaF deJe ser impresso Dm reFatXrio iBGormaBdo a prodDtiJidade de cada tipo de aJio: isto E: BPmero totaF de passaCeiros diJido peFa dist`Bcia totaF) 20) Uma seCDradora possDi Dm cadastro de seDs seCDrados coBteBdo reCistros com os campos; matrNcDFa ; iBteiro[ Bome ; caracterl60m[ data de BascimeBto ; dia: mAs e aBo[ seQo ; caracterl+m[ %aRer Dm aFCoritmo UDe Feia tais reCistros atE UDe seWa Fido Dma matrNcDFa ] 0: este aFCoritmo deJe coBter Dma GDBo para caFcDFar a idade de seCDrado: com Mase Ba data atDaF: em dias) Ao GiBaF deJem ser Cerados os seCDiBtes reCistros; 'O#ENS Bome ; caracterl60m idade ; iBteiro #U$'ERES Bome; caracter l60m[ idade ; iBteiro[

*6

MODULARI!AO
A ProCramao EstrDtDrada E HoWe o resDFtado de Dma sErie de estDdos e propostas de discipFiBas e metodoFoCias para o deseBJoFJimeBto de soGtSare) !oBceitos associados como tEcBica de reGiBameBtos sDcessiJos e modDFariRao de proCramas iBteCram o GerrameBtaF para eFaMorao de proCramas JisaBdo: priBcipaFmeBte: os aspectos de coBGiaMiFidade: FeCiMiFidade: maBDteBiMiFidade e GFeQiMiFidade) A metodoFoCia de reGiBameBtos sDcessiJos parte do priBcNpio de UDe resoFJer Dm proMFema compFeQo E mais GOciF se Bo precisarmos coBsiderar todos os aspectos do proMFema simDFtaBeameBte: isto E: a decomposio de Dm proMFema CraBde BDma sErie de sDMproMFemas mais simpFes) QDaBdo Bo processo de deseBJoFJimeBto do aFCoritmo GaR&se a opo por diJiso do aFCoritmo: este procedimeBto coBdDR a modDFariRao da soFDo do proMFema) Um mXdDFo E eBto Dm CrDpo de comaBdos: coBstitDiBdo Dm trecHo de aFCoritmo: com Dma GDBo Mem deGiBida) Esta diJiso da atiJidade de proCramao permite UDe: a cada iBstaBte: toda a ateBo do proCramador esteWa coBceBtrada Ba soFDo de cada proMFema especNGico e Mem deGiBido) Da mesma Gorma: pode&se JeriGicar a correo do aFCoritmo por etapas aBaFisaBdo&se a correo de cada mXdDFo) A deciso peFa diJiso do aFCoritmo em mXdDFos traR MeBeGNcios como; a) maior GFeQiMiFidade e GaciFidade de maBDteBo: WO UDe o mXdDFo pode escoBder dos oDtros mXdDFos detaFHes UDe sX iBteressam a eFe[ M) permite a diJiso de tareGa em Dma eUDipe: oBde cada mXdDFo pode ser deseBJoFJido por Dm proCramador diGereBte[ c) GaciFita o teste: porUDe cada mXdDFo pode ser testado iBdiJidDaFmeBte: e depois ser iBcorporado ao coBWDBto[ d) GaciFita o proWeto: Ba medida em UDe permite a aMstrao) A eQperiABcia recomeBda UDe os mXdDFos coBstitDiBtes de Dm proCrama deJem ter Bo mOQimo o tamaBHo de Dma pOCiBa de FistaCem) #XdDFos maiores so diGNceis de ser compreeBdidos e em CeraF so mDFtiGDBcioBais) Um oDtro aspecto importaBte UDe eBJoFJe a modDFariRao: em particDFar a modDFariRao de dados: E a possiMiFidade de cada mXdDFo poder deGiBir as sDas estrDtDras de dados prXprias: sDGicieBtes e BecessOrias apeBas para atiBCir o oMWetiJo GiBaF do mXdDFo) Estre aspecto discipFiBa e impIem restriIes a DtiFiRao das estrDtDras de dados do aFCoritmo) Toda a comDBicao eBtre mXdDFos deJerO ser Mem deGiBida atraJEs de JNBcDFos eBtre os mesmos) Um Mom aFCoritmo deJe procDrar redDRir a iBterao eBtre mXdDFos TacopFameBtoV e aDmeBtar o reFacioBameBto dos eFemeBtos de Dm mesmo mXdDFo TcoesoV)

*>

As GerrameBtas de modDFariRao apreseBtadas so; GDBIes e procedimeBtos) '4-'5,4.; +) partes comDBs a JOrios proCramas oD UDe se repetem deBtro de Dm mesmo proCrama: UDaBdo modDFariRadas em Dm procedimeBto: so proCramadas Te testadasV Dma sX JeR: mesmo UDe teBHam UDe ser eQecDtadas com JariOJeis diGereBtes[ 2) podem&se coBstitDir MiMFiotecas de proCramas: isto E: Dma coFeo de mXdDFos UDe podem ser DtiFiRados em diGereBtes proCramas sem aFterao e mesmo por oDtros proCramadores) 5) a modDFariRao dos proCramas permite preserJar Ba sDa impFemeBtao os reGiBameBtos oMtidos dDraBte o deseBJoFJimeBto dos aFCoritmos) 6) ecoBomia Bo armaReBameBto: Dma JeR UDe o mXdDFo E armaReBado Dma PBica JeR mesmo UDe DtiFiRado em diGereBtes partes do proCrama) Permite: tamMEm: UDe: em Dm determiBado iBstaBte da eQecDo do proCrama: esteWam Ba memXria priBcipaF apeBas o mXdDFo oD os mXdDFos BecessOrios a eQecDo deste trecHo de proCrama & paCiBao) D,.6'4-'5,4.; +) eQiste Dm acrEscimo de tempo Ba eQecDo de proCrama coBstitDNdos de mXdDFos: deJido ao traMaFHo adicioBaF de atiJao do mXdDFo)

B$O!O
O Bosso coBHecimeBto de MFoco atE aCora: estO Fimitado a coFocar as paFaJras "N"!"O e %"#: respectiJameBte: para deGiBir o aFCoritmo) EBtretaBto: o coBceito de B$O!O tem Dma ampFitDde maior: pois podemos ter diJersos B$O!OS TDBs deBtro de oDtrosV deBtro de Dm aFCoritmo) Um MFoco era Gormado por; iBicio idecFarao de JariOJeisj[ icomaBdosj[ Gim) ACora: de acordo com o UDe Jimos: podemos ter MFocos deBtro de MFocos; iBicio idecFarao de JariOJeisj[ iBicio pseCDBdo MFocoq idecFarao de JariOJeisj[ pseCDBdoq icomaBdosj[ pseCDBdoq Gim[ pseCDBdoq

*,

icomaBdosj[ Gim) Uma das JaBtaCeBs E a possiMiFidade de deGiBir JariOJeis Gora do seD FDCar oriCiBaF: priBcipaFmeBte: UDaBdo se coBHece a JariOJeF Bo meio do aFCoritmo) EQempFo; iBJerter a ordem de Dm Jetor) iBicio N; iBteiro[ Feia TNV[ iBicio pprocedimeBto iBJerteq tipo 1]1ETOR l+;Nm iBteiro[ 1ET ; 1[ Feia T1ETV[ piBJerta 1ETq imprima T1ETV[ Gim[ pprocedimeBto iBJerteq Gim) Uma JariOJeF comea UDaBdo o MFoco: oBde eFa estO coBtida: iBicia e termiBa UDaBdo este MFoco termiBa T%"#)V & JariOJeis Focais ao MFoco) QDaBdo eQiste Dm MFoco deBtro de oDtro: as JariOJeis do MFoco eQterBo so Focais para eFe e CFoMais para o MFoco iBterBos) @O as JariOJeis do MFoco iBterBo so Focais a eFe e so descoBHecidas peFo MFoco eQterBo) QDaBdo eQiste coBGFito de Bomes TdDas JariOJeis com mesmo Bome: seBdo Dma FocaF e oDtra CFoMaFV: JaFe a deGiBio FocaF: e a CFoMaF deiQa de poder ser acessada TemMora coBtiBDa eQistiBdo BormaFmeBteV) EQempFo; iBicio ":@;iBteiro[ NO#E; caracterl60m[ iBicio pprocedimeBto +q K:$:#;reaF[ NO#E; caracterl,0m[ SO#A;iBteiro[ Feia TNO#EV[ K i] " ^ @[ SO#A i] K ^ T"c@V[ Gim[ pprocedimeBto +q imprima TNO#EV[ Gim)
**

PRO!ED"#ENTO
y Dm MFoco com Bome: com isto: poderemos cHamO&Fo em UDaFUDer poBto do aFCoritmo) SiBtaQe; procedimeBto iBomej i Fista de par`metrosj[ iespeciGicao dos par`metrosj[ iBicio idecFarao de JariOJeis Focaisj[ icomaBdosj[ Gim[ A cHamada de Dm procedimeBto E apeBas a coFocao de seD Bome em Dm comaBdo: como se Gosse Dm BoJo comaBdo) SiBtaQe; iBome do procedimeBtoj T ipar`metros BecessOriosjV[ EQempFo; seWa Dm procedimeBto para acHar e imprimir o maior BPmero eBtre 5 JaFores GorBecidos) iBicio N+:N2:N5;iBteiro[ procedimeBto A!'A TA: B: !V peBcoBtra maior JaForq A:B: !;iBteiro[ iBicio se Aj]B e Aj]! eBtao imprima TAV[ Gimse[ se BjA e Bj]! eBtao imprima TBV[ Gimse[ se !jA e !jB eBtao imprima T!V[ Gimse[ Gim[ pA!'Aq Feia TN+:N2)N5V[ A!'A TN+:N2:N5V[ Feia TN+:N2:N5V[ A!'ATB+:N2:N5V; Feia TN+:N2:N5V[ A!'A TN+:N2:N5V[ Gim)
*?

No caMeaFHo do procedimeBto: temos Dma sErie de JariOJeis: UDe podem ser de eBtrada e de saNda) !Hamamos estas JariOJeis de Par`metros %OR#A"S) @O as JariOJeis Dsadas UDaBdo o procedimeBto E eGetiJameBte cHamado so deBomiBadas Par`metros E%ET"1OS) Os par`metros EGetiJos de eBtrada podem ser JariOJeis: coBstaBtes oD eQpressIes) @O os par`metros EGetiJos de saNda tem UDe ser JariOJeis) Um procedimeBto pode cHamar oDtros deBtro deFe & procedimeBtos aBiBHados)

%UN34O
Uma GDBo E Dm MFoco UDe tem Dm Bome e UDe deJoFJe Dm resDFtado) Em oDtras paFaJras: UDaBdo Bo HoDJer retorBo de Dm resDFtado temos Dm procedimeBto: e UDaBdo HoDJer temos Dma GDBo) SiBtaQe; %DBo iBomej iFista de par`metrosj; itipo de dado do resDFtadoj[ idecFarao dos par`metrosj[ iBicio idecFarao de JariOJeis Focaisj[ icomaBdosj[ iBome da GDBoj i resDFtadoj[ Gim[ Toda GDBo Dsada deBtro de Dm proCrama deJe ter sido deGiBida aBtes de ser cHamada) SiBtaQe; iJariOJeF CFoMaFj iBome da GDBo T ipar`metrosjVj[ EQempFo; seWa Dma GDBo UDe caFcDFe o teorema de pitOCoras) iBicio (+:(2:RESP;reaF[ %DBcao P"TA/ TA:BV ; reaF[ A:B;reaF[ iBicio 8;reaF[ 8 TA cc 2 V ^ TB cc 2V[ P"TA/ 8 cc 0)>[ Gim[ pP"TA/q Feia T(o:(2V; RESP P"TA/ T(+:(2V[
*0

imprima TRESPV[ Gim) E8ER!.!"OS +) %aRer a GDBo seBTQV UDe receMe o JaFor de Q e caFcDFa o seBo atraJEs da seCDiBte sErie; Q Q5 Q> Q* seBTQV ] &&&& & &&&& ^ &&&& & &&&& ^ )))) + 5o >o *o A GDBo retorBa o JaFor do seBo de Q) OMs); UtiFiRe a soma dos 50 primeiros termos da sErie acima 2) %aRer Dm aFCoritmo UDe caFcDFe a Orea e o perNmetro de Dm UDadrado a partir do tamaBHo do Fado) $ado E dado de eBtrada e os JaFores de Orea e perNmetro so retorBados por GDBIes) 5) %aRer Dm aFCoritmo para acHar o maior JaFor deBtre 5) A GDBo maiorde5 receMe como arCDmeBto os 5 JaFores e retorBa o maior) 6) EscreJer Dm aFCoritmo para Cerar os N primeiros termos da sErie de %iMoBacci; +: +: 2: 5: >: ?: +5: 2+:)))) A GDBo %"B tem N como par`metro: caFcDFa e imprime os termos da sErie) >) EscreJer Dm aFCoritmo UDe caFcDFe e imprima o JaFor de S) %aa Dma GDBo UDe receMa o JaFor de N e deJoFJa o JaFor de S) N E dado de eBtrada e deJe ser Fido Ba GDBo priBcipaF) + 2 5 N&+ N S ] &&&& ^ &&&& ^ &&&& ^ ))) ^ &&&& ^ &&&& N N&+ N&2 2 + ,) %aRer Dm aFCoritmo para Fer Dm iBteiro N j] 0 e caFcDFar seD GatoriaF) A GDBo %AT receMe o JaFor de N e deJoFJe seD GatoriaF) *) %aRer Dm aFCoritmo para Fer Dm iBteiro N j 0 e caFcDFar o seCDiBte somatXrio; R ] + ^ 22 ^ 52 ^ )))) ^ N2) A GDBo deJe receMer o JaFor de N e deJoFJer o JaFor de R) ?) %aRer Dm aFCoritmo para Fer Dm iBteiro N j 0 e caFcDFar o seCDiBte somatXrio; S ] N ^ N&+ ^ N&2 ^ N&5 ^ ))) ^ 0) A GDBo deJe receMer o JaFor de N e deJoFJer o JaFor de S) 0) As Botas de Dma tDrma de N aFDBos so Fidas e armaReBadas em Dm Jetor) N tamMEm E Fido) %aRer Dm aFCoritmo coBteBdo GDBIes para; aV receMer o JaFor de N: Fer as N Botas: armaReBaBdo&as em Dm Jetor Teste deJe ser JariOJeF CFoMaFV) MV receMer o JaFor de N: caFcDFar a mEdia da tDrma: deJoFJeBdo seD JaFor Z GDBo priBcipaF) cV receMer o JaFor de N: acHar a maior Bota: deJoFJeBdo seD JaFor Z GDBo priBcipaF)
?0

+0) Um BDmero primo E UDaFUDer BDmero iBteiro positiJo UDe E diJisNJeF apeBas por si prXprio e por +) EscreJa Dma GDBo UDe receMe Dm BDmero iBteiro positiJo e: se este BPmero Gor primo: retorBa +: caso coBtrario: retorBa 0) ++) %aRer Dm aFCoritmo: coBteBdo Dma GDBo UDe receMa Dma temperatDra dada em CraDs %aHreBHeit e deJoFJa a temperatDra coBJertida para CraDs !eFsiDs) TC = 5/9*(F-32)).
+2)

%aRer Dm aFCoritmo UDe caFcDFe o JoFDme e a Orea de Dma esGera) O raio E dado de eBtrada: e os JaFores de JoFDme e a Orea so retorBados por GDBIes UDe receMem o raio como arCDmeBto) V = 4/3* !*R3 e A = 4* !*R2: oBde R ] raio da esGera) Um coGriBHo coBtEm os seCDiBtes iteBs; "1 moedas de 1 reaF : "2 moedas de 50 ceBtaJos : "3 moedas de 25 ceBtaJos: "4 moedas de 10 ceBtaJos : "5 moedas de 5 ceBtaJos: "# moedas de 1 ceBtaJo) %aRer Dma GDBo UDe receMa os JaFores acima e deJoFJa o totaF em Reais

+5)

+6) SeWa Dm Jetor coBteBdo N iBteiros e de tamaBHo mOQimo TA# TB i] TA#V) N deJe ser Fido do tecFado peFa GDBo priBcipaF) !oBsidere o Jetor como JariOJeF CFoMaF) %aRer Dm aFCoritmo coBteBdo as seCDiBtes GDBIes; aVFeitDra; receMe o JaFor de N e FA os N eFemeBtos do Jetor) MV meBor; receMe o JaFor de N e deJoFJe o meBor eFemeBto do Jetor) cV imaior; receMe o JaFor de N e deJoFJe o NBdice do maior eFemeBto do Jetor) dV par; receMe o JaFor de N e deJoFJe o BPmero de eFemeBtos pares do Jetor eV media; receMe o JaFor de N e deJoFJe a mEdia aritmEtica dos eFemeBtos do Jetor) GV acimamed; receMe o JaFor de N e o JaFor da mEdia caFcDFada peFa GDBo aBterior e deJoFJe a porceBtaCem de eFemeBtos acima da mEdia) Todos os JaFores deJoFJidos deJem ser impressos atraJEs da GDBo priBcipaF) +>) %aa Dma GDBo UDe receMa Dm caracter e retorBe 0 se o mesmo Gor Fetra e + caso coBtrOrio) +,) SeWa Dm Jetor de tamaBHo TA#: decFarado como JariOJeF CFoMaF) %aRer Dm aFCoritmo coBteBdo as seCDiBtes GDBIes; aVFeitDra; FA os eFemeBtos do Jetor) MV maiorsoma; deJoFJe a maior soma eBtre dois eFemeBtos coBsecDtiJos do Jetor) c V maiordiG; deJoFJe a maior diGereBa eBtre dois eFemeBtos coBsecDtiJos do Jetor) +*) SeWa Dma striBC TJariOJeF CFoMaFV coBteBdo Dm Bome de pessoa e Dm caracter UDaFUDer) %aRer Dm aFCoritmo coBteBdo as seCDiBtes GDBIes; aVFeitDra; Fe a striBC e o caracter deJoFJeBdo TretorBaBdoV o JaFor deste PFtimo) MV tamaBHo; retorBa o tamaBHo TBPmero de caracteresV striBC cV Beocorecar; receMe o caracter e o tamaBHo da striBC como arCDmeBto: deJoFJeBdo o BPmero de ocorrABcias do mesmo Ba striBC dV peocoecar; receMe o caracter e o tamaBHo da striBC como arCDmeBto: deJoFJeBdo o NBdice da primeira ocorrABcia do mesmo Ba striBC ) !aso Bo HaWa ocorrABcia: deJoFJe

?+

JaFor &+) EV BpaFaJras; receMe o tamaBHo da striBC como arCDmeBto e deJoFJe BPmero de paFaJras da striBC TcoBsidere UDe cada paFaJra estO separada por Dm espaoV) %V imprimeeiBJ; "mprime a striBC iBJertida) Todos os JaFores retorBados deJem ser impressos) A GDBo priBcipaF E respoBsOJeF por isso) +?) %aa Dma GDBo UDe receMe a idade de Dma pessoa em aBos: meses e dias e retorBa essa idade eQpressa em dias) +0) %aa Dma GDBo UDe receMe Dm JaFor iBteiro e positiJo e retorBa o BPmero de diJisores desse JaFor) 20) EscreJa Dma GDBo UDe receMe dois JaFores 8 e r e retorBa 8 eFeJado a r: sem DtiFiRar GDBIes oD operadores de potABcia proBtos) 2+) %aRer Dma GDBo UDe receMe Dm caracter e deJoFJe o BPmero de ocorrABcias desse caracter em Dma Grase) !oBsidere UDe a Grase e o caracter so Fidos Ba GDBo priBcipaF) EscreJer o aFCoritmo /*789,-*) 22) %aRer Dm aFCoritmo coBteBdo GDBIes para; aV Fer Dm Jetor oBde cada eFemeBto T6'5'.:&;V represeBta o BPmero de JaCas do cDrso &) MV Fer Dm oDtro Jetor oBde cada eFemeBto T/'4+&+'-*.:&;V represeBta o BPmero de caBdidatos iBscritos para o cDrso &) cV criar Dm terceiro Jetor coBteBdo o BPmero de caBdidatos por JaCa dV receMer o NBdice de Dm cDrso e retorBar o BPmero de caBdidatos por JaCa desse cDrso eV retorBar o NBdice do cDrso de maior coBcorrABcia oMs); "mprima todos os resDFtados e coBsidere os Jetores como JariOJeis CFoMais 25) SeWa Dm Jetor de iBteiros TCFoMaFV de tamaBHo TA#) %aa Dm aFCoritmo com as seCDiBtes GDBIes; FeitDra; FA os eFemeBtos do Jetor) imaior; retorBa o NBdice do maior eFemeBto do Jetor) media; retorBa a mEdia aritmEtica dos eFemeBtos do Jetor) troca; receMe dois JaFores Q e \ e sDMstitDi Q por \ Bo Jetor) EQ); sDpor Q ] 5 e \ ] 0) Se o Jetor iBiciaFmeBte Fido Gosse p2: >: 5: *: &>: 5: 2: 0q: depois da troca eFe Gicaria; p2: >: 0: *: &>: 0: 2: 0q imprime; imprime o Jetor)

RECURSI IDADE
RecDrsiJidade E Dm coBceito matemOtico oBde a soFDo de Dm proMFema E eQpressa como Dma comMiBao de soFDIes de proMFemas idABticos: porEm meBores) A soFDo do meBor proMFema possNJeF coBsiste Ba soFDo de Dm caso eQtremo: o mais simpFes: UDe so as premissas soMre as UDais a soFDo recDrsiJa E criada)
?2

A eQistABcia de soFDo para o caso mais simpFes E BecessOria para UDe as eUDaIes de deGiBio recDrsiJa possam ser resoFJidas) Por eQempFo: a GDBo GatoriaF de Dm BPmero N iBteiro positiJo possDi as seCDiBtes eUDaIes recDrsiJas; +) %atoriaF T0V ] + 2) %atoriaF TNV ] N c %atoriaF TN&+V OMserJe Ba SeCDBda eUDao UDe o GatoriaF de Dm BPmero N E eQpresso em GDBo do GatoriaF do seD predecessor) A primeira eUDao trata do caso mais simpFes) QDaBdo Dm aFCoritmo E cHamado iteratiJo: isto E: eFe reUDer a repetio eQpFNcita de Dm processo atE UDe determiBada coBdio seWa satisGeita: eBto este aFCoritmo poderO GaRer Dso de recDrso) Em termos de aFCoritmoo de compDtadores: recDrsiJidade E DtiFiRada UDaBdo eQistem rotiBas UDe cHamam a si prXprias Bo decorrer do seD cXdiCo) EQempFos; +) !aFcDFo do GatoriaF de Dm BPmero N %DBo %ATOR"A$ TBV ; iBteiro B ; iBteiro[ "Bicio Se Bj0 EBto GatoriaF %ATOR"A$ TB a+V[ SeBo GatoriaF +[ %imse[ %im) 2) !aFcDFo do #D! eBtre # TdiJideBdoV e N TdiJisorV %DBo #D! Tm:BV ; iBteiro[ m: B ; iBteiro[ "Bicio Se B j m EBto mdc #D! TB:mV[ SeBo se B ] 0 EBto mdc m[ SeBo mdc #D! TB: Tm mod BVV[ %imse[ %imse[ %im) 5) S<R"E DE %"BONA!!" GDBo %"B TNV; iBteiro[ N; iBteiro[ iBicio

?5

": ANT: PEN: U$T; iBteiro[ ANT 0[ PEN +[ %"B 0[ para " de + atE N Gaa U$T ANT ^ PEN[ %"B %"B ^ U$T[ ANT PEN[ PEN U$T[ Gimpara[ Gim[ S<R"E DE %"BONA!!" & RE!URS"1"DADE GDBo %"B TNV ; iBteiro[ N; iBteiro[ iBicio se Ni] + eBto %"B +[ seBo %"B %"BTN&+V ^ %"BTN&2V[ Gimse[ Gim[ GDBo %"B TNV ; iBteiro[ N; iBteiro[ iBicio se N] + oD N]2 eBto %"B +[ seBo %"B %"BTN&+V ^ %"BTN&2V[ Gimse[ Gim[

A eQecDo de Dm procedimeBto recDrsiJo E CeraFmeBte eGetDada peFo Dso de sDM&rotiBas) !omo Dma rotiBa recDrsiJa cHama a si prXpria: E BecessOria Dma Orea de memXria para saFJar o seD coBteQto aBtes dessa cHamada recDrsiJa TreCistro de atiJaoV a Gim de UDe este possa ser restaDrado ao GiBaF dessa cHamada) Esses reCistros de atiJao so orCaBiRados em Gorma de piFHa) Na maioria dos casos Bo E preciso DtiFiRar recDrsiJidade: pois de Dm modo CeraF todo aFCoritmo recDrsiJo pode ser escrito em Gorma Bo&recDrsiJo[ Bo eBtaBto: em aFCDmas sitDaIes eFa E reaFmeBte oportDBa)

?6

A priBcipaF JaBtaCem de sDa DtiFiRao E a redDo do cXdiCo&GoBte da rotiBa) EBtretaBto: o Dso de recDrsiJidade apreseBta aFCDmas desJaBtaCeBs: tais como; - MaiQo desempeBHo Ba eQecDo deJido ao tempo Casto Bo CereBciameBto da piFHa de reCistros de atiJao e o espao por eFa ocDpado[ - diGicDFdade de depDrao dos aFCoritmos: particDFarmeBte se a recDrso Gor mDito proGDBda) Os priBcipais critErios a serem DtiFiRados para decidir se a recDrsiJidade deJe oD Bo ser DtiFiRada E a cFareRa do aFCoritmo e o desempeBHo esperado peFo aFCoritmo) ProGDBdidade !Hamamos de proGDBdidade ao BPmero de JeRes UDe Dma rotiBa recDrsiJa cHama a si prXpria: atE oMter o resDFtado) O cOFcDFo do GatoriaF de 5 possDi proGDBdidade 5: oD seWa: trAs BNJeis de recDrso; 5o ] 5 c 2o 2o ] 2 c +o NNJeF + +o ] + c 0o NNJeF 2 0o ] + NNJeF 5 E8ER!.!"OS +) EscreJa Dm aFCoritmo recDrsiJo para aJaFiar a c M DsaBdo a adio: oBde a e M so iBteiros Bo&BeCatiJos) 2) EscreJa Dma deGiBio recDrsiJa de a ^ M: oBde a e M so iBteiros Bo&BeCatiJos: em termos da GDBo sDcessora sDcc deGiBida como; %DBo SU!! TQV ; iBteiro[ Q;iBteiro[ "Bicio SU!! Q ^ +[ %im) 5) DetermiBe o UDe a seCDiBte GDBo recDrsiJa caFcDFa e escreJa Dma GDBo iteratiJa para atiBCir o mesmo oMWetiJo; %DBo %UN! TBV N; iBteiro[ "Bicio Se B ] 0 EBto %UN! 0[ SeBo %UN! B ^ %UN! TB&+V[ %imse[ %im)

ARQUI OS
?>

Um arUDiJo E Dm coBWDBto de reCistros: oD seWa: E Dma estrDtDra de dados: Ba UDaF cada reCistro Bo ocDpa Dma posio GiQa deBtro da estrDtDra: Bo possDiBdo portaBto tamaBHo preestaMeFecido) Os reCistros so Gormados por DBidades de iBGormao cHamadas campos) Os campos deJem possDir Dma reFao FXCica eBtre seDs coBtePdos: oD serem reFacioBados a Dm determiBado KoMWetoL: para eBto Gormarem Dm arUDiJo) Em Bosso cotidiaBo E BormaF a DtiFiRao de arUDiJos para armaReBar CraBdes UDaBtidades de iBGormao com maFeaMiFidade e por Dm CraBde perNodo de tempo) Estas iBGormaIes CDardadas em Dm arUDiJo podem ser DtiFiRadas por diGereBtes aFCoritmos a diGereBtes DsDOrios e de Gormas diGereBciadas) A estrDtDra cHamada arUDiJo permite aFCDmas operaIes MOsicas UDe podem ser JisDaFiRadas atraJEs de Dma aBaFoCia com Dma CaJeta de Dm arUDiJo de ao: UDe coBtEm aFCDmas pastas sDspeBsas UDe seriam Bossos reCistros) As operaIes possNJeis de serem reaFiRadas em Dm arUDiJo taBto reaF UDaBto JirtDaF so; - iBcFDso de reCistros ToD pastas sDspeBsasV[ - aFterao de reCistros ToD pastas sDspeBsasV[ - coBsDFta a Dm reCistro ToD a Dma pasta sDspeBsaV[ - eQcFDso de Dm reCistro ToD de Dma pasta sDspeBsaV) MANIPULAO Podemos admitir UDe todo arUDiJo possDi maBeiras semeFHaBtes de serem maBipDFados): iBdepeBdeBte de como Goi coBceMido) !oBcFDNmos UDe podemos coBsDFtar eYoD acrescer iBGormao ao arUDiJo) RetorBaBdo a aBaFoCia com Dm arUDiJo de ao: sX podemos maBipDFar reCistros Tpastas sDspeBsasV se o arUDiJo TCaJetaV estiJer aMerto) PortaBto: a primeira operao soMre Dm arUDiJo E KaMrirL) Da mesma Gorma: apXs o tErmiBo da maBipDFao dos reCistros Tpastas sDspeBsasV deJemos sempre GecHar o arUDiJo TCaJetaV) PortaBto: a PFtima operao soMre Dm arUDiJo E KGecHarL) Para CDardarmos Dm reCistro Bo arUDiJo: GaR&se BecessOrio UDe este possDa estrDtDrao de campos iCDaF Z dos reCistros armaReBados: e ao mesmo tempo esteWa compFetameBte preeBcHido) Uma JeR UDe: UDem CDarda: CDarda aFCDma coisa em aFCDm FDCar[ Beste comaBdo CDarda&se aFCDma iBGormao de dado reCistro para a posio atDaF do arUDiJo) CONCEPO DE ARQUI OS QDaBdo criamos Dm arUDiJo: DtiFiRamos determiBado padro de comportameBto UDe estaMeFece o modo peFo UDaF os reCistros so armaReBados Bo arUDiJo: isto E: o aFCoritmo estaMeFece a estrDtDrao do arUDiJo) SEQUEN!"A$ a caso a CraJao dos reCistros Bo arUDiJo seWa Geita de Gorma coBtNBDa: Dm apXs o oDtro: teremos estaMeFecido Dma circDBst`Bcia de seUDABcia Bo armaReBameBto dos

?,

reCistros: oMteBdo Dm arUDiJo cDWa coBcepo E dita seUDeBciaF) Nestas circDBst`Bcias diRemos UDe a FocaFiRao de UDaFUDer Dm dos reCistros UDe Goi armaReBado E iBdetermiBada: oD seWa: para acessar Dm reCistro especNGico precisamos oMedecer a sDa ordem de CraJao: o UDe impFica percorrer todos os reCistros UDe o aBtecedem: Dm apXs o oDtro) No caso de acrescermos Dm reCistro ao arUDiJo: este serO iBserido por PFtimo) Na Gorma de armaReBameBto seUDeBciaF serO BecessOria a deGiBio de dDas Gormas de aMertDra de arUDiJo: Dma para FeitDra T posicioBaBdo Bo iBicio do arUDiJo: isto E: Bo primeiro reCistroV e oDtra para CraJao T posicioBaBdo Bo Gim do arUDiJo: isto E: apXs o PFtimo reCistroV) A coBsDFta de Dm determiBado reCistro deJe ser Geita por comparao) 1eriGica&se se o coBtePdo de Dm determiBado campo E iCDaF ao JaFor procDrado: e assim seBdo: eBcoBtramos o reCistro) Em caso coBtrOrio: deJe&se Fer os reCistros sDMseUDeBtes sDcessiJameBte atE eBcoBtrar o reCistro deseWado oD atiBCir o GiBaF do arUDiJo) Para ideBtiGicar o GiBaF de arUDiJo: DtiFiRa&se Dm reCistro GiBaFiRador: UDe E Dm JaFor atriMDNdo ao campo cHaJe: para ideBtiGicarmos o PFtimo reCistro do arUDiJo) D"RETA a a priBcipaF caracterNstica deste tipo de orCaBiRao de arUDiJo E UDe os reCistros podem ser acessados diretameBte) "sto E possNJeF porUDe cada reCistro E associado a Dm BPmero UDe represeBta sDa posio Bo arUDiJo) Este BPmero Bo GaR parte o reCistro) Ao criar Dm arUDiJo pode&se DtiFiRar Dm aFCoritmo UDe eQpresse Dm padro rNCido: com o oMWetiJo de estrDtDrar o arUDiJo para GaciFitar sDa maBipDFao) AtraJEs de Dm dos campos do reCistro podemos determiBar o FDCar oBde estO CDardada a iBGormao deseWada: podeBdo acessO&Fo de modo iBstaBt`Beo) Este campo E deBomiBado !'A1E: pois E Dma iBGormao capaR de acessar o reCistro: eFa deJe ser PBica: pois Bo podemos armaReBar dois reCistros diGereBtes em Dma mesma FocaFiRao) Desta Gorma os reCistros possDem Dm FDCar reserJado oBde sero CraJados: FDCar este ideBtiGicado peFa cHaJe) "NDE8ADA a o mEtodo de acesso direto E iBeGicieBte para aFCDmas apFicaIes: pois E diGNciF reFacioBar o BPmero do reCistro com o seD coBtePdo: Dma JeR UDe este BPmero Bo GaR parte do reCistro) Por eQempFo: UDaF E o BPmero do reCistro UDe coBtEm as Botas do aFDBo @osE da SiFJad Este proMFema E resoFJido DsaBdo mEtodos de cFassiGicao e pesUDisa de dados) Na orCaBiRao iBdeQada tem&se UDe coBstrDir Dm arUDiJo aDQiFiar: tamMEm cHamado de arUDiJo de NBdices: UDe serO coBstitDNdo de reCistros: coBteBdo apeBas dois campos: o campo UDe irO armaReBar a cHaJe de acesso e o campo UDe irO armaReBar o BPmero do reCistro Bo arUDiJo de orCaBiRao direta) Desta Gorma: a FocaFiRao do reCistro pode ser Geita atraJEs de pesUDisa MiBOria peFo campo cHaJe deseWado: e em seCDida FA&se o reCistro iBdicado peFo BPmero do reCistro Bo arUDiJo de orCaBiRao direta) Este caso assemeFHa&se a Dma eBcicFopEdia Bo aFGaMEtica UDe possDi Dm JoFDme de NBdices: Bo UDaF esto reFacioBados em ordem aFGaMEtica os assDBtos e FoCo ao Fado o JoFDme e pOCiBa oBde eBcoBtrO&Fo: acessaBdo&o de Gorma direta)

?*

COMANDOS DE MANIPULAO DE ARQUI OS !omo Dm arUDiJo E composto por reCistros: para deGiBirmos Dm arUDiJos deJemos: primeirameBte: deGiBir o reCistro UDe irO compb&Fo) Precisamos ter coBHecimeBto de UDe Dm arUDiJo armaReBa diJersos reCistro porEm todos com Dm mesmo Fa\&oDt: FoCo o Fa\&oDt dos reCistros de Dm arUDiJo E PBico) A siBtaQe para deGiBio de arUDiJos em Dm aFCoritmo seCDe a reCra aMaiQo; i Bome do arUDiJoj ] ARQU"1O i tipo de orCaBiRaoj DE i Bome do reCistroj [ OBde: tipo de orCaBiRao pode ser seUDeBciaF: direta oD iBdeQada e irO deGiBir a Gorma de acesso aos reCistros do arUDiJo) ABR"R U# ARQU"1O a como dito aBteriormeBte: Bo se pode oMter iBGormao coBtida em Dm arUDiJo sem aBtes aMri&Fo: em aFCoritmos isto serO Geito peFo comaBdo; ABR"R T iBome do arUDiJoj V[ !aso o arUDiJo teBHa Gormato de orCaBiRao seUDeBciaF deJe&se iBdicar se eFe serO aMerto para FeitDra oD CraJao) "BdicaBdo assim o posicioBameBto do mesmo: respectiJameBte: Bo iBNcio oD GiBaF do arUDiJo; ABR"R T iBome do arUDiJoj : iFeitDra Y CraJaoj V[ %E!'AR U# ARQU"1O a Bo deJemos maBter o arUDiJo aMerto depois de DsO&Fo: pois isso deiQaria seD coBtePdo eQposto a aCeBtes eQterBos UDe poderiam daBiGicar sDa iBteCridade) Por isso: coBJEm sempre GecHar os arUDiJos apXs sDa DtiFiRao: DtiFiRaBdo o comaBdo; %E!'AR T i Bome do arUDiJoj V[ Neste caso Bo importa a Gorma de orCaBiRao do arUDiJo: to poDco a raRo de sDa aMertDra) !OP"AR U# RE/"STRO a Dm arUDiJo Bo deJe ter seDs reCistros coBsDmidos e sim coBsDFtados e: para taF: precisa&se copiar o coBtePdo UDe iBteressa em aFCDm FDCar para eBto GaRer sDa DtiFiRao) O FocaF mais apropriado para esta cXpia E o prXprio reCistro UDe compIem o arUDiJo: pois terO o mesmo Gormato de campos) Neste caso copiam&se as iBGormaIes da posio correBte do arUDiJo para o reCistro especiGicado: oBde todos os campos do reCistro do arUDiJo so copiados para os respectiJos campos do reCistro estaMeFecido Bo comaBdo) !OP"AR T iBome do arUDiJo j : i Bome do reCistro jV[

??

/RA1ANDO U# RE/"STRO a sempre UDe aFCDma BoJa iBGormao deJa ser CraJada Bo arUDiJo esta deJe ser Geita em Gorma do reCistro UDe compIem o reGerido arUDiJo) Assim: deJe&se preeBcHer todos os campos do reCistro para eBto: CraJO&Fo Bo arUDiJo) Esta CraJao ocorrerO Ba posio atDaF do arUDiJo) O comaBdo serO; /RA1AR T iBome do reCistroj : iBome do arUDiJoj V[ Para percorrer todos os reCistros de Dm arUDiJo: a partir do primeiro: atE eBcoBtrar seD Gim) Este comaBdo posicioBa o arUDiJo Ba posio coBsecDtiJa: oD seWa: Bo prXQimo reCistro: e E deGiBido como; A1AN3AR Ti Bome do arUDiJojV[ ODtra iBstrDo MastaBte importaBte E a UDe ideBtiGica o GiBaF do arUDiJo) Esta GDBo retorBa Jerdadeiro UDaBdo a posio correBte E o Gim do arUDiJo: e GaFso em caso coBtrOrio) SDa siBtaQe E; EO% TiBome do arUDiJojV oD %DA Ti Bome do arUDiJojV[ oBde EO% simMoFiRa: EBd OG %iFe e %DA simMoFiRa: %iBaF De ArUDiJo) QDaBdo tem&se Dm arUDiJo com orCaBiRao direta pode&se atiBCir o reCistro deseWado GaReBdo Dso do campo cHaJe: para taBto DtiFiRa&se o comaBdo PosicioBar: oBde a posio correBte do arUDiJo passa a ser a iBdicada peFa cHaJe: da seCDiBte Gorma; POS"!"ONAR T iBome do arUDiJoj : icHaJej V[ A Gorma de acesso ao arUDiJo iBdepeBde de sDa orCaBiRao: pode&se iCDaFmeBte acessar Dm arUDiJo de orCaBiRao direta de Gorma seUDeBciaF) Assim como Dm arUDiJo seUDeBciaF poderO ser acessado de Gorma direta desde UDe seWa Cerado Dm arUDiJo iBdeQado associaBdo Dm campo do reCistro deste arUDiJo: deBomiBado como cHaJe: ao seD BPmero de reCistro Bo arUDiJo seUDeBciaF)

E8ER!.!"OS SOBRE ARQU"1OS +) SDpoBdo Dm arUDiJo com os reCistros com os campos; matrNcDFa: Bome: eBdereo: sitDao: tNtDFo de eFeitor: cpG: rC: coBta MaBcOria: estado ciJiF: carCo: saFOrio) "mprimir os GDBcioBOrios com; sitDao ] aGastado: carCo ] iBstrDtor e saFOrio acima de Rt 600:00) 2) Dado o arUDiJo !adastro com reCistros com campos; Bome: seQo: cor&de&oFHos: aFtDra: peso e data de BascimeBto) !riar Dm arUDiJo 'omeBs cDWo seQo ]+ e Dm arUDiJo #DFHeres cDWo seQo ] 2) Estes dois BoJos arUDiJos tem reCistros com campos Bome: peso e data de BascimeBto)
?0

5) Uma distriMDidora de MeMidas aMastece o mercado de !oca&coFa) A empresa: Bo momeBto: estO preparaBdo o imiBeBte FaBameBto da !oca $iCHt PFDs) Assim: resoFJeD GaRer Dma pesUDisa de opiBio Ba cidade para determiBar UDaF a meFHor estratECia a seCDir) Os dados da pesUDisa esto em Dm arUDiJo com o Fa\&oDt; ideBtiGicao do UDarteiro da cidade: UDaBtidade de criaBas Bo UDarteiro: UDaBtidade de adoFesceBtes Bo UDarteiro: UDaBtidade de oMesos Bo UDarteiro: UDaBtidade de diaMEticos Bo UDarteiro: totaF de pessoas Bo UDarteiro) DeJe&se criar Dm aFCoritmo UDe Feia e processe os dados: iBGormaBdo; aV UDaBtos UDarteirIes tem mais de +00 oMesos[ MV UDaF a perceBtaCem mEdia T] mEdia das perceBtaCeBsV de criaBas por UDarteiro soMre o totaF de pessoas Bo UDarteiro[ cV UDaBtos UDarteirIes tem mais adoFesceBtes do UDe criaBas[ dV UDaBtos UDarteirIes tem mais de >s de diaMEticos) 6) Uma reJeBda de aDtomXJeis UDer GaRer Dma pesUDisa para determiBar se HO correFao eBtre reBda GamiFiar e cor do aDtomXJeF adUDirido) Para taBto: cada JeBda reaFiRada Bo mAs passado: CeroD Dm reCistro maCBEtico coBteBdo; reBda GamiFiar: cor do carro adUDirido) As cores possNJeis so; amareFo: aRDF: MraBco: ciBRa: marrom: preto e JermeFHo) @O as cFasses de reBda so 5; de 0 a >0 saF mNBimos: de >0:0+ a +>0 saF mNBimos: acima de +>0 saF miB) $er o JaFor do saF mNBimo Bo iBicio do aFCoritmo e imprimir a UDaBtidade de carros JeBdidos por cor em cada cFasse de reBda) >)EQiste Dm arUDiJo de GDBcioBOrios com reCistros com o Fa\&oDt; Bome: carteira proGissioBaF: eBdereo: Mairro: teFeGoBe: !EP: !P%: tNtDFo de eFeitor: BPmero de depeBdeBtes: carCo: saFOrio Mase: data de admisso Tdia: mAs: aBoV: data de demisso Tdia: mAs: aBoV) A partir deste arUDiJo: deseWa&se; aV aDmeBtar o saFOrio em +0s dos GDBcioBOrios casados e admitidos atE 50Y00Y0*[ MV reFao dos GDBcioBOrios Bo soFteiros[ cV reFao dos GDBcioBOrios por GaiQa saFariaF; + a 2 saFOrios mNBimos 2 a 6 saFOrios mNBimos 6 a * saFOrios mNBimos acima de * saFOrios mNBimos: o JaFor do saFOrio mNBimo deJe ser Fido Bo iBNcio do procedimeBto[ dV reFao dos GDBcioBOrios com teFeGoBe UDe esto demitidos) UtiFiRar GDBo oD procedimeBto para cada Dm dos iteBs acima)

00

,) !riar Dm aFCoritmo portDCoF UDe Gaa o caFcDFo do JaFor do saFOrio FNUDido de Dm GDBcioBOrio) O arUDiJo de GDBc) coBtEm reCistros com os campos; matrNcDFa: Bome: eBdereo: !P%: R/: titDFo eFeitor: estado ciJiF: seQo: data BascimeBto: coBta correBte: saFOrio meBsaF T220 HorasV: BDm Horas eQtras: BDm de dias GaFtados: JaFe traBsporte TSYNV: JaFe reGeio TSYNV: BDm depeBdeBtes & para cada depeBdeBte; CraD de pareBtesco TGiFHo: esposaV: data BascimeBto DescoBtos; TaMeFa de descoBto de "NSS soMre todos os proJeBtos; de 0 a +0 S# & 0s de +0 a 2> S# & +>s acima de 2> S# & 2>s DescoBto do %/TS eUDiJaFe a ?s do JaFor MrDto de proJeBtos) Para cada dia GaFtado dimiBDir ? Horas de traMaFHo) 1aFe reGeio & 20s do S#) 1aFe traBsporte & ,s do saFOrio MrDto) TaMeFa de descoBto de aDQiFio saPde & todos os GDBcioBOrios possDem titDFar & +:>s do saFOrio MrDto) depeBdeBtes & esposa & 5s do saFOrio MrDto GiFHos atE +6 aBos & 2s do saFOrio MrDto GiFHos acima de +6 aBos & 5s do saFOrio MrDto) ProJeBtos; 1aFor do saFOrio GamNFia; Rt +20:00 por GiFHo com meBos de +6 aBos) Para cada Hora eQtra o JaFor da Hora E >0s mais UDe a Hora BormaF) SaFOrio $NUDido ; proJeBtos ] saFOrio MrDto ^ saFOrio GamNFia ^ Hora eQtra descoBto ] TproJeBtos c s do "NSSV ^ JaFe reGeio ^ JaFe traBsporte ^ aDQiFio saPde ^ JaFor GaFtas FiUDido ] proJeBtos & descoBtos $er Bo iBicio o JaFor do S#) UtiFiRar procedimeBtos e GDBIes) "mprimir ao GiBaF; matricDFa: Bome: coBta correBte: saFOrio a ser paCo: totaF do "NSS: totaF do %/TS e totaF FNUDido da GoFHa de paCameBto)

0+

E8ER!.!"OS D"1ERSOS
+) Dado Dm coBWDBto de datas do aBo de +00,: Bo Gormato dia e mAs: determiBar UDaF o BPmero reFatiJo deste dia Bo aBo: coBsideraBdo o dia +x de WaBeiro como dia BPmero +: e o dia 5+ de deRemMro como dia BPmero 5,>) O aFCoritmo deJe prosseCDir FeBdo e caFcDFaBdo atE UDe Dm dia iCDaF a Rero seWa Fido) 2) Dada Dma matriR de dimeBsIes ? 8 +>: oMter Dma oDtra tamMEm ? 8 +>: oBde cada FiBHa Goi diJidida peFo meBor eFemeBto da FiBHa correspoBdeBte Ba matriR oriCiBaF) 5) Dada Dma matriR de dimeBsIes 0 8 +2: oMter Dma oDtra tamMEm de 0 8 +2: oBde cada FiBHa Goi diJidida peFa somatXria dos eFemeBtos da FiBHa correspoBdeBte da matriR oriCiBaF) 6) DeGiBir Dm aFCoritmo PortDCoF capaR de receMer Dma sErie de datas: sempre reGereBtes ao aBo de +00,: e Bo Gormato dia e mAs) Para cada Dma deFas: o aFCoritmo deJe caFcDFar Dma BoJa data: Bo mesmo Gormato: e UDe correspoBda ao perNodo de +?0 dias posterior a data oriCiBaF) A sErie de datas se eBcerra UDaBdo Gor Fido Dm dia iCDaF a Rero) >) Dada Dma matriR * 8 +2: deGiBir Dm aFCoritmo UDe Feia a matriR: e a seCDir: cFassiGiUDe as FiBHas da matriR em ordem cresceBte) A matriR resDFtado deJe ser impressa ao GiBaF) ,) !riar Dm aFCoritmo UDe Feia Dm Jetor de >00 eFemeBtos iBteiros) A seCDir o aFCoritmo deJe determiBar UDaF o JaFor UDe mais aparece Beste Jetor e UDaBtas JeRes eFe aparece) Estas dDas iBGormaIes deJem ser impressas ao GiBaF) *) Dados dois HorOrios Bo Gormato Hora e miBDto; Hora JariaBdo de 0 atE ++[ miBDtos JariaBdo de 0 atE >0[ deGiBir Dm aFCoritmo UDe Feia Dm par de HorOrios: sempre reGereBtes a Dm mesmo dia: e iBGorme UDaF a diGereBa eBtre os dois) O aFCoritmo termiBa UDaBdo a primeira Hora Gor iCDaF a 00) Por deGiBio: o seCDBdo HorOrio BDBca E meBor UDe o primeiro: e a diGereBa eBtre os dois deJe ser iBGormada Bo mesmo Gormato; Hora e miBDto)

?) Uma partida de roFameBtos E composta de UDaBtidades JariOJeis de roFameBtos tipos +: 2 e especiaF) EFa E aceita Bo TODO UDaBdo; peFo meBos 0*s de roFameBtos tipo + Bo tem deGeito E peFo meBos 0>s de roFameBtos tipo 2 Bo tem deGeito E meBos de +000 roFameBtos tipo especiaF tem deGeito) Os dados reGereBtes a cada partida esto Bo Gormato; NPmero da partida[ Tipo do roFameBto[ QDaBtidade de roFameBtos[ QDaBtidade de roFameBtos cYdeGeito) DeJe&se deGiBir Dma aFCoritmo UDe Feia todos os dados do arUDiJo e: para cada partida: deJe&se imprimir seD BPmero e a ideBtiGicao; A!E"TA oD RE@E"TADA)

02

0) Os BPmeros romaBos so aiBda DtiFiRados em mDitas iBdicaIes) !oBHeceBdo seDs sNmMoFos: UDe so; " ] +[ 1]>[ 8]+0[ $]>0[ !]+00: D]>00 e #]+000: escreJa Dm aFCoritmo UDe Feia o BPmero iBteiro e Cere: para cada BPmero Fido: o eUDiJaFeBte em BPmeros romaBos: imprimiBdo ao GiBaF) +0) Um GaMricaBte de marCariBa deseWa HomeBaCear sDa me Bo FaBameBto de Dm BoJo prodDto Bo prXQimo aBo) A BoJa marCariBa deJerO ter Dm Bome Gormado por aFCDma comMiBao das Fetras # E R T A: UDe E o Bome da me do GaMricaBte) O aFCoritmo deJe imprimir as +20 comMiBaIes possNJeis: assim o GaMricaBte escoFHerO o Bome UDe UDiser) ++) Uma GaReBda resoFJeD aDtomatiRar o processo de tomada de deciso para escoFHa de semeBtes de triCo) Assim: a Orea de pFaBtio Goi diJidida em ?,00 Fotes distiBtos: UDe deJidameBte semeados: tiJeram a cDFtDra de 0>Y0, oMserJada) A partir dos dados FeJaBtados Bo campo: Goi criado Dm arUDiJo coBteBdo o seCDiBte Fa\&oDt; "deBtiGicao do Fote[ Tipo de semeBte[ 2rea do Fote pFaBtado[ QDaBtidade de triCo coFHido Bo Fote em kC[ QDaFidade do prodDto) EQistem 22 tipos de semeBtes : BDmeradas de + atE 22) A UDaFidade do prodDto E Dm BPmero UDe siCBiGica; +] eQceFeBte[ 2]raRoOJeF[ 5]iBGerior) SDpIem&se UDe o cDsto de todos os tipos de semeBte E o mesmo) DeJe&se deGiBir Dm aFCoritmo UDe Feia o arUDiJo: determiBe e imprima UDaF o tipo de semeBte mais prodDtiJa: seCDiBdo o critErio; Se o triCo prodDRido Gor eQceFeBte: a prodDtiJidade do Fote deJe ser aDmeBtada de 20s) Se o triCo Gor iBGerior: a prodDtiJidade deJe ser dimiBDNda em +>s) Para cada tipo de semeBte: deJem ser totaFiRadas as iBGormaIes de Orea e peso do prodDto prodDRido) A semeBte mais prodDtiJa E aUDeFa UDe tiJer maior coeGicieBte pesoYOrea)

05

Você também pode gostar