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

Diseño de algoritmos mediante diagramas de Nassi ? Schneiderman




Enviado por anivarchaves



    1. Algoritmo
    2. Diagramas de Nassi –
      Schneiderman
    3. Estructuras
      secuencias
    4. Estructuras de
      decisión
    5. Estructuras de
      repetición
    6. Bibliografía
      Consultada
    1. PRESENTACION
    2. Los algoritmos, como procedimiento
      para solucionar problemas,
      han existido desde muchos siglos atrás, sin embargo,
      se han convertido en tema de interés de estudiante y profesionales
      por cuanto son el fundamento de la programación de
      computadores.

      Desarrollar un programa de
      computador
      significa: indicarle al computador, en un lenguaje
      que él pueda entender, todos y cada uno de los pasos
      que debe ejecutar para lograr el objetivo
      propuesto, pero antes de pensar en decirle al computador
      cómo hacer algo, es necesario que el programador sepa
      cómo hacerlo. Es allí donde entra a jugar un
      papel preponderante el desarrollo
      de algoritmos, pues antes de escribir un programa es
      necesario diseñar el algoritmo
      para solucionar el problema en cuestión.

      Existen varias técnicas para representar algoritmos,
      las más conocidas son: pseudocódigo, diagrama de
      flujo y diagrama
      N-S. En este documento se desarrolla la metodología de diagramas N-S o
      también conocida como diagramas de Chapin.

    3. ALGORITMO

    Se sabe que la palabra algoritmo se dio en honor del
    matemático persa del siglo IX,
    Khowârizmî. Con éste término se
    hace referencia a un conjunto de reglas, ordenadas de forma
    lógica,
    para desarrollar un cálculo o
    para solucionar un problema, ya sea de forma manual o
    utilizando una máquina. Actualmente es frecuente hablar de
    algoritmo como paso previo al desarrollo de un programa de
    computador.

    Los algoritmos están, con mayor o menor
    complejidad, en todas las actividades desarrolladas por el hombre y
    han sido utilizados por todos, infinidad de veces, sin embargo,
    cuando se aborda el tema como parte de la educación formal
    se mitifica y se difunde el prejuicio
    sobre que es un tema complicado.

    Desde los primeros años de escolaridad se trabaja con
    algoritmos, en especial en el campo de las matemáticas. Los métodos
    utilizados para sumar, restar, multiplicar y dividir son
    algoritmos que cumplen perfectamente las características
    de precisión, finitud, definición y eficiencia.

    Para que la solución de un problema sea llevada hasta
    un lenguaje de
    programación, los pasos expresados en el algoritmo
    deben ser lo más detallados posible, de manera que cada
    uno de ellos implique una operación trivial; es decir, que
    los pasos no impliquen procesos que
    requieran de una solución algorítmica. En caso de
    presentarse esta situación, el algoritmo debe ser
    refinado, lo que equivale a desarrollar nuevamente el algoritmo
    para la tarea concreta a la que se hace mención.

    Si el problema que se desea solucionar
    es muy grande o complejo, es recomendable dividirlo en tareas que
    se puedan abordar independientemente y que resulten más
    sencillas de solucionar. A esto se le llama
    diseño
    modular.

    Características
    de un algoritmo

    Un algoritmo debe tener al menos las siguientes
    características:

    • Ser preciso: esto significa que las operaciones o
      pasos del algoritmo deben desarrollarse en un orden estricto,
      ya que el desarrollo de cada paso debe obedecer a un orden
      lógico.
    • Ser definido. Ya que en el área de
      programación, el algoritmo se desarrolla como paso
      fundamental para desarrollar un programa, es necesario tener en
      cuenta que el computador solo desarrollará las tareas
      programadas y con los datos
      suministrados; es decir, no puede improvisar y tampoco se
      inventará o adivinará el dato que necesite para
      realizar un proceso. Por
      eso, el algoritmo debe estar plenamente definido; esto es, que
      cuantas veces se ejecute, el resultado depende estrictamente de
      los datos suministrados. Si se ejecuta con un mismo conjunto de
      datos de entrada, el resultado será siempre el
      mismo.
    • Ser finito: esta característica implica que
      el número de pasos de un algoritmo, por grande y
      complicado que sea el problema que soluciona, debe ser
      limitado. Todo algoritmo, sin importar el número de
      pasos que incluya, debe llegar a un final. Para hacer evidente
      esta característica, en la representación de un
      algoritmo siempre se incluyen los pasos inicio y fin.
    • Presentación formal: para que el algoritmo
      sea entendido por cualquier persona
      interesada es necesario que se exprese en alguna de las formas
      comúnmente aceptadas; pues, si se describe de cualquier
      forma puede no ser muy útil ya que solo lo
      entenderá quien lo diseñó. Las formas de
      presentación de algoritmos son: el pseudocódigo,
      diagrama de flujo y diagramas de Nassi/Schneiderman, entre
      otras.
    • Corrección: el algoritmo debe ser correcto,
      es decir debe satisfacer la necesidad o solucionar el problema
      para el cual fue diseñado. Para garantizar que el
      algoritmo logre el objetivo, es necesario ponerlo a prueba; a
      esto se le llama verificación o prueba de
      escritorio.
    • Eficiencia: hablar de eficiencia o complejidad de un
      algoritmo es evaluar los recursos de
      cómputo que requiere para almacenar datos y para
      ejecutar operaciones frente al beneficio que ofrece. En cuanto
      menos recursos requiere será más eficiente el
      algoritmo.

    La vida cotidiana está llena de soluciones
    algorítmicas, algunas de ellas son tan comunes que no se
    requiere pensar en los pasos que incluye la solución. La
    mayoría de las actividades que se realizan diariamente
    están compuestas por tareas más simples que se
    ejecutan en un orden determinado, lo cual genera un algoritmo.
    Por ejemplo, son tareas comunes, realizar
    una llamada telefónica, buscar un número en el
    directorio telefónico, buscar un anuncio en las
    páginas amarillas del directorio, preparar
    café,
    regar las plantas, poner en
    funcionamiento un automóvil, cambiar una llanta, entre
    muchas otras.

    Muchos de los procedimientos
    utilizados para desarrollar tareas cotidianas son
    algorítmicos, sin embargo, esto no significa que todo lo
    que se hace está determinado por un algoritmo. El
    cumplimiento de las características mencionadas
    anteriormente permitirá determinar si un procedimiento es
    o no es algorítmico.

    Una receta de cocina para preparar un plato cualquiera puede
    ser un algoritmo, pero también puede no serlo, dependiendo
    de las especificaciones. Si una de las instrucciones a
    desarrollar dice "aplicar sal al gusto" ya puede afirmarse que no
    es un algoritmo, porque contiene un elemento subjetivo, no
    definido. Esta misma acción
    podría aparecer de la forma "aplicar 20 gramos de sal", en
    cuyo caso no se requiere del gusto (subjetivo) de quien lo aplica
    y por tanto no contradice el principio de la algoritmia.

    El primer paso en el diseño de un algoritmo es conocer
    la temática a tratar, el segundo será pensar en las
    actividades a realizar y el orden en que deben ejecutarse para
    lograr el objetivo, el tercero y no menos importante es la
    presentación formal.

    1. DIAGRAMAS DE NASSI –
      SCHNEIDERMAN
    1. El diagrama N-S o también conocido como
      diagrama de Chapin es una técnica de
      especificación de algoritmos que combina la descripción textual, propia del
      pseudocódigo, con la representación
      gráfica del diagrama de flujo.

      El diagrama N-S cuenta con un conjunto limitado de
      símbolos para representar los pasos
      del algoritmo, por ello se apoya en expresiones del
      lenguaje natural; sin embargo, dado que el
      lenguaje natural es muy extenso y se presta para la
      ambigüedad, solo se utiliza un conjunto de palabras, a
      las que se denomina palabras reservadas. Las palabras
      reservadas más utilizadas son:

      Inicio Fin Leer Escribir

      Mientras Repita Hasta Para

      Incrementar Decrementar Hacer Función

      Entero Real Caracter Cadena

      Lógico Retornar

      Los símbolos utilizados en el diagrama de
      Chapin son corresponden a cada tipo de estructura. Dado que se tienen tres tipos de
      estructuras, se utilizan tres
      símbolos. Esto hace que los procesos del algoritmo
      sean más fáciles de representar y de
      interpretar.

    2. Definición.

      Son aquellas que se ejecutan una después de
      otra. Se tienen tres tipos de instrucciones secuenciales:
      la declaración de variables, asignación,
      instrucción Leer e instrucción
      Escribir.

      La mayoría de algoritmos actúan
      sobre un conjunto de datos suministrados por el usuario y
      se espera que a partir de dichos valores
      y desarrollando los procesos programados se genere información de salida o
      resultados.

      Declaración de variables

      Teniendo en cuenta la compatibilidad con la
      mayoría de los lenguajes, se recomienda que desde el
      diseño del programa se utilice una forma determinada
      para la declaración de las variables. Esta consiste
      en escribir el tipo de datos y la lista de identificadores
      que se tendrán de dicho tipo, separando cada
      identificador por medio de comas (,). Para mejorar la
      claridad de la declaración se puede colocar dos
      puntos (:) para separar el tipo de datos de la lista de
      identificadores.

      Ejemplo:

      Entero: edad

      Real: estatura, peso, sueldo

      Cadena: nombre, dirección

      Aunque algunos lenguajes de
      programación permiten declarar las variables en
      el momento en que se las necesita, es aconsejable, en favor
      de los buenos hábitos de programación,
      siempre declarar las variables antes de utilizarlas y el
      sitio más adecuado es el inicio del programa o de la
      función.

      Asignación

      Asignar un valor a
      una variable equivale a decir que se guarda dicho valor en
      la posición de memoria
      reservado para la variable en mención. Por lo tanto,
      para poder
      realizar una asignación es necesario primero haber
      declarado una variable, con lo cual se reserva un espacio
      de memoria suficiente para guardar un dato del tipo
      especificado.

      Una expresión de asignación tiene la
      forma:

      Variable = expresión

      Donde la expresión
      puede estar formada por un valor, por un conjunto de
      valores y operadores o por una
      función.

      Ejemplos:

      Edad = 10

      Estatura = 1.80

      Resultado = 2*3

      Donde edad y resultado son
      variables de tipo entero y estatura de tipo real que se
      supone declaradas previamente.

      Una asignación tiene
      tres partes, una variable, el signo igual y la
      expresión cuyo valor se asigna a la variable. La
      variable siempre va a la izquierda del igual, mientras que
      la expresión siempre estará a la
      derecha.

      Ejemplos:

      Entero: X, Y

      X = 10

      Y = X * 2 + 8

      En este ejemplo, la variable Y contendrá el
      valor 28.

      Instrucción Leer

      La instrucción LEER se utiliza para enviar
      información desde un dispositivo de entrada de datos
      hacia la
      memoria. En la memoria los datos son ubicados mediante
      el identificador (nombre de variable) utilizado como
      complemento de la instrucción LEER.

      En diagrama N-S la instrucción de entrada
      se representa así:

      Leer <lista de
      identificadores de variables>

      Ejemplo:

      Leer a, b

      Donde "a" y "b" son las variables que
      recibirán los
      valores y que deben haberse declarado
      previamente.

      Instrucción
      Escribir

      Esta instrucción permite enviar datos desde
      la memoria hacia un dispositivo de salida como la pantalla
      o la impresora. La información que se
      envía puede ser constante o también el
      contenido de variables.

      Escribir <lista de constantes
      y variables>

      Ejemplo:

      Escribir a, b

      Cuando se escriben más de una variable es
      necesario separarlas con comas (,) y los mensajes se
      escriben entre comillas dobles " ". Si una variable es
      escrita entre comillas se mostrará el identificador
      y no el contenido.

      Ejemplos:

      1. Diseñar un algoritmo para calcular el
      área y el perímetro de un
      rectángulo

      Definición del problema

      Calcular área y perímetro de un
      rectángulo

      Análisis del problema

      Para desarrollar este problema es necesario
      conocer las fórmulas para obtener tanto el
      área como el perímetro de un
      rectángulo.

       Sea b = base y h = altura, las
      fórmulas a utilizar son:

      Area = b * h

      Perímetro = 2 * (b + h)

      Datos de entrada: b y h (base y altura)

      Datos de salida: área y
      perímetro

      Procesos: área = b * h

      Perímetro = 2 * (b + h)

      Diseño de la
      solución

      Inicio

      Entero: b, h, a, p

      Leer b, h

      a = b * h

      p = 2 (b + h)

      Escribir "área:", a

      Escribir "perímetro:", p

      Fin algoritmo

      2. Un maestro desea saber que porcentaje de
      hombres y que porcentaje de mujeres hay en un grupo de
      estudiantes.

      Definición del problema

      Calcular porcentaje de hombres y mujeres en un
      grupo

      Análisis del problema

      Datos a tener en cuenta:

      Número hombres

      Número mujeres

      Total estudiantes

      Porcentaje hombres

      Porcentaje mujeres

      Datos de entrada: número hombres,
      número mujeres

      Datos salida: porcentaje hombres, porcentaje
      mujeres

      Procesos: tot estudiantes = núm. hombres +
      núm. Mujeres

      Porc.hombres = núm. Hombres / tot
      estudiantes*100

      Porc.hombres = núm. mujeres / tot
      estudiantes*100

      Diseño de la
      solución

      Inicio

      Entero: numm, numh, totest

      Real: porch, porcm

      Leer numm, numh

      totest = numm + numh

      porcm = numm / totest * 100

      porch = numh / totest * 100

      Escribir "porcentaje mujeres:",
      porcm

      Escribir "porcentaje hombres:",
      porch

      Fin algoritmo

      3. Un profesor
      prepara tres cuestionarios para una evaluación final: A, B y C. Se sabe
      que se tarda 5 minutos en revisar el cuestionario A, 8 en revisar el cuestionario
      B y 6 en el C. La cantidad de exámenes de cada tipo
      se entran por teclado.
      ¿Cuántas horas y cuántos minutos se
      tardará en revisar todas las
      evaluaciones?

      Definición del problema

      Calcular el tiempo,
      en horas y minutos, requerido para calificar
      exámenes.

      Análisis del problema

      Se tienen tres tipos de examen A, B, C y el tiempo
      en minutos requerido para cada tipo son:

      A = 5

      B = 8

      C = 6

      El tiempo en minutos debe ser convertido a
      horas,

      1 hora = 60 minutos

      Para pasar de minutos a horas se realiza
      operación división entera, para conocer los
      minutos excedentes se utiliza la operación
      módulo.

      Datos de entrada: número exámenes
      tipo A, B y C

      Datos de salida: horas y minutos
      requeridos

      Procesos:

      Total A = número tipo A * 5

      Total B = número tipo B * 8

      Total C = número tipo C * 6

      Tiempo total = total A + total B + total
      C

      Horas = tiempo total / 60

      Minutos = tiempo total Mod
      60

      Diseño de la
      solución

      Inicio

      Entero: numa, numb, num, tota,totb, totc,
      totmin, horas, minutos

      Leer numa, numb, numc

      tota = numa * 5

      totb = numb * 8

      totc = numc * 6

      totmin = tota + totb + totc

      horas = totmin / 60

      minutos = totmin Mod 60

      Escribir "tardará:",horas, "horas
      y", minutos, "minutos"

      Fin algoritmo

    3. Estructuras
      secuenciales

      Las estructuras de decisión o
      también llamadas de selección permiten que el algoritmo
      tome decisiones y ejecute u omita algunos procesos
      dependiendo del cumplimiento de una
      condición.

      Se pueden manejar tres tipos de decisiones:
      simple, doble y múltiple.

      Decisión simple y doble

      Una decisión es simple, cuando solo se
      tiene determinado los pasos a seguir si el resultado de la
      condición es verdadero, mientras que
      si es falso, la ejecución del
      algoritmo continúa después de la estructura
      condicional.

      Una decisión cuando se tiene un curso de
      acción para el caso que el resultado de la
      comparación sea verdadero y otro para cuando sea
      falso.

      En diagrama de Chapin el símbolo para
      representar una decisión es el siguiente:

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

       Obsérvese que en la parte inferior se
      tienen los cuadros que indican dos posibilidades de
      acción, el conjunto de instrucciones 1 o el conjunto
      de instrucciones 2, solo uno de los dos. Si se tratase de
      una decisión simple, solo se tendrá
      instrucciones en las cajas que se ubican debajo de la
      cláusula Si, mientras que las que
      están bajo No estarán
      vacías.

      Ejemplos:

      1. Se desea un algoritmo para obtener el valor
      absoluto de un número

      Definición del problema

      Encontrar el valor absoluto de un
      número

      Análisis del problema

      Para encontrar el valor absoluto del número
      es necesario recordar que para los enteros positivos el
      valor es el mismo, mientras que para los enteros negativos
      es necesario cambiarlos de signo.

      Datos de entrada: número

      Datos de salida: valor absoluto

      Proceso: número = número *
      (-1)

      Diseño de la
      solución

      2. Dados dos números ¿cuál es
      mayor? y ¿cuál es menor?

      Definición del problema

      Identificar el mayor y menor de dos
      números

      Análisis del problema

      Datos de entrada: num1, num2

      Datos salida: mayor, menor

      Proceso: comparación

      Diseño de la
      solución

      3. Una
      empresa desea calcular los nuevos salarios
      de sus empleados de la siguiente forma: quienes ganan hasta
      $ 500.000 tendrán un incremento del 10%, quienes
      devengan más de $ 500.000 y hasta 800.000
      recibirán un aumento del 8% y los demás del
      5%. ¿Cuál será el valor del aumento?
      ¿Cuál será el valor del nuevo
      sueldo?

      Definición del problema

      Calcular el valor a incrementar y el valor del
      nuevo sueldo de los empleados.

      Análisis del problema

      El porcentaje de incremento en el sueldo depende
      del valor del sueldo actual, los sueldos más bajos
      tienen un mayor incremento:

      10% para sueldo <= $ 500.000

      8% para $ 500.000 < sueldo <= $
      800.000

      5% para sueldo > 800.000

      Datos de entrada: sueldo

      Datos de salida: aumento, nuevo sueldo

      Proceso:

      aumento = sueldo * porcentaje donde porcentaje =
      5, 8 o 10%

      nuevo sueldo = sueldo + aumento

      Diseño de la
      solución

       Decisión
      múltiple

      Muchas decisiones deben tomarse, no solo entre dos
      alternativas, sino de un conjunto mayor. Estos casos bien
      pueden solucionarse utilizando condicionales dobles
      anidados; sin embargo, en favor de la claridad del
      algoritmo y la facilidad para el programador, es mejor
      utilizar una estructura de decisión múltiple,
      la cual es fácil de llevar a un lenguaje de
      programación, ya que éstos incluyen alguna
      instrucción con este fin.

      La decisión múltiple determina el
      valor de una variable y dependiendo de éste sigue un
      curso de acción. Es importante tener en cuenta que
      solo se verifica la condición de igualdad
      entre la variable y la constante.

      En diagrama N-S la estructura de selección
      múltiple tiene la forma:

      Ejemplo:

      una distribuidora de motocicletas tiene una
      promoción de fin de año que
      consiste en los siguiente. Las motos marca
      HONDA tienen un descuento del 5%, las de marca Yamaha del
      8% y las Suzuki el 10%, las de otras marcas
      el 2%

      Definición del problema

      Calcular el valor del descuento y el valor a pagar
      por la motocicleta.

      Análisis del problema

      Porcentaje descuento = 5% para motos
      Honda

      Porcentaje descuento = 8% para motos
      Yamaha

      Porcentaje descuento = 10% para motos
      Suzuki

      Porcentaje descuento = 2% para motos otras
      marcas

      Datos de entrada: marca, valor

      Datos de salida: descuento, valor a
      pagar

      Proceso:

      descuento = valor * porcentaje

      Valor neto = valor – descuento

      Diseño de la
      solución

    4. Estructuras de
      decisión
    5. Estructuras de
      repetición

    En la
    solución de algunos problemas es necesario ejecutar
    repetidas veces una instrucción o un conjunto de
    instrucciones. En algunos casos, el número de repeticiones
    se conoce con anterioridad, mientras que en otras depende de
    cálculos o estados de variables que se dan dentro de la
    solución del problema.

    Para solucionar este
    tipo de problemas se utiliza un tipo de estructuras a las que se
    conocen como estructuras de repetición, bucles o
    ciclos.

    Un ciclo
    consiste en un grupo de
    acciones que
    se ejecutan repetidas veces dependiendo del cumplimiento de una
    condición.

    Ciclo Mientras

    Este ciclo consiste en un conjunto de instrucciones que
    se repiten mientras se cumpla una condición. De igual
    manera que en los condicionales, la condición es evaluada
    y retorna un valor lógico, que puede ser verdadero o
    falso. En el caso del ciclo mientras las instrucciones
    contenidas en la estructura de repetición se
    ejecutarán solamente si al evaluar la condición se
    genera un valor verdadero; es decir, si la condición se
    cumple; en caso contrario, se ejecutará la
    instrucción que aparece después de Fin
    mientras
    .

    A diferencia de otros ciclos,
    el ciclo mientras comienza evaluando la expresión
    condicional, si el resultado es verdadero se ejecutarán
    las instrucciones que estén entre el mientras y el
    fin mientras, al encontrarse la línea fin mientras
    se volverá a evaluar la condición, si se cumple se
    ejecutarán nuevamente las instrucciones y así
    sucesivamente hasta que la condición deje de cumplirse, en
    cuyo caso, el control del
    programa pasa a la línea que aparece después de
    fin mientras.

    Si en la primera pasada por el
    ciclo mientras la condición no se cumple las instrucciones
    que están dentro del ciclo no se ejecutarán ni una
    sola vez.

    En diagrama de Chapin (N-S), esta estructura tiene la
    presentación:

    Ejemplos:

    1. Un algoritmo para mostrar los números del 1 al
    10.

    Definición del problema

    Mostrar listado de números de 1 a 10.

    Análisis del problema

    Datos de entrada: ninguno

    Datos de salida: número

    Proceso: ninguno

    Diseño de la solución

    Este es un algoritmo muy trivial pero permite revisar la
    aplicación de la estructura de repetición
    Mientras.

    Lo primero a tener en cuenta es
    la declaración e inicialización de la variable: num
    = 1. En este caso no solo se está declarando una variable
    de tipo entero, sino también se está asignando un
    valor inicial, que será el primer número
    mostrado.

    La condición o
    expresión relacional con la cual se implementa el ciclo es
    num <= 10, dado que num inicia en 1, la primera vez que se
    encuentra la instrucción mientras, la expresión es
    verdadera, por tanto se ejecutan las instrucciones que aparecen
    al interior del ciclo.

    Después de haber mostrado
    el contenido de la variable num, éste cambia, se
    incrementa en 1.

    2. Leer n números y encontrar el valor promedio,
    el mayor y el menor

    Definición del problema

    Encontrar el promedio, el mayor y el menor de varios
    números

    Análisis del problema

    Para solucionar este problema, lo primero que hay que
    plantear es cómo se sabrá cuando terminar la lectura de
    datos, ya que no se especifica la cantidad de números que
    serán ingresados y en el planteamiento del
    problema no se da ninguna condición que permita saber
    cuando terminar el ciclo. Este tipo de problemas es muy
    común.

    Hay dos formas de abordar este ejercicio, la primera
    consiste en preguntar al usuario con cuantos números desea
    trabajar y guardar dicho valor en una variable que se
    utilizará para establecer el ciclo. La segunda consiste en
    preguntar después de leer cada dato, si se desea ingresar
    otro. En este ejercicio se utilizará la primera estrategia.

    Datos de entrada: cantidad de números,
    número

    Datos de salida: promedio, mayor y menor

    Procesos:

    suma = suma + número

    promedio = suma / cantidad de
    números

    Diseño de la solución

    3. La serie Fibonacci comienza con los números:
    0, 1, 1, 2, 3, 5, 8, 13, 21, … Se requiere un algoritmo para
    generar los primeros 10 números.

    Definición del problema

    Generar los 10 primeros números de la serie
    fibonacci

    Análisis del problema

    La serie fibonacci se genera a partir de dos valores
    iniciales que son el 0 y el 1, que al sumarse dan como resultado
    1. El siguiente número se obtiene sumando el último
    número obtenido con el anterior, en este caso 1 + 1 = 2,
    luego será 2 + 1 = 3 y así
    sucesivamente.

    Datos de entrada: ninguno

    Datos de salida: serie fibonacci

    Procesos:

    a = 0

    b = 1

    f = a + b

    Diseño de la solución

    Ciclo Para

    Este ciclo, al igual que los demás, permite
    ejecutar repetidas veces una instrucción o un grupo de
    ellas, pero a diferencia de otras instrucciones de
    repetición, ésta maneja el valor inicial, el valor
    de incremento o decremento y el valor final de la variable de
    control como parte de la instrucción.

    Cuando al ejecutarse un algoritmo se encuentra una
    instrucción para la variable de control (contador)
    toma el valor inicial, se verifica que el valor inicial no
    sobrepase el valor final y luego se ejecutan las instrucciones
    del ciclo. Al encontrar la instrucción fin para, se
    produce el incremento y se vuelve a verificar que la variable de
    control no haya superado el límite admitido, y se vuelven
    a ejecutar las instrucciones que están dentro del ciclo, y
    así sucesivamente tantas veces como sea necesario hasta
    que se supere el valor final establecido.

    El ciclo para termina en el momento en que la
    variable de control (contador) sobrepasa el valor final; es
    decir, que la igualdad está permitida y las instrucciones
    se ejecutan cuando el contador es igual al valor
    final.

    Este ciclo puede presentarse de tres maneras: la primera
    es la más común, cuando se produce un incremento de
    1 en cada iteración, en cuyo caso no es necesario escribir
    explícitamente.

    En diagrama N-S:

    El segundo caso de utilización del ciclo
    Para es cuando el incremento es diferente de 1, en cuyo
    caso se escribirá la palabra incrementar seguida
    del valor a sumar en cada iteración.

    En tercer lugar, el ciclo para no siempre se
    incrementa desde un valor inicial hasta un valor mayor, puede
    suceder que se requiera que se disminuya desde un valor inicial
    alto, hasta un valor menor. En este caso será suficiente
    con escribir decrementar en vez de
    incrementar.

    Ejemplos:

    1. Imprimir los números del 1 al 10

    Definición del problema

    Imprimir números del 1 al 10

    Análisis del problema

    Datos de entrada: ninguno

    Datos de salida: números (1 … 10)

    Proceso: ninguno

    Diseño de la solución

    2. Imprimir los números del 5 al 50 con
    intervalos de 5.

    Definición del problema

    Imprimir números de cinco en cinco

    Análisis del problema

    Datos de entrada: ninguno

    Datos de salida: números

    Proceso: ninguno

    Diseño de la solución

    3. Dado un número n mostrar los
    números menores o igual a éste, en orden
    descendente

    Definición del problema

    Imprimir números en orden descendente

    Análisis del problema

    Datos de entrada: número

    Datos de salida: números

    Proceso: ninguno

    Diseño de la solución

    4. un algoritmo que lee 10 números y muestra la
    sumatoria, el promedio, el número mayor y el número
    menor.

    Definición del problema

    Leer 10 números y sumarlos, determinar el
    promedio, el número menor y el número
    mayor.

    Análisis del problema

    Datos de entrada: número

    Datos de salida: sumatoria, promedio, número
    menor y número mayor

    Proceso:

    suma = suma + número

    promedio = suma / 10

    Diseño de la solución

    La utilización adecuada e ingeniosa de las
    estructuras presentadas permite el diseño de algoritmos de
    aceptable nivel de complejidad, como se ha mostrado en los
    ejemplos. Obsérvese que cada estructura permite incluir
    las anteriores, en el último ejemplo se ha utilizado todos
    los conceptos presentados en este documento.

    Los diagramas N-S permiten representar de forma sencilla
    los pasos que conforman un algoritmo y por su combinación
    de texto e
    imagen son muy
    fáciles de interpretar; no obstante, es recomendable que
    quien se inicia en el diseño de algoritmos conozca otras
    técnicas como el pseudocódigo y el diagrama de
    flujo.

    Finalmente, es menester anotar que el diseño de
    algoritmos no solo requiere conocer metodologías de
    representación, sino también desarrollar el
    pensamiento
    lógico para generar soluciones y esto se consigue mediante
    el desarrollo de ejercicios.

    Mas información

    Para mayor información comunicarse con el autor o
    consultar su libro, el
    mismo que aparece en la bibliografía.

    BIBLIOGRAFIA
    CONSULTADA

    ALLEN WEIS, Mark. Estructuras de datos y algoritmos.
    Wilmington E.U.A: Addison – Wesley Iberoamericana, 1995.
    486 p.

    BECERRA SANTAMARÍA, Cesar. Algoritmos conceptos
    básicos. Bogotá: Kimpres, 1993. 391 p.

    BRASSARD Y BRATLEY. Fundamento de algoritmia. España:
    Prentice-All, 1997. 579 p.

    CAIRO BATTISTUTTI, Osvaldo. Metodología de la
    programación. México:
    Alfaomega, 1995. 1009 p.

    CHAVES TORRES, Anívar. Algoritmos:
    pseudocódigo, diagama de flujo y diagrama N-S. Pasto
    Colombia:
    Multigráfico impresores, 2004. 297p.

    CORREA URIBE, Guillermo. Desarrollo de algoritmos 3ra
    ed. Bogotá: McGraw-Hill, 1998. 248 p.

    GALVE, Javier et al. Algoritmia. Wilmington E.U.A:
    Addison – Wesley Iberoamericana, 1993. 502 p.

    JOYANES AGUILAR, Luis. Programación
    en C++ algoritmos, estructuras de datos y objetos.
    España: McGraw-Hill. 2000. 710 p.

    ——————–. Metodología de la
    programación. México: McGraw-Hill, 1992. 248
    p.

    Anívar Chaves Torres

    Ing. de Sistemas

    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