Está en la página 1de 10

ALGORITMOS Y DIAGRAMAS DE FLUJO

Algoritmo
Un algoritmo es un conjunto de acciones que determinan la secuencia de los pasos a seguir para resolver un problema especfico. Sus pasos deben estar definidos con precisin de forma que no existan ambigedades que den origen a elegir una opcin equivocada. Los algoritmos son finitos; es decir, su ejecucin termina en un nmero determinado de pasos. La mayora de los algoritmos de utilidad al programador poseen 3 partes principales:

Entrada de Datos

Algoritmo

Procesamiento de Datos

Salida de Resultados
Los algoritmos pueden representarse a travs de un conjunto de palabras por medio de las cuales se puede representar la lgica de un programa. Este conjunto de palabras constituyen lo que se conoce como pseudocdigo. Adems, los algoritmos se pueden representar grficamente a travs de un diagrama de flujo. Ambas herramientas se describen a continuacin.

Diagramas de flujo
Un diagrama de flujo es una representacin grfica de un algoritmo o de una parte del mismo. La ventaja de utilizar un diagrama de flujo es que se le puede construir independientemente del lenguaje de programacin, pues al momento de llevarlo a cdigo se puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos smbolos de uso especial como son rectngulos, valos, pequeos crculos, etc.; estos smbolos estn conectados entre s por flechas conocidas como lneas de flujo. A continuacin se presentan estos smbolos y su significado.

Smbolos y su Significado
Terminal. Representa el inicio y fin de un programa.

Proceso. Son acciones que el programa tiene que realizar

Decisin. Indica operaciones lgicas o de comparacin.

Entrada. Nos permite ingresar datos.

Salida. Es usado para indicar salida de resultados

Selector mltiple. Representa una decisin con mltiples alternativas.

Conector. Enlaza dos partes cualesquiera de un programa Lnea de flujo. Indica direccin de flujo del diagrama. Las flechas de flujo no deben cruzarse. Los diagramas se leen de arriba hacia abajo y de izquierda a derecha.

Conector fuera de pgina. Representa conexin entre partes del algoritmo representadas en pginas diferentes.

Pseudocdigo
A continuacin se muestran algunos ejemplos de palabras utilizadas para construir algoritmos en pseudocdigo.

PALABRA ABRE CASO CIERRA Abre un archivo

UTILIZACIN

Seleccin entre mltiples alternativas Cierra un archivo

ENTONCES Complemento de la seleccin SI - ENTONCES ESCRIBE FIN HASTA HAZ INICIO LEER Visualiza un dato en pantalla Finaliza un bloque de instrucciones Cierra la iteracin HAZ - HASTA Inicia la iteracin HAZ - HASTA Inicia un bloque de instrucciones Leer un dato del teclado

MIENTRAS Inicia la iteracin mientras NO O O - BIEN PARA SI USUAL Y { } <= Niega la condicin que le sigue Disyuncin lgica Complemento opcional de la seleccin SI - ENTONCES Inicia un nmero fijo de iteraciones Inicia la seleccin SI-ENTONCES Opcional en la instruccin CASO Conjuncin lgica Inicio de comentario Fin de comentario Asignacin

PROGRAMACIN ESTRUCTURADA
La programacin estructurada es un estilo con el cual el se busca que el programador elabore programas sencillos y fciles de entender. Para ello, la programacin estructurada hace uso de tres estructuras bsicas de control. stas son: Estructura Secuencial Estructura Selectiva Estructura Repetitiva ( Iterativa) La programacin estructurada se basa un teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando nicamente las tres estructuras bsicas (secuencia, seleccin, iteracin).

DEFINICIN DE LAS TRES ESTRUCTURAS BSICAS


Estructura Secuencial
Indica que las instrucciones de un programa se ejecutan una despus de la otra, en el mismo orden en el cual aparecen en el programa. Se representa grficamente como una caja despus de otra, ambas con una sola entrada y una nica salida.

Las cajas A y B pueden ser definidas para ejecutar desde una simple instruccin hasta un mdulo o programa completo, siempre y cuando stos tambin sean programas apropiados.

Estructura Selectiva
Tambin conocida como la estructura SI-VERDADERO-FALSO, plantea la seleccin entre dos alternativas con base en el resultado de la evaluacin de una condicin; equivale a la instruccin IF de todos los lenguajes de programacin y se representa grficamente de la siguiente manera:

En el diagrama de flujo anterior, C es una condicin que se evala; A es la accin que se ejecuta cuando la evaluacin de esta condicin resulta verdadera y B es la accin ejecutada cuando el resultado de la evaluacin indica falso. La estructura tambin tiene una sola entrada y una sola salida; y las funciones A y B tambin pueden ser cualquier estructura bsica o conjunto de estructuras.

Estructura Repetitiva (Iterativa)


Tambin llamada la estructura HACER-MIENTRAS-QUE, corresponde a la ejecucin repetida de una instruccin mientras que se cumple una determinada condicin. El diagrama de flujo para esta estructura es el siguiente:

Aqu el bloque A se ejecuta repetidamente mientras que la condicin C se cumpla o sea cierta. Tambin tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura bsica o conjunto de estructuras.

Ventajas de la Programacin Estructurada


Con la programacin estructurada, elaborar programas de computadora sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas: 1. Los programas son ms fciles de entender. Un programa estructurado puede ser ledo en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lgica, lo cual es tpico de otros estilos de programacin. 2. Se logra una reduccin del esfuerzo en las pruebas. El seguimiento de las fallas o depuracin (debugging) se facilita debido a la lgica ms visible, de tal forma que los errores se pueden detectar y corregir ms fcilmente. 3. Se crean programas ms sencillos y ms rpidos.

EJERCICIOS SOBRE DIAGRAMAS DE FLUJO


Estructura Secuencial
Calcular el rea de un rectngulo a partir de su altura y su base

Inicio

Base

Altura

Area = Base x Altura

rea

Fin

Estructura Selectiva
Convertir calificaciones numricas (0 al 10) a calificaciones de Aprobado Reprobado, siendo 7.0 la calificacin mnima aprobatoria.

Inicio

Calificacin

Calificacin > 7.0 Verdadero Falso

Resultado=Aprobado

Resultado=Reprobado

Resultado

Fin

Estructura Repetitiva (Iterativa)


Calcular el factorial de un nmero entero positivo

Inicio

Nmero

Factorial = 1

Contador = 1

Contador > Nmero Verdadero Falso

Factorial=Factorial * Contador

Contador=Contador + 1

Factorial

Fin

Ejercicios
Estructura Secuencial
Convertir una cantidad dada en metros a pies y pulgadas.

Estructura Selectiva
Dados dos nmeros, ordenarlos ascendentemente

Estructura Repetitiva
Multiplicar entre s todos los nmeros enteros entre n (el menor) y m (incluyndolos) si tales nmeros estn dados.