Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Diseño de algoritmos para la solución de problemas




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Niveles de abstracción para la construcción de algoritmos
    La construcción de algoritmos se basa en la abstracción de las características del problema a través de un proceso de análisis, que permitirá seguir con el diseño de una solución basada en modelos, los cuales ven su representación tangible en el proceso de implementación del algoritmo.

    Monografias.com

    Niveles de abstracción para la construcción de algoritmos.
    Análisis .- Consiste en reconocer cada una de las características del problema, lo cual se logra señalando y modelando los procesos, fórmulas o efectos que lo rodean.

    Los procesos pueden identificarse como operaciones o formulas que se aplican a las variables del problema. Al analizar las actividades, procedimientos, funciones o métodos del problema, se deben relacionar con sus variables y sus relaciones entre éstos. El resultado esperado de esta fase de la construcción es un modelo que represente la problemática encontrada y permita encontrar sus características mas relevantes.

    Monografias.com

    Niveles de abstracción para la construcción de algoritmos.
    Diseño .- Una vez que se ha analizado las causas del problema y se ha identificado su proceso sobre el cual se debe actuar para llegar a una solución, comienza el modelado de una solución factible o diseño del algoritmo. En esta etapa se diseña el modelo apropiado que describe al problema y se realizan las pruebas correspondientes a este modelo.

    Monografias.com

    Niveles de abstracción para la construcción de algoritmos.
    Implementación .- La implementación es llevar el modelo y los resultados esperados surgidos en las pruebas a un código de lenguaje de programación para que éste sea implementado en una computadora y tengamos un resultado resuelto del sistema de información, automatizado de propósito general para la toma de decisiones.

    Monografias.com

    Estructuras de diseño básicas en un algoritmo.

    Ciclos
    Contadores
    Acumuladores
    Condicionales
    Interruptores
    Funciones (recursivas)

    Monografias.com

    Ciclos
    Se caracterizan por iterar o repetir instrucciones en función de una condición que debe cumplirse en un momento bien definido.
    Existen dos tipos de ciclos: while y do-while.

    while se caracteriza por realizar la verificación de la condición antes de ejecutar las instrucciones asociadas al ciclo.

    do-while evalúa la condición después de ejecutar las instrucciones una vez.

    En este tipo de ciclos el número de repeticiones que se realizarán es variable y depende del contexto de ejecución del algoritmo.

    mientras < condicion> hacer
    Instruccion1
    Instruccion2

    Instrucción n
    fin mientras

    Monografias.com

    Contadores
    Se caracteriza por iterar o repetir instrucciones en función de una condición que debe cumplirse en un momento conocido y está representado por la instrucción para (for).

    Esta estructura se evalúa el valor de una variable a la que se asigna un valor conocido al inicio de las iteraciones; este valor sufre incrementos o decrementos en cada iteración y suspende la ejecución de las instrucciones asociadas una vez que se alcanza el valor esperado
    .

    Para < variable> = < valor inicial> hasta < valor tope> < Incremento>] hacer
    Instruccion1
    Instruccion2

    Instrucción n
    Fin para < variable>

    Monografias.com

    Acumuladores o totalizadores
    Son variables que tienen por objeto almacenar valores incrementales o decrementales a lo largo de la ejecución del algoritmo. Este tipo de variables utiliza la asignación recursiva de valores para no perder su valor anterior.

    Son útiles para calcular totales en diferentes valores o cantidades

    La asignación recursiva de valor a este tipo de variables se ejemplifica a continuación:

    < variable> = < variable> + < incremento>

    total = total + cantidad;

    o tambien suma += valor [i];

    Monografias.com

    Condicionales (if.. else)
    Se utiliza para ejecutar selectivamente secciones de código de acuerdo con una condición definida.
    Sólo tiene dos posibilidades: si la condición se cumple, se ejecuta una sección de código; si no, se ejecuta otra sección, aunque esta parte puede omitirse.
    si < condicion> entonces
    Instruccion1
    Instrucción n
    [si no
    Instrucción 3
    Instrucción n]
    Fin si

    Monografias.com

    Interruptores
    Son variables globales del programa que se utilizan en combinación con las estructuras cíclicas y selectivas para habilitar o deshabilitar secciones de código.

    Un ejemplo de este tipo de variables son las banderas que, dependiendo del valor que almacenen, condicionan el comportamiento del programa.

    Ejemplo:

    Si flag = 1 entonces
    escribe el encabezado del reporte.

    O

    return 1;

    Monografias.com

    Técnicas de diseño de algoritmos
    Algunas técnicas de diseño de algoritmos son:

    Refinamiento progresivo
    Procesamiento regresivo
    Divide y vencerás
    Estrategia Greedy
    Programación dinámica
    Inducción

    Monografias.com

    Técnicas de diseño de algoritmos
    -Refinamiento progresivo

    Es una técnica de análisis y diseño de algoritmos que se basa en la división del problema principal en problemas más simples. Este tipo de procedimiento se conoce como Top-Down y también es aplicable a la optimización del desempeño y a la simplificación de un algoritmo.

    -Procesamiento regresivo

    Parte de la existencia de múltiples problemas y se enfoca en la asociación e identificación de características comunes entre ellos para diseñar un modelo que represente la solución para todos los casos de acuerdo con la parametrización de las entradas. Esta técnica también es conocida como Bottom-Up y puede aplicarse en la optimización y simplificación de algoritmos.

    -Divide y vencerás

    Dividir un problema en subproblemas del mismo tipo y aproximadamente todos ellos del mismo tamaño, resolver los subproblemas recursivamente y, finalmente, combinar la solución de los subproblemas para dar una solución al problema original. La recursión finaliza cuando el problema es pequeño y la solución es fácil de construir directamente.

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter