Está en la página 1de 9

utorial con los principios bsicos de los Algoritmos, pseudocdigo y diagramas de flujo.

ALGORITMOS
En matemticas, ciencias de la computacin, y disciplinas relacionadas, un algoritmo (del latn, dixit algorithmus y ste a su vez del matemtico persa al-Jwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solucin a un problema. Dado un estado inicial y una entrada, a travs de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solucin. En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestin o inclusive en las instrucciones que recibe un trabajador por parte de su patrn. Tambin existen ejemplos de ndole matemtico, como el algoritmo de la divisin para calcular el cociente de dos nmeros, el algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos, o el mtodo de Gauss para resolver un Sistema lineal de ecuaciones. Cuando escribimos un programa de computadora, generalmente estamos llevando a cabo un mtodo que se ha inventado para resolver algn problema previamente. Este mtodo es a menudo independiente de la computadora y es probable que sea igualmente apropiado para muchas tipos de computadora y muchos lenguajes de computadora. Es el mtodo, en el programa de computacin, el que nosotros debemos estudiar para aprender cmo se est tratando de resolver el problema. El trmino algoritmo se usa en la informtica para describir un mtodo problema-solucin conveniente para la aplicacin en un programa de computadora.

Caractersticas de los algoritmos


El cientfico de computacin Donald Knuth ofreci una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: Carcter finito. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos". Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". Entrada. "Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos especficos de objetos." Salida.

"Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las entradas". Eficacia. "Tambin se espera que un algoritmo sea eficaz, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y papel". A partir del carcter finito y de la salida se deduce que ante una misma situacin inicial (o valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con excepcin de los algoritmos probabilistas.

Medios de expresin de un algoritmo


Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programacin especfico. La descripcin de un algoritmo usualmente se hace en tres niveles: Descripcin de alto nivel. Se establece el problema, se selecciona un modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. Descripcin formal. Se usa pseudocdigo para describir la secuencia de pasos que encuentran la solucin. Implementacin. Se muestra el algoritmo expresado en un lenguaje de programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

Pseudocdigo
Pseudocdigo es la descripcin de un algoritmo que asemeja a un lenguaje de programacin pero con algunas convenciones del lenguaje natural. Pseudo o seudo, significa falso, imitacin y Cdigo se refiere a las instrucciones escritas en el lenguaje de programacin; Pseudocdigo no es realmente un cdigo sino una imitacin y una versin abreviada de instrucciones reales para la computadora. Los Pseudocdigos utilizan palabras clave como: DO (hacer), IF THEN ELSE (si entonces sino) ENDIF (fin de si), DO UNTIL (hacer hasta) etc.

Diagrama de flujo
Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO (International Standard Organization) y ANSI (American National Standards Institute) Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad de lectura son usados como introduccin a los algoritmos, descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin. Un diagrama de flujo debe ilustrar grficamente los pasos o procesos a seguir para alcanzar la solucin de un problema. Etapas en la construccin de un diagrama de flujo. 1. Todo diagrama de flujo debe tener un Inicio y un Fin. 2. Las lneas utilizadas para indicar la direccin del flujo del diagrama deben ser Rectas, Verticales y Horizontales. NO pueden ser inclinadas o cruzadas. 3. Todas las lneas que indiquen la direccin del flujo debern estar conectadas por medio de un smbolo que exprese lectura, proceso, decisin, impresin o fin. 4. La notacin utilizada en el diagrama de flujo debe ser independiente del lenguaje de programacin. 5. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha. 6. Si el diagrama requiere ms de una hoja, debemos utilizar los conectores adecuados y enumerar las pginas convenientemente. 7. No puede llegar ms de una lnea a un smbolo. Ejemplo. Disear un algoritmo correspondiente que dado como dato la calificacin de un alumno en un examen escriba Aprobado si su calificacin es mayor que 8 y Reprobado en caso contrario. Solucin: Dato: CAL donde CAL es una variable de tipo real que expresa la calificacin del alumno.

1. Leer CAL

2. Si CAL > 8 ENTONCES escribir "Aprobado" SINO Escribir "Reprobado" 3. FIN SI

ESTRUCTURAS DE CONTROL.
Las estructuras lgicas bsicas necesarias para confeccionar un programa se reduce en tres: SECUENCIALES, SELECTIVAS Y REPETITIVAS

Estructuras secuenciales
Estructura DO - END ( INICIO - FIN)

DO accin A accin B accin C END

Estructuras selectivas.
Las estructuras algortmicas selectivas que se utilizan para la toma de decisiones lgicas las podemos clasificar de la siguiente manera: SI ENTONCES que es una estructura selectiva simple. SI ENTONCES / SINO que es una estructura selectiva doble SI MLTIPLE que es una estructura selectiva mltiple.

Aqu podemos observar una estructura SI ENTONCES/SINO la cual permite que el flujo del diagrama se bifurque por dos ramas diferentes en el punto de la toma de decisiones.

En lenguaje algortmico se expresa as: SI condicin (verdadera) entonces Hacer operacin 1 sino Hacer operacin 2 Fin de la condicional A continuacin se muestran las otras estructuras selectivas

Estructuras repetitivas
Estructura repetitiva DOWHILE (mientras hacer) DOWHILE condicin

accin1 accin2 ......... END DO

El seudocdigo significa: "Mientras la condicin sea verdadera hacer la o las acciones; cuando sea falsa, terminar el bucle". Puede ocurrir que el bucle no se ejecute ni una sola vez en el caso de que la condicin no se cumpla inicialmente. Estructura repetitiva DOUNTIL (repetir - hasta) DOUNTIL condicin accin1 accin2 ........ END DO

El seudocdigo significa: "Repetir la condicin y hacer la o las acciones hasta que la condicin sea verdadera y terminar el bucle". Tanto en DOWHILE como en DOUNTIL se necesita que el bucle contenga al menos una instruccin que cambie la condicin que controla el bucle. Si no hubiera el bucle continuara indefinidamente. Estas estructuras se usan cuando No sabemos el nmero de veces que se repetir el ciclo.

La estructura REPETIR.

La estructura REPETIR es la estructura algortmica adecuada para utilizar en un ciclo que se ejecutar un nmero definido de veces. Por ejemplo cuando calculamos las nminas de una empresa, tenemos que sumar los sueldos de N empleados de la misma. Podemos calcular el promedio de calificaciones de un grupo de alumnos sumando todas las calificaciones y dividir entre el nmero de alumnos o tambin sacar el promedio de cada alumno segn sus calificaciones mensuales. En todos los caso sabemos de antemano cuntas veces tenemos que repetir una determinada operacin.

y y y y

V es una variable de control VI es el valor inicial VF es el valor final INC es el incremento

El formato es: FOR variable = expresin1 TO expresin2 [STEP expresin3] DO accin END FOR STEP expresin3 es opcional y es un incremento (positivo o negativo)

Estoy seguro de que a los lectores de este sitio les vendr bien recordar un poco de sus aos de bachillerato con este bonito diagrama que representa graficamente y de manera muy bsica la entrada a un restaurant, hecho de rpido, y utilizando gliffy :) El procedimiento es el siguiente:
y y y y y y y y

inicio pedir mesa decidir en el bar o restaurant pedir men analizar men pedir pagar salir

Este diagrama de flujo me lo pidieron en los comentarios de una de las viejas entradas de este sitio. No estoy acostumbrado a hacer caso cuando los HOYGAN piden cosas, pero hoy ser bueno y, har una excepcin (Si tienen tiempo dense una vuelta por los comentarios de esta entrada para que sepan de quienes les hablo). Y aqu el diagrama:

Es un diagrama muy sencillo, y se que podra sacarle todava mas posibilidades pero esto slo es una representacin muy, muy bsica de un problema tan grande uff. Si esto los puso nostalgicos, y quedaron con ganas de seguir recordando diagramas, aqu hay mas recuerditos >.< . Espero que lo hayan disfrutado... no pongan mucha atencin en el planteamiento del problema, quejense con ellos. :d