Sie sind auf Seite 1von 3

Diferenasentreediesde"Introduoprogramao/Definiessobre

LgicadeProgramao"
Origem:Wikilivros,livrosabertosporummundoaberto.
<Introduoprogramao
[edioverificada] [revisopendente]
Revisodas15h44minde15dejaneirode2014(editar) Edioatualdesdeas20h57minde16dejunhode2016(editar)
Abacaxi(Discusso|contribs) (desfazer)
Edioanterior MarcosAntnioNunesdeMoura(Discusso|contribs)
m(Foramrevertidasasediesde105.168.33.97(disc)paraaltimareviso
deSavh)

(H7revisesintermdiasde7utilizadoresquenoestoaserapresentadas)
Linha35: Linha35:

Aanlisedealgoritmosumramodacinciadacomputaoqueestudaastcnicas Aanlisedealgoritmosumramodacinciadacomputaoqueestudaastcnicas
deprojetodealgoritmoseosalgoritmosdeformaabstrata,semestarem deprojetodealgoritmoseosalgoritmosdeformaabstrata,semestarem
implementadosemumalinguagemdeprogramaoemparticularou implementadosemumalinguagemdeprogramaoemparticularou
implementadasdealgumoutromodo.Elapreocupasecomosrecursosnecessrios implementadasdealgumoutromodo.Elapreocupasecomosrecursosnecessrios
paraaexecuodoalgoritmotaiscomootempodeexecuoeoespaode paraaexecuodoalgoritmotaiscomootempodeexecuoeoespaode
armazenamentodedados.Deveseperceberqueparaumdadoalgoritmopodese armazenamentodedados.Deveseperceberqueparaumdadoalgoritmopodese
terdiferentesquantidadesderecursosalocadosdeacordocomosparmetros terdiferentesquantidadesderecursosalocadosdeacordocomosparmetros
passadosnaentrada.Porexemplo,sedefinirmosqueofatorialdeumnmero passadosnaentrada.Porexemplo,sedefinirmosqueofatorialdeumnmero
naturaligualaofatorialdeseuantecessormultiplicadopeloprprionmero,fica naturaligualaofatorialdeseuantecessormultiplicadopeloprprionmero,fica
claroqueaexecuodefatorial(10)consomemaistempoqueaexecuode claroqueaexecuodefatorial(10)consomemaistempoqueaexecuode
fatorial(5). fatorial(5).


Ummeiodeexibirumalgoritmoafimdeanalisloatravsdaimplementao Ummeiodeexibirumalgoritmoafimdeanalisloatravsdaimplementao
porpseudocdigoemportugusestruturado.Oexemploaseguirumalgoritmo porpseudocdigoemportugusestruturado.Oexemploaseguirumalgoritmo
emportugusestruturadoqueretorna(valordesada)asomadedoisvalores + emportugusestruturadoqueretorna(valordesada)asomadedoisvalores
(tambmconhecidoscomoparmetrosouargumentos,valoresdeentrada)queso (tambmconhecidoscomoparmetrosouargumentos,valoresdeentrada)queso
introduzidosnachamadadafuno: introduzidosnachamadadafuno:


funoSomaDeDoisValores(Anumrico,Bnumrico) funoSomaDeDoisValores(Anumrico,Bnumrico)

Linha71: Linha71:


===Classificaoporcampodeestudo=== ===Classificaoporcampodeestudo===

Cadacampodacinciapossuiseusprpriosproblemaserespectivosalgoritmos Cadacampodacinciapossuiseusprpriosproblemaserespectivosalgoritmos,
adequadospararesolvlos.Exemplosclssicossoalgoritmosdebusca,de adequadospararesolvlos.Exemplosclssicossoalgoritmosdebusca,de
ordenao,deanlisenumrica,deteoriadegrafos,demanipulaodecadeiasde + ordenao,deanlisenumrica,deteoriadegrafos,demanipulaodecadeiasde
texto,degeometriacomputacional,deanlisecombinatria,deaprendizagemde texto,degeometriacomputacional,deanlisecombinatria,deaprendizagemde
mquina,decriptografia,decompressodedadosedeinterpretaodetexto. mquina,decriptografia,decompressodedadosedeinterpretaodetexto.


===Classificaoporcomplexidade=== ===Classificaoporcomplexidade===

Edioatualdesdeas20h57minde16dejunhode2016
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.

Das könnte Ihnen auch gefallen