Vous êtes sur la page 1sur 19

Definicin de Algoritmo

Se denomina algoritmo al conjunto de pasos ordenados y finitos que permiten resolver un problema o tarea especifica. Los algoritmos son independientes del lenguaje de programacin y de la computadora que se vaya a emplear para ejecutarlo. Todo algoritmos de ser: a) Finito en tamao o nmero de instrucciones (tiene un primer paso y un ltimo paso) y en tiempo de ejecucin (debe terminar en algn momento). Por lo tanto, debe tener un punto particular de inicio y fin. b) Preciso. Debe tener un orden en cada paso que se genere. c) Definido. No debe ser ambiguo (doble interpretacin); si se ejecuta el mismo algoritmo el resultado siempre ser el mismo. d) General. Debe tolerar cambios que se puedan presentar en la definicin del problema

Toda actividad que realizamos la podemos expresar en forma de algoritmos. Existe dos tipos de algoritmos, los que se desarrollan para ser ejecutados por una computadora, llamados algoritmos computacionales, y los que realiza el ser humano, es decir, algoritmos no computacionales; como ejemplos de estos tenemos:

Algoritmo para calcular el rea de un triangulo

1. 2. 3. 4. 5.

Inicio Ingresar datos (base y altura) Multiplicar la base por la altura y el resultado dividirlo entre dos, y guardarlo en una variable. Mostrar (imprimir) el resultado almacenado en la variable. Fin.

Algoritmo para cambiar el neumtico desinflado de un auto.

1. Inicio. 2. Bajar herramienta y llanta de repuesto. 3. Aflojar las tuercas de la llanta desinflada. 4. Acomodar el gato. 5. Levantar el auto con el gato. 6. Quitar las tuercas de la llanta desinflada. 7. Quitar la llanta desinflada. 8. Colocar la llanta de repuesto. 9. Asegurar las tuercas de la llanta de repuesto. 10. Bajar el auto con el gato. 11. Asegurar definitivamente las tuercas. 12. Quitar el gato. 13. Guardar la llanta desinflada y la herramienta 14. Fin.

Pseudocdigo
El pseudocdigo (falso cdigo) es una descripcin al nivel de una mezcla de lenguaje natural con la sintaxis propia de lenguajes de programacin, como asignaciones, ciclos y condicionales (no est regido por ningn estndar). Es utilizado para describir cualquier tipo de algoritmo. El pseudocdigo est pensado para facilitar a las personas el entendimiento de un algoritmo. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programacin concretos. Sin embargo, el pseudocdigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programacin especfico, y es a la vez suficientemente estructurado para que su implementacin se pueda hacer directamente a partir de l.

Diagramas de flujo
Un diagrama de flujo es una representacin grfica de un algoritmo o de una parte del mismo. Los diagramas de flujo ayudan en la comprensin de la operacin y secuencia de un algoritmo. La ventaja de un algoritmo representado en pseudocdigo o diagrama de flujo es que, se lo puede construir independientemente de un lenguaje de programacin, pues al momento de llevarlo a cdigo se puede hacer en cualquier lenguaje. Los diagramas de flujo se construyen utilizando ciertos smbolos de uso especial como son rectngulos, rombos, valos, y pequeos crculos, estos smbolos estn conectados entre s por flechas, conocidas como lneas de flujo. A continuacin se pueden ver estos smbolos.

Ejemplo. Disear un algoritmo que conociendo la calificacin de un alumno en un examen se escriba Aprobado si su calificacin es mayor que 8 y Reprobado en caso contrario.

Definicin de lenguaje de programacin


Un lenguaje de programacin es la combinacin de smbolos y reglas que permiten la elaboracin de programas con los cuales la computadora puede realizar tareas o resolver problemas de manera eficiente. Los lenguajes de programacin se pueden clasificar en: 1. Lenguaje mquina (0 y 1) 2. Lenguaje de bajo nivel (mnemotcnicos) 3. Lenguaje de alto nivel.

Programacin
Se puede definir como:

1.

2. 3.

Desarrollo de un algoritmo en un determinado lenguaje para ser ejecutado por el computador; es decir, es una serie de pasos o instrucciones ordenadas y finitas que pueden ser procesadas por un computador, a fin de permitirnos resolver un problema o tarea especfica. Secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones de acuerdo con los datos que se desee procesar en la computadora. Expresin de un algoritmo en un lenguaje preciso que puede llegar a entender una computadora.

No todo algoritmo puede llegar a ser un programa.

Etapas o pasos en la creacin de un programa

Tipos de Programacin
Existen varias clases o tipos de programacin, dependiendo de los mtodos utilizados y las tcnicas empleadas. En la mayora de los casos, las tcnicas se centran en modular y estructurada, pero existen o se derivan otros tipos de programacin. Programacin estructurada (PE) La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido evolucionando y aumentando considerablemente la productividad del programa, reduciendo as, el tiempo de depuracin y mantenimiento del mismo. Esta programacin utiliza un nmero limitado de estructuras de control, reduciendo considerablemente los errores.

Esta tcnica incorpora: Diseo descendente (top-dow): el problema se descompone en etapas o estructuras jerrquicas. Recursos abstractos (simplicidad): consiste en descomponer las acciones complejas en otras ms simples capaces de ser resueltas con mayor facilidad. Estructuras bsicas: Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de una accin es la entrada de otra. Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas. Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero determinado de veces.

Las principales ventajas de la programacin estructurada son:

Los programas son mas fciles de entender Se reduce la complejidad de las pruebas Aumenta la productividad del programador Los programas quedan mejor documentados internamente.

Un programa esta estructurado si posee un nico punto de entrada y uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.

Programacin modular Esta programacin consta de varias secciones divididas de forma que interactan a travs de llamadas a procedimientos o subrutinas, que integran al programa en su totalidad. En la programacin modular, el programa principal coordina las llamadas a los mdulos secundarios y pasa los datos necesarios en forma de parmetros. A su vez cada mdulo puede contener sus propios datos y llamar a otros mdulos o funciones.

Programacin orientada a objetos (POO) Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de los objetos. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y de las acciones del programa en ese momento. El polimorfismo y la herencia son unas de sus principales caractersticas