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

Algoritmos




Enviado por cibercrazy5000



    1. Pasos
    2. Tipos
    3. Análisis del
      problema
    4. Diseño del
      algoritmo.
    5. Mandatos e
      instrucciones
    6. Variables vectores y
      matrices
    • El programador diseña un programa, para
      resolver un problema particular.
    • Diseñar es un proceso
      creativo.
    • El proceso de
      diseño de un programa consta
      de los siguientes pasos o etapas:

    Pasos:

    Pasos

    Etapa

    Descripción

    1

    Análisis del problema

    Conducen al diseño detallado por medio un
    código escrito en forma de un
    algoritmo

    2

    Diseño de algoritmo

    3

    Codificación

    Se implementa el algoritmo en un código escrito en un lenguaje de
    programación. Refleja las ideas desarrolladas en
    las etapas de análisis y diseño

    4

    Compilación y ejecución

    Traduce el programa fuente a programa en
    código de maquina y lo ejecuta.

    5

    Verificación

    Busca errores en las etapas anteriores y los
    elimina.

    6

    Depuración

    7

    Documentación

    Son comentarios, etiquetas de texto,
    que facilitan la comprensión del programa

     

    Concepto

     

    Algoritmo: es un método para resolver un problema
    mediante una serie de pasos definidos, precisos y
    finitos.

    Preciso: implica el orden de realización de
    cada uno de los pasos

    Definido: si se sigue dos veces, se obtiene el
    mismo resultado.

    Finito: Tiene un numero determinado de pasos,
    implica que tiene un fin,

    Tipos
    :

    Método

    Descripción

    Ejemplos

    Algorítmico

    Utiliza un algoritmo y puede ser implementado en una
    computadora

    • Instrucciones para manejar un
      vehículo
    • Instrucciones para secar grano a
      granel
    • Instrucciones para resolver ecuación de
      segundo grado

    Heurística:

    Se apoya en el resultado obtenido en un análisis de alternativas de
    experiencias anteriores similares. De las mismas, a se
    deducen una serie de reglas empíricas o
    heurísticas que de ser seguidas, conducen a la
    selección de la mejor alternativa en
    todas o la mayoría de las veces.

     

     

     

     

     

    Ejemplos

    Los algoritmos se pueden

    expresar por:

    Formulas

    Diagramas de flujo

    Norte-Sur,Top-Down

     

     

     

     

     

     

    Pseudo código

    inicio

    leer a,b,c

    calcular

    escribir perímetro

    fin

    • Quick Basic es un lenguaje de
      programación estructurado y el algoritmo
      se representara en seudo código y/o diagrama de
      flujo.

    1.
    Análisis del problema:

    Requiere la clara definición del
    problema donde se indique que va hacer el programa y cual ve a
    ser el resultado.

    Debe detallarse las especificaciones de entrada
    y salida,

    Los requisitos que definen el análisis
    son :

     Para ver el
    gráfico seleccione la opción
    "Descargar"

     La ecuación de segundo grado se
    define algebraicamente como :

    La solución general viene dada por la
    expresión algebraica : (Algoritmo)

     

     

     

     

    periférico

    1

    Análisis del problema

     

     

    2

    Def. del problema

    Hallar raíces ecua. 2do grdo

     

    3

    Especif. de entrada

    coeficientes a, b, c

    Teclado

    4

    Especif. de salida

    X1, X2

    Pantalla

    Impresora

     

     

     

     

     

     

     

     

    Entrada: por teclado

    coef

    Descripción

    Codificación en
    QBasic

    a

    team. cuadrático

    INPUT "Coef a =";A

    b

    term. lineal

    INPUT "Coef b =";B

    c

    term. independiente

    INPUT "Coef c =";C

     

     

     

     

     

    Calculo

    Expresión algebraica

    Codificación en QBasic

     

    X1=((-B+SQR(B^2-4*A*C))

    X2=((-B-SQR(B^2-4*A*C))

     

     

     

     

     

    Proceso:

    Salida: Visualización de :Datos de entrada:
    A,B,C

    Datos procesados: Raices: X1,
    X2

    Variable

    Significado

    Codificación en QBasic

    A,B,C

    Coef

    PRINT"A=";A; "B=";"C=";C

    X1

    primera raíz

    PRINT"X1=";x1

    X2

    primera raíz

    PRINT"X2=";X2

    2.Diseño del
    algoritmo.

    • Análisis de proceso implica que
      hace el programa.
    • Diseño implica como se hace o
      realiza la tarea (problema) solicitado

    En el diseño:

    • El todo es la sumatoria de las
      partes.
    • Divide el todo en varias
      partes.

    En la resolución de un problema
    complejo, se divide en varios sub problemas y
    seguidamente se vuelven a dividir los sub problemas en
    otros mas sencillos, hasta que puedan implementarse en el
    computador.

    Esta característica define lo que se entiende
    como diseño descendente( Top-Down / Norte-Sur ) o
    diseño modular.

    El proceso de ruptura del problema en cada
    etapa se llama refinamiento
    sucesivo
    .

    • Cada problema se resuelve mediante un
      modulo (subprograma) y tiene un solo punto de entrada y
      un solo punto de salida.
    • Un programa bien diseñado consta de
      un programa principal (modulo de nivel mas alto) que
      llama a subprogramas (módulos de nivel mas bajo),
      que a su vez pueden llamar otros sub programas.

    Los programas que se
    estructuran de esta forma, se dicen que tienen diseño
    modular
    y el método de
    romper el programa en modos pequeños se llama
    programación modular.

    Los módulos pueden ser planificados,
    codificados, compilados y depurados independientemente pueden ser
    intercambiados entre si.

    Este proceso implica la ejecución de los
    siguientes pasos:

    1

    programar un modulo

    2

    comprobar un modulo

    3

    depurar el modulo

    4

    combinar el modulo con módulos
    anteriores

    este proceso convierte el
    resultado del análisis del problema en un diseño
    modular con refinamientos sucesivos que permiten una
    traducción a un lenguaje que
    se denomina diseño del algoritmo.

    El algoritmo se puede representar por
    medio de dos formas :

    Pseudo
    código

    Diagrama de flujo:

    Pseudo código: es el lenguaje de
    especificación de algoritmos y
    tiene una estructura:
    Las instrucciones se escriben en ingles o en palabras similares
    al ingles o español
    que facilitan la escritura de
    programación

    Para la resolución de una
    ecuación de segundo grado se
    escribiría

    inicio

    Introducir coeficientes a, b y
    c

    Imprimir títulos primera
    raíz, segunda raíz, no tiene
    solución,

    Calcular raíz 1 y raíz
    2

    Imprimir raíz 1 y raíz
    2

    Fin

    Diagramas de flujo (flows charts): Es
    la representación grafica del algoritmo; según la
    ANSI consta de una simbologia , que tiene los siguientes
    significados:

    Para ver el gráfico
    seleccione la opción "Descargar" del menú
    superior

    Símbolos del Diagrama de
    flujo

    Codificación
    :

    Programación:

    Windows/Dos/

    Quick Basic = Editor de texto.
    Programa: definición:

    conjunto de datos y
    sentencias:

    Un programa tiene la
    forma

     Para ver
    el gráfico seleccione la opción
    "Descargar"

      En el editor de Quick Basic se
    escribiría codificado el seudo
    código

    que tendría la
    forma:

    REM Programa para calcular las
    soluciones

    REM de una ecuacion de segundo
    grado

    PRINT "Escriba los valores de
    A, B y C"

    C$="Calculos"

    INPUT " A,B,C", A, B,
    C

    R = (B ^ 2 – 4 * A * C) ^
    .5

    LET X1 = (-B + R) / (2 *
    A)

    LET X2 = (-B + R) / (2 *
    A)

    PRINT

    PRINT " A="; A, " B="; B, "C=";
    C

    PRINT "X1="; X1, "X2=";
    X2

    PRINT

    END

    En el Menú

     

     

     

     

    Ejecutar

     

     

    En la pantalla
    veríamos:

    Mandatos
    e instrucciones:

    Mandato (command): es una orden
    aislada de efecto inmediato.

    Ejemplo:

    Mandato

    Descripción

    RUN

    Ordena la ejecución de un
    programa.

    LIST

    Escribe En la pantalla el listado del
    programa

    SAVE.

    Guarda, graba el programa como un archivo de
    extensión BAS en el disco

     

     

     

    Instrucción: es una
    orden contenida en un programa.

    Ejemplo:

    Instrucción

    Descripción

    PRINT

    Escribe en pantalla.

    INPUT

    Introduce (entra datos)

    Edición de un
    programa: un programa esta formado por
    líneas secuenciales que se ejecutan en forma descendente
    (Up Down)

    Para dar por terminada una
    línea se pulsa la tecla Enter (Return) en cualquier parte
    de la misma. Para cambiar una línea basta volver a
    teclearla.

    • Se puede corregir una línea
      (borrar, rescribir ) en pantalla o bien con el mandato
      EDIT.
    • Se pueden incluir varias
      instrucciones en una misma línea, separándolos
      por dos puntos.
    • Una línea de pantalla
      (cuarenta u ochenta posiciones) es diferente de una
      línea de programa (doscientos cincuenta y seis
      posiciones).

    Modo
    Directo:

    Modo
    Programa

    Run

    Ventana
    activa

    Ventana
    inmediata

    mandato

    Descripción

    CLS

    borra la pantalla

    Recomendaciones:

    • Todo programa debe estar
      documentado con comentarios; la primera línea debe
      contener el titulo del programa. Los comentarios deben de ir
      precedidos de la palabra clave REM o de un apostrofo ( ‘
      )
    • Si una línea ya tiene otras
      instrucciones, el comentario debe ir al final de la
      línea.
    • Los comentarios solo aparecen en el
      listado del programa y no aparecen escritos en la pantalla
      durante la ejecución.

    Constantes:

    QBasic, trabaja con dos tipos de
    datos:

    Datos

    Tipos

    numéricos:

    Enteros (INT)

    Enteros largos (LNG)

    de simple precisión (SGL)

    de doble precisión (DBL)

    alfanuméricos

    hileras o cadenas (STR)

    fila de caracteres en ASCII (
    en parte del teclado
    )

    • Las constantes alfanuméricas
      pueden ser enteras o fraccionarias, se representan en forma
      decimal; se puede emitir el cero a la izquierda del punto
      decimal. Ejemplo

    3452

    -12.67

    .23

    +12345

    Estos son ejemplos de valores
    numéricos de punto fijo; se puede emplear una
    notación de punto
    flotante.

    Mantisa

    letra

    exponente

    1,23456E+15

     

    123456.0000000000

     

    1.234567890789456D–10

    0.000000000123456789012456

    • El numero máximo de cifras
      significativas con que se trabaja
      es:

    6 para la precisión simple
    (SNG)

    16 para la precisión doble
    (DLB)

    • En las constantes de punto fijo hay
      que añadir el carácter
      #
    • Las constantes alfanuméricas
      son hileras de caracteres; se escriben entre comillas, Ej.
      "Hola " ; " A47EC

    Variables vectores y
    matrices:

    • Una variable es una zona de
      memoria que
      almacena un dato

    X

    R

    A

    M

     

    DIA $

     

    Peso

     

    -23.5

     

    lunes

     

    80

     

    • Una variable se identifica mediante
      un nombre. El nombre de una variable numérica debe
      empezar por una letra y puede ir sucedido de otras letras y / o
      otros dígitos (X, A, B1, peso,
      T341)
    • Una variable alfanumérica
      debe terminar con el carácter
      $ (x$, a23$, dias$,)
    • Están terminantemente
      prohibidas los nombres de variables
      que contengan palabras claves de Basic (PRUN,
      LIST, NIF$,)
    • Las variables de
      precisión doble y enteros se identifican
      añadiendo el carácter # o el carácter % ,
      también se pueden declarar
      como

    DEFDBL
    A

    7.
    Documentación:

    Los comentarios que se incluyan deben
    ser significativos

    Documentación
    interna:

    • Va incluida dentro del
      código del programa fuente, por medio de comentarios que
      ayudan a la comprensión del
      código.
    • Todas las sentencias comienzan con
      la sentencia REM o su equivalente el
      carácter apostrofe (
      ).

    El programa en si no los necesita y
    los ignora. Hace que los programas sean
    comprensibles.

     

    Documento cedido
    por:

    JORGE LUIS CASTILLO
    TEJEDA

     

    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