Anda di halaman 1dari 3

Introduoprogramao/DefiniessobreLgicadeProgramao

Origem:Wikilivros,livrosabertosporummundoaberto.
<Introduoprogramao

LgicadeProgramaoatcnicadedesenvolveralgoritmos(sequnciaslgicas)paraatingirdeterminadosobjetivosdentrodecertasregrasbaseadasna
LgicamatemticaeemoutrasteoriasbsicasdaCinciadaComputaoequedepoissoadaptadosparaaLinguagemdeProgramaoutilizadapelo
programadorparaconstruirseusoftware.

Umalgoritmoumasequncianoambguadeinstruesqueexecutadaatquedeterminadacondioseverifique.Maisespecificamente,emmatemtica,
constituioconjuntodeprocessos(esmbolosqueosrepresentam)paraefetuarumclculo.

Oconceitodealgoritmofrequentementeilustradopeloexemplodeumareceita,emboramuitosalgoritmossejammaiscomplexos.Elespodemrepetirpassos
(fazeriteraes)ounecessitardedecises(taiscomocomparaesoulgica)atqueatarefasejacompletada.Umalgoritmocorretamenteexecutadonoir
resolverumproblemaseestiverimplementadoincorretamenteousenoforapropriadoaoproblema.

Umalgoritmonorepresenta,necessariamente,umprogramadecomputador,esimospassosnecessriospararealizarumatarefa.Suaimplementaopodeser
feitaporumcomputador,poroutrotipodeautmatooumesmoporumserhumano.Diferentesalgoritmospodemrealizaramesmatarefausandoumconjunto
diferenciadodeinstruesemmaisoumenostempo,espaoouesforodoqueoutros.Taldiferenapodeserreflexodacomplexidadecomputacionalaplicada,
quedependedeestruturasdedadosadequadasaoalgoritmo.Porexemplo,umalgoritmoparasevestirpodeespecificarquevocvistaprimeiroasmeiaseos
sapatosantesdevestiracalaenquantooutroalgoritmoespecificaquevocdeveprimeirovestiracalaedepoisasmeiaseossapatos.Ficaclaroqueoprimeiro
algoritmomaisdifcildeexecutarqueosegundoapesardeamboslevaremaomesmoresultado.

Oconceitodeumalgoritmofoiformalizadoem1936pelaMquinadeTuringdeAlanTuringepeloclculolambdadeAlonzoChurch,queformaramas
primeirasfundaesdaCinciadaComputao.

ndice
1 Formalismo
2 Trminodoalgoritmo
3 Implementao
4 Anlisedealgoritmos
5 Classificao
5.1 Classificaoporimplementao
5.2 Classificaoporparadigma
5.3 Classificaoporcampodeestudo
5.4 Classificaoporcomplexidade
6 Resumo
7 Bibliografia

Formalismo
Umprogramadecomputadoressencialmenteumalgoritmoquedizaocomputadorospassosespecficoseemqueordemelesdevemserexecutados,comopor
exemplo,ospassosaseremtomadosparacalcularasnotasqueseroimpressasnosboletinsdosalunosdeumaescola.Logo,oalgoritmopodeserconsiderado
umasequnciadeoperaesquepodemsersimuladasporumamquinadeTuringcompleta.

Quandoosprocedimentosdeumalgoritmoenvolvemoprocessamentodedados,ainformaolidadeumafontedeentrada,processadaeretornadasobnovo
valorapsprocessamento,oquegeralmenterealizadocomoauxliodeumaoumaisestruturasdedados.

Paraqualquerprocessocomputacionalterico,oalgoritmoprecisaestarrigorosamentedefinido,especificandoamaneiraqueelesecomportaremtodasas
circunstncias.Acorretudedoalgoritmopodeserprovadamatematicamente,bemcomoaquantidadeassintticadetempoeespao(complexidade)necessrios
paraasuaexecuo.Estesaspectosdosalgoritmossoalvodaanlisedealgoritmos.Asimplementaes,porm,podemselimitaracasosespecficos.

Amaneiramaissimplesdesepensarumalgoritmoporumalistadeprocedimentosbemdefinida,noqualasinstruessoexecutadaspassoapassoapartirdo
comeodalista,umaideiaquepodeserfacilmentevisualizadaatravsdeumfluxograma.Talformalizaoadotaaspremissasdaprogramaoimperativa,que
umaformamecnicaparavisualizaredesenvolverumalgoritmo.Concepesalternativasparaalgoritmosvariamemprogramaofuncionaleprogramao
lgica.

Trminodoalgoritmo
Algunsautoresrestringemadefiniodealgoritmoparaprocedimentosqueeventualmenteterminam.Minksyconstatouqueseotamanhodeumprocedimento
noconhecidodeantemo,tentardescobriloproblemaindecidveljqueoprocedimentopodeserexecutadoinfinitamente,deformaquenuncasetera
resposta.AlanTuringprovouem1936quenoexistemquinadeTuringpararealizartalanliseparatodososcasos,logonohalgoritmopararealizartaltarefa
paratodososcasos.Talcondioconhecidaatualmentecomoproblemadaparada.Basicamente,istoquerdizerquenoexisteumprogramadecomputadorque
possaantever,deformageral,seumoutroprogramadecomputadorvaipararalgumdia.

Paraalgoritmosinterminveisosucessonopodeserdeterminadopelainterpretaodarespostaesimporcondiesimpostaspeloprpriodesenvolvedordo
algoritmodurantesuaexecuo.Porexemplo,podemosquererumalgoritmointerminvelparacontrolarumsinaldetrnsito.

Implementao
Amaioriadosalgoritmosdesenvolvidaparaserimplementadaemumprogramadecomputador.Apesardissoelestambmpodemserimplementadosporoutros
modostaiscomoumaredeneuralbiolgica(talcomonocrebroquandoefetuamosoperaesaritmticas)emcircuitoseltricosouatmesmoemdispositivos
mecnicos.
Paraprogramasdecomputadorexistemumagrandevariedadedelinguagensdeprogramao,cadaumacomcaractersticasespecficasquepodemfacilitara
implementaodedeterminadosalgoritmosouatenderapropsitosmaisgerais.

Anlisedealgoritmos
Aanlisedealgoritmosumramodacinciadacomputaoqueestudaastcnicasdeprojetodealgoritmoseosalgoritmosdeformaabstrata,semestarem
implementadosemumalinguagemdeprogramaoemparticularouimplementadasdealgumoutromodo.Elapreocupasecomosrecursosnecessriosparaa
execuodoalgoritmotaiscomootempodeexecuoeoespaodearmazenamentodedados.Deveseperceberqueparaumdadoalgoritmopodeseter
diferentesquantidadesderecursosalocadosdeacordocomosparmetrospassadosnaentrada.Porexemplo,sedefinirmosqueofatorialdeumnmeronatural
igualaofatorialdeseuantecessormultiplicadopeloprprionmero,ficaclaroqueaexecuodefatorial(10)consomemaistempoqueaexecuodefatorial(5).

Ummeiodeexibirumalgoritmoafimdeanalisloatravsdaimplementaoporpseudocdigoemportugusestruturado.Oexemploaseguirumalgoritmo
emportugusestruturadoqueretorna(valordesada)asomadedoisvalores(tambmconhecidoscomoparmetrosouargumentos,valoresdeentrada)queso
introduzidosnachamadadafuno:

funoSomaDeDoisValores(Anumrico,Bnumrico)
inicio
declareSOMAnumrico
SOMA<A+B
retorne(SOMA)
fim

Classificao
Classificaoporimplementao

Podeseclassificaralgoritmospelamaneirapeloqualforamimplementados.

Recursivoouiterativoumalgoritmorecursivopossuiacaractersticadeinvocarasimesmorepetidamenteatquecertacondiosejasatisfeitaeele
terminado,queummtodocomumemprogramaofuncional.Algoritmositerativousamestruturasderepetiotaiscomolaos,ouaindaestruturasde
dadosadicionaistaiscomopilhas,pararesolverproblemas.Cadaalgoritmorecursivopossuiumalgoritmoiterativoequivalenteeviceversa,masquepode
termaisoumenoscomplexidadeemsuaconstruo.possvelconstruiralgoritmosquesejamaomesmotempoiterativoerecursivo,provavelmentepara
aproveitaralgumaotimizaodetempoouespaoqueissopermita.

Lgicoumalgoritmopodeservistocomoumadeduolgicacontrolada.Ocomponentelgicoexpressaosaxiomasusadosnacomputaoeo
componentedecontroledeterminaamaneiracomoadeduoaplicadaaosaxiomas.Talconceitobaseparaaprogramaolgica.

Serialouparaleloalgoritmossogeralmenteassumidosporseremexecutadosinstruoinstruoindividualmente,comoumalistadeexecuo,oque
constituiumalgoritmoserial.Talconceitobaseparaaprogramaoimperativa.Poroutroladoexistemalgoritmosexecutadosparalelamente,quelevam
emcontaarquiteturasdecomputadorescommaisdeumprocessadorparaexecutarmaisdeumainstruoaomesmotempo.Taisalgoritmosdividemos
problemasemsubproblemaseodelegamaquantosprocessadoresestiveremdisponveis,agrupandonofinaloresultadodossubproblemasemum
resultadofinalaoalgoritmo.Talconceitobaseparaaprogramaoparalela.Deformageral,algoritmositerativossoparalelizveisporoutrolado
existemalgoritmosquenosoparalelizveis,chamadosentoproblemasinerentementeseriais.

Determinsticoounodeterminsticoalgoritmosdeterminsticosresolvemoproblemacomumadecisoexataacadapassoenquantoalgoritmosno
determinsticosresolvemoproblemaaodeduzirosmelhorespassosatravsdeestimativassobformadeheursticas.

Exatoouaproximadoenquantoalgunsalgoritmosencontramumarespostaexata,algoritmosdeaproximaoprocuramumarespostaprximaa
verdadeirasoluo,sejaatravsdeestratgiadeterminsticaoualeatria.Possuemaplicaesprticassobretudoparaproblemasmuitocomplexos,doqual
umarespostacorretainviveldevidosuacomplexidadecomputacional.

Classificaoporparadigma

Podeseclassificaralgoritmospelametodologiaouparadigmadeseudesenvolvimento,taiscomo:

Divisoeconquistaalgoritmosdedivisoeconquistareduzemrepetidamenteoproblemaemsubproblemas,geralmentedeformarecursiva,atqueo
subproblemapequenoosuficienteparaserresolvido.Umexemploprticooalgoritmodeordenaomergesort.Umavariantedessametodologiao
decrementoeconquista,queresolveumsubproblemaeutilizaoasoluopararesolverumproblemamaior.Umexemploprticooalgoritmopara
pesquisabinria.
Programaodinmicapodeseutilizaraprogramaodinmicaparaevitaroreclculodesoluojresolvidasanteriormente.
Algoritmogananciosoumalgoritmogananciososimilarprogramaodinmica,masdiferenamedidaqueassoluesdossubproblemasno
precisamserconhecidasacadapasso,umaescolhagananciosapodeserfeitaacadamomentocomoqueatentoparecesermaisadequado.

Programaolinear

Reduoareduoresolveoproblemaaotransformloemoutroproblema.chamadotambmtransformaoeconquista.
Buscaeenumeraovriosproblemaspodemsermodeladosatravsdegrafos.Umalgoritmodeexploraodegrafopodeserusadoparacaminharpela
estruturaeretornaminformaesteisparaaresoluodoproblema.Estacategoriaincluialgoritmosdebuscaebacktracking.
Paradigmaheursticoeprobabilsticoalgoritmosprobabilsticosrealizamescolhasaleatoriamente.Algoritmosgenticostentamencontrarasoluo
atravsdeciclosdemutaesevolucionriasentregeraesdepassos,tendendoparaasoluoexatadoproblema.Algoritmosheursticosencontramuma
soluoaproximadaparaoproblema.

Classificaoporcampodeestudo

Cadacampodacinciapossuiseusprpriosproblemaserespectivosalgoritmos,adequadospararesolvlos.Exemplosclssicossoalgoritmosdebusca,de
ordenao,deanlisenumrica,deteoriadegrafos,demanipulaodecadeiasdetexto,degeometriacomputacional,deanlisecombinatria,deaprendizagem
demquina,decriptografia,decompressodedadosedeinterpretaodetexto.

Classificaoporcomplexidade
Verartigoprincipal:Complexidadecomputacional.Algunsalgoritmossoexecutadosemtempolinear,deacordocomaentrada,enquantooutrossoexecutados
emtempoexponencialouatmesmonuncaterminamdeseremexecutados.Algunsproblemaspossuemmltiplosalgoritmosenquantooutrosnopossuem
algoritmospararesoluo.

Resumo
Bibliografia

Obtidoem"https://pt.wikibooks.org/w/index.php?title=Introduo__programao/Definies_sobre_Lgica_de_Programao&oldid=422502"

Categoria: Livro/Introduoprogramao

Estapginafoimodificadapelaltimavez(s)20h57minde16dejunhode2016.
EstetextodisponibilizadonostermosdalicenaCreativeCommonsAtribuioCompartilhamentopelamesmaLicena3.0Unportedpodeestarsujeitoa
condiesadicionais.ConsulteasCondiesdeUsoparamaisdetalhes.

Anda mungkin juga menyukai