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.
"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.
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
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)
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
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
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