Está en la página 1de 26

Anlisis y Diseo de Algoritmos

Conceptos bsicos

ISC. Fabin Lpez Rivera.

Definicin de Algoritmos
La resolucin de un problema exige el diseo de un algoritmo que resuelva el problema propuesto.

Definicin. Conjunto de Pasos que nos permite obtener la solucin a un problema. Una serie de pasos organizados que describe el proceso que se debe seguir para dar solucin a un problema especifico. Una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a la resolucin de un problema.

Historia
La palabra algoritmo se deriva del nombre en latn del matemtico rabe: Mohamed Al Kow Rizmi.(780-850) Junto con Euclides el gran matemtico griego que invento un mtodo para encontrar el mx. Comn de dos nmeros Se les considera los padres de los algoritmos.

Escritura de Algoritmos
Se emplea un lenguaje natural describiendo paso a paso el algoritmo en cuestin. En la realizacin del algoritmo debe aplicar sus tres caractersticas: preciso, definido y finito.

Caractersticas de Algoritmos
Preciso. Todas las operaciones que el algoritmo realizara deben ser lo suficientemente claras, es decir hay que evitar toda ambigedad al definir cada paso, de modo que puedan ser llevadas a cabo en forma exacta y en un tiempo finito por una persona.

Caractersticas de Algoritmos
Definido. El algoritmo debe definirse de forma precisa para cada paso, es decir si se sigue dos veces, se debe obtener el mismo resultado cada vez.

Caractersticas de Algoritmos
Finito. El algoritmo debe acabar tras un numero finito de pasos. Es casi fundamental que sea un numero razonable de pasos.

Partes del Algoritmo.En la definicin de un algoritmo se deben determinar tres partes: 1.- Entrada. 2.- Proceso 3.- Salida

Partes del Algoritmo.1.- Entrada El algoritmo tendr cero o mas entradas, es decir cantidades dadas antes de empezar. Estas cantidades pertenecen adems a conjuntos especificados de objetos. Por Ej. Pueden ser cadena de caracteres, enteros, fraccionarios, un carcter etc. Se trata siempre de cantidades representativas del mundo real expresadas de tal forma que sean aptas para su interpretacin por la computadora.

Partes del Algoritmo.2.- Proceso Descripcin de las operaciones que se llevaran a cabo con las entradas como datos para obtener la salida de acuerdo con la tarea para la cual fue diseado. Formulas, condiciones, asignaciones.

Partes del Algoritmo.3.- Salida Un algoritmo tiene una o mas salidas, en relacin con las entradas. Impresiones en pantalla o papel.

Factores de Calidad
1.- Correccin Un algoritmo debe estar bien planteado, de tal modo que siempre lleve al resultado correcto. 2.- Funcionalidad Nunca se debe olvidar que la caracterstica mas simple e importante de un algoritmo es que funcione.

Factores de Calidad
3.- Eficiencia La Eficiencia de un algoritmo se mide por los recursos que este consume. En particular se habla de la memoria y el tiempo de ejecucin, nunca se deben desperdiciar recursos si no tratar de desarrollar algoritmos mas eficientes.

Factores de Calidad
4.- Documentacion El algoritmo debe estar bien documentado. La documentacin ayuda a comprender el funcionamiento de los algoritmos. Ciertos detalles o algunas partes especiales de los mismos pueden olvidarse fcilmente o quedar oscuros si no estn adecuadamente documentados.

Informacin y Terminologa Relevante. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas. Con la ayuda de los algoritmos podemos crear cualquier cosa, incluso la Msica. Algoritmia: Ciencia que trata del estudio de los algoritmos.

Terminologa Relevante. Variables, Objeto que durante la ejecucin del algoritmo su contenido es cambiante. Constante, Contraposicin de Variable. Leer, accin que indica una entrada de datos. SI, Accin que implica una condicional leda como pregunta. Imprimir, Accin de generar una salida. generalmente la impresin de resultados.

Representacin. Los Algoritmos se pueden expresar de dos formas: Grafica: Con smbolos utilizando diagramas de Flujos. No Grafica: Describiendo las operaciones que llevara a cabo, utilizando un conjunto de pasos enumerados lgicamente o seudocdigo.

Representacin grfica de los algoritmos


Los mtodos usuales para representar un algoritmo son: 1.- Diagrama de flujo. 2.- Diagrama N-S (Nassi-Schneiderman). 3.- Lenguaje de especificacin de algoritmos: pseudocdigo. 4.- Lenguaje espaol, ingls. 5.- Frmulas. 6. Diagramas UML

Diagrama de flujo
Un diagrama que utiliza los smbolos (cajas) estndar mostrados en la tabla 1 y que tiene los pasos de un algoritmo escritos en esas cajas unidas por flechas, denominadas lneas de flujo, que indican la secuencia en que se debe ejecutar .

Fase en la resolucin de problemas


Las fases de resolucin computadora son: Anlisis del problema. Diseo del algoritmo. Codificacin. Compilacin y ejecucin. Verificacin. Depuracin. Mantenimiento. Documentacin. de un problema con

Algoritmos cotidianos
Se refiere a los algoritmos que ayudan a resolver problemas diarios, y que las personas llevan a cabo sin darse cuenta de que estn siguiendo una metodologa para resolverlos. & Algoritmos Computacionales

Lenguajes de programacin
Sirven para escribir programas que permitan la comunicacin usuario/mquina. Unos programas especiales llamados traductores (compiladores o intrpretes) convierten las instrucciones escritas en lenguajes de programacin en instrucciones escritas en lenguajes mquina (0 y 1, bits) que sta pueda entender.

Introduccin al Lenguaje C++


C es un lenguaje de propsito general que se puede utilizar para escribir cualquier tipo de programa, pero su xito y popularidad est especialmente relacionado con el sistema operativo UNIX (fue desarrollado como lenguaje de programacin de sistemas, es decir, un lenguaje de programacin para escribir sistemas operativos y utilidades, programas, del sistema). Los sistemas operativos son los programas que gestionan (administran) los recursos de la computadora.

Estructura general de un programa en C++


Un programa en C++ se compone de una o ms funciones. Una de las funciones debe ser obligatoriamente main. Una funcin en C++ es un grupo de instrucciones que realizan una o ms acciones. As mismo, un programa contendr una serie de directivas #include que permitiran incluir en el mismo, archivos de cabecera que a su vez constarn de funciones y datos predefinidos en ellos.

Tipos de Programacin
Estructurada

Condicionales(if) Ciclicas(for,do while,while) Selectivas o seleccin(switch-case)


Programacin espagueti Goto- etiquetas

No Estructurada POO Top down Modular

Difieren en sus Tcnicas de Programacin

También podría gustarte