Download - Algoritmos

Transcript
  • Universidad Distrital Francisco Jos de CaldasFacultad de IngenieraIngeniera de Sistemas

    Programacin Bsica

    INTRODUCCINALOSALGORITMOSDiariamenteelserhumanotratadedarsolucinacadaproblemaqueselepresenta;algunasveceslasolucindestosseobtieneal seguirunaseriedeaccionesdemaneraordenada,otrasveces lasolucindependedelestadodenimodelapersonaodelascondicionesdesuentorno,mientrasqueenotrasocasionesnosepuedellegarasolucinalguna.

    ALGORITMOSUnALGORITMOesunasecuenciafinitabiendefinidadetareasbiendefinidas,cadaunadelascuales se puede realizar conunacantidadde recursos finitos. Sediceque una tareaesta biendefinida, si se sabedemaneraprecisa las acciones requeridaspara su realizacin.Aunque losrecursosquedebeutilizarcadatareadebenserfinitosestosnoestnlimitados,esdecir,siunatareabiendefinidarequiereunacantidadinmensa(perofinita)dealgnrecursoparasurealizacin,dichatareapuedeformarpartedeunalgoritmo.Adems,sedicequeunasecuenciadetareasestabiendefinidasisesabeelordenexactodeejecucindecadaunadelasmismas.

    EJECUTARunalgoritmoesrealizarlastareasdelmismo,enelordenespecificadoyutilizandolosrecursosdisponibles.

    CaractersticasdeunalgoritmoLas caractersticas que debe poseer una secuencia de tareas para considerarse algoritmo son:precisin,determinismoyfinitud.

    Precisin Determinismo Finitud

    El algoritmo debe indicar el orden exacto de ejecucin de cada tarea.

    Si se sigue el algoritmo dos o ms veces con los mismos datos de entrada, se deben obtener los

    mismos datos de salida.

    El algoritmo debe terminar en algn momento y debe usar una

    cantidad de recursos finita.

    Dadaunacantidaddedatosdeentradadeunalgoritmo,sedicequelacantidaddeunrecursousadapordichoalgoritmoparasuejecucindeterminalacomplejidaddelalgoritmorespectoatalrecurso.Cuandoseimplementaunalgoritmoenuncomputadordigital,losrecursosconlosquesecuentasontiempodeprocesoymemoria.Porlotanto,aunalgoritmoimplementadoenuncomputadordigitalselepuedencalcularsuscomplejidadestemporalyespacial.

    1de3

  • Universidad Distrital Francisco Jos de CaldasFacultad de IngenieraIngeniera de Sistemas

    Programacin Bsica

    EstructurabsicadeunalgoritmoEnesenciaunalgoritmoestconstituidoporlossiguientestreselementos:

    Datos Instrucciones Estructuras de control

    Lo que el algoritmo recibe, procesa y entrega como resultado.

    Las acciones o procesos que el algoritmo realiza sobre los

    datos.

    Las que determinan el orden en que se ejecutarn las instrucciones

    del algoritmo.

    RepresentacindeAlgoritmosLastcnicasparalarepresentacindealgoritmosutilizadasmscomnmenteson:

    Pseudocdigo

    Esunlenguajedeespecificacindealgoritmos.Elusodetallenguajehaceelpasodecodificacinfinal(estoes, la traduccinaunlenguajedeprogramacin)relativamentefcil.Elpseudocdigonacicomounlenguajesimilarallenguajenaturalyeraunmediopararepresentarbsicamentelasestructurasdecontroldeprogramacinestructurada.

    Seconsideraunprimerborrador,dadoqueelpseudocdigotienequetraducirseposteriormenteaunlenguajedeprogramacin.Laventajadelpseudocdigoesqueensuusoenlaplanificacindeunprograma,elprogramadorsepuedeconcentrarenla lgicayenlasestructurasdecontrolynopreocuparsedelasreglasdeunlenguajeespecfico.Estambinfcilmodificarelpseudocdigosisedescubrenerroresoanomalasenlalgicadelprograma,ademsdetodoestoesfcilsutraduccinalenguajescomoPascal,CoBasic.

    Elpseudocdigoutilizapararepresentarlasaccionessucesivaspalabrasreservadas(similaresasushomnimosenloslenguajesdeprogramacin),talescomoinicio,fin,sientoncessino,mientras,....Etc.

    Diagramasdeflujo

    Sebasanenlautilizacindediversossmbolospararepresentaroperacionesespecficas.Selesllamadiagramasdeflujoporquelossmbolosutilizadosseconectanpormediodeflechasparaindicarlasecuenciadeoperacin.

    2de3

  • Universidad Distrital Francisco Jos de CaldasFacultad de IngenieraIngeniera de Sistemas

    Programacin Bsica

    PROBLEMASSetieneunproblemacuandosedeseaencontrarunoovariosobjetosdesconocidos(ya seanestosnmeros,diagramas,figuras,demostraciones,decisiones,posiciones,algoritmos,uotrascosas),quecumplen condiciones y/o relaciones, previamente definidas, respecto a uno o varios objetosconocidos.Deestamanera,solucionarunproblemaesencontrarlosobjetosdesconocidosdedichoproblema.

    ClasificacindeproblemasLosproblemasseclasificanporlaexistenciadeunasolucinensolubles,nosolubleseindecidible.

    UnproblemasediceSOLUBLEsisesabedeantemanoqueexisteunasolucinparal. UnproblemasediceINSOLUBLEsisesabequenoexisteunasolucinparal. UnproblemasediceINDECIDIBLEsinosesabesiexisteonoexistesolucinparal.

    Asuvez,losproblemassolublessedividenendosclases:losalgortmicosylosnoalgortmicos. UnproblemasediceALGORTMICOsiexisteunalgoritmoquepermitadarlesolucin. UnproblemasediceNOALGORTMICOsinoexisteunalgoritmoquepermitaencontrarsu

    solucin.

    3de3

    INTRODUCCIN A LOS ALGORITMOSALGORITMOSCaractersticas de un algoritmoEstructura bsica de un algoritmoRepresentacin de AlgoritmosPseudocdigoDiagramas de flujo

    PROBLEMASClasificacin de problemas