1. Definición de Algoritmo
Un algoritmoesuna secuenciaprecisade operaciones(pasos) que resuelvenunproblemaen
un tiempofinito.
Pasos para la resoluciónde unproblema:
Los algoritmossonindependientesdellenguajede programaciónydel ordenador que los
ejecuta. Se pueden expresar en multitud de lenguajesyejecutarse enordenadores
distintos.
Propiedades de los algoritmos
a) Siempre debe terminar.
b) Debe contenerinstruccionesconcretas,sinningunaambigüedad.
c) Todos suspasosdebensersimplesytenerunordendefinido.
d) Debe funcionarseancualesseanlosdatosde entrada.
e) Debe sereficienteyrápido Hay que OptimizarParaun problemaexistenmúltiples
soluciones,ydebemosescogeraquella que consumamenostiempoyrecursos.
f) Es independientede lamáquina ydel lenguaje de programación que se vaya a utilizar. Un
algoritmo puede implementarse (escribirse) encualquierlenguaje de programación.
2. ¿Qué es un programa?
Un programa esla expresión(transcripción) de unalgoritmoenunlenguajede programación,
capaz de ser procesadoporun ordenadortras su compilación y linkado y que controla el
funcionamiento de unordenadora lahora de resolverunproblema.
Cómo se construye un programa.
El procesode elaboraciónde unprograma,conllevavariasetapas:
• Fase de Análisis:decidirqué esloque tenemosque hacer.
• Fase de Diseño(desarrollode lasolución):se define cómovamosa hacerlo.
Obtención del AlgoritmoSe utilizará el Diseño Descendente o TOP-DOWN: Un problema
complejo se resuelvedividiendoel problemaensubproblemas,yasí sucesivamente hastaque
la resoluciónde cadasubproblemasea fácilmente programable.
• Fase de Codificación:Implementación del Algoritmo en el
Lenguaje de programaciónmásadecuado Obtencióndel Programa
• Fase de Pruebas: Nobasta que el programa esté terminado Hay que comprobarque el
programa NOfallay funcionaperfectamenteen todosloscasosposiblesque se puedan
presentar.
• Fase de Documentación y Mantenimiento:Se elabora ladocumentación del programa,
y se realizan las actualizacionesoportunasque se vayannecesitando.
TODAS ESTAS FASES HAY QUE REALIZARLAS CON SUMO CUIDADO,PUESTO QUE UN
ERROR EN UNA DE ELLAS, PUEDE CONLLEVAR LA VUELTA ATRÁS EN TODO EL PROCESO.
3. Resumen:Procesode creaciónde unprograma
• Planteamientodel problemaa resolver.Antesde nada debemos
conocerperfectamente el problemaylosresultadosaobtener.
• Representaciónde los datos. Escogerlostiposde datos a usar.
• Diseñode un algoritmo.
• Comprobacióny optimizaciónde algoritmos. Debemosasegurarnos
que el algoritmorealizalatareacorrectamente.
• Codificacióndel programa. Debemos transcribirel algoritmoaun
lenguaje de programaciónconcretoparaque puedaserutilizado.
• Depuración del programa. El programa debe estarlibre de errores.
• Documentacióndel programa.
Definicióny uso de herramientas paradescribir soluciones
Para representarlosalgoritmosexistendosmétodosprincipales:
• El pseudocódigo
• El diagramade flujo.
Mientras que el pseudocódigo permite enunciar el algoritmo, los
Diagramasde flujo(organigramas)permitenvisualizarlode formagráfica.
DIAGRAMAS DE FLUJO (ORGANIGRAMA)
Es una representacióngráficade unalgoritmomediante unaserie de símbolos,que contienen
ensu interiorlospasosdel algoritmo,yunasflechasque losunenindicandolasecuencia
(orden) enlaque se debenejecutar.Lossímbolosrepresentanaccionesylasflechasel flujodel
algoritmo.
La descripciónde lasfuncionesse puederealizarde formanarrativa, usandounlenguaje
natural (conviene que seaparecidoal pseudocódigo)