INFORMÁTICA II.

Contenido
MÓDULO N 1: Algoritmos.

1.1. Terminología empleada en algoritmos.                    1.3 Técnicas de Diagramación de Algoritmos.
            1.1.1. Definición de problema.                                1.3.1. Estructuras Algorítmicas.
            1.1.2. Definición de algoritmo.                               1.3.2. Lenguaje Natural.
            1.1.3. Características de los algoritmos.                     1.3.3. Lenguaje de Pseudocódigo.
            1.1.4. Entidades Primitivas para el Desarrollo                1.3.4. Diagramas de Acción.
                   de Algoritmos.                                         1.3.5. Diagramas de Flujo.
                   1.1.4.1. Tipos de datos.                               1.3.6. Diagramas Nassi/Scheiderman.
                   1.4.1.2. Expresiones.
                   1.4.1.3. Operadores y Operandos.

1.2. Metodología de solución de problemas.
            1.2.1. Definición del Problema.
            1.2.2. Análisis de Problema.
            1.2.3. Diseño del Algoritmo.
            1.2.4. Codificación del Programa.
            1.2.5. Prueba y Depuración.
            1.2.6. Documentación.
            1.2.7. Mantenimiento.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.1. Terminología empleada en algoritmos.
   Asignación N 1: Realizar un Wiki con los siguientes Términos:
             1.    Acumulador.                          16.   Declaración.
             2.    Algoritmo.                           17.   Diagrama de Flujo.
             3.    Aplicación.                          18.   Hardware.
             4.    Bandera.                             19.   Operadores Lógicos.
             5.    Bucle.                               20.   Operadores Relacionales.
             6.    Condición Múltiple.                  21.   Palabra Reservada.
             7.    Condición Simple.                    22.   Proceso.
             8.    Conector.                            23.   Programa.
             9.    Constante.                           24.   Pseudocódigo.
             10.   Contador.                            25.   Salida.
             11.   Dato.                                26.   Software.
             12.   Datos Alfabéticos.                   27.   Valor.
             13.   Datos Alfanuméricos.                 28.   Variable de Trabajo.
             14.   Datos Lógicos.                       29.   Variable.
             15.   Datos Numéricos.

    Nota: Utilice el sitio http://www.wikispaces.com/ u otro sitio en internet donde pueda hacerlo.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.1 Definición de problema:
    La solución a la medida de un problema por computadora, requiere como en otras disciplinas de una
    metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones. La Metodología para
    la solución de Problemas por computadora establece 7 pasos, dispuestos de tal forma que cada uno es
    dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada
    paso exige el mismo cuidado en su elaboración.

          1.   Definición del problema.
          2.   Análisis del Problema.
          3.   Diseño del algoritmo.
          4.   Codificación del Programa.
          5.   Prueba y depuración.
          6.   Documentación.
          7.   Mantenimiento.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.2 Definición de algoritmo.
   “Un algoritmo se define como un método que se realiza paso a
   paso para solucionar un problema que termina en un número
   finito de pasos”.

   “Es un conjunto de instrucciones o reglas bien definidas,
   ordenadas y finitas que permite realizar una actividad mediante
   pasos sucesivos que no generen dudas a quien lo ejecute. Los
   Algoritmos tienen un inicio y una entrada, siguiendo los pasos
   sucesivos por lo general ocurre un proceso y finalmente se
   obtiene una salida o una solución del problema.”

   “Es un Método para resolver un problema mediante una serie de
   pasos precisos , definidos y finitos. Un algoritmo es una serie de
   operaciones detalladas ,en otras palabras un algoritmo es un
   conjunto de reglas para resolver una cierta clase de problemas y
   se puede formular de muchas formas con el cuidado de que no
   exista ambigüedad. “
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.1.3 Características de los algoritmos.
       Debe ser preciso. e indicar el orden de realización de cada
        paso.
       Debe ser definido. Si se sigue un algoritmo dos veces, se
        debe obtener el mismo resultado cada vez.
       Debe ser finito. Si se sigue un algoritmo, se debe terminar
        en algún momento ; o sea debe tener un número finito de
        pasos.
       Debe describir tres partes : Entrada, Proceso y Salida.
       Debe ser Sencillo , Legible.
       Debe ser Modular.
       Debe ser Eficiente y Efectivo.
       Debe desarrollarse en el menor tiempo posible. Romper
        con el paradigma de Eficiencia vs Eficacia.
       Debe ser Correcto. Sin errores.
       Debe cero ó mas entradas.
       Debe tener al menos una salida y ésta debe ser tangible.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.1.3.1. Algoritmos Cotidianos

   En la vida cotidiana se emplean algoritmos en multitud de
   ocasiones para resolver problemas. Algunos ejemplos son:

   1. Los manuales de usuario, que muestran algoritmos para
      usar un aparato, o
   2. Las instrucciones que recibe un trabajador por parte de su
      patrón.
   3. Los pasos de una receta de una ensalada Cesar con Pollo.
   4. El cambio de un neumático.
   5. El lavar los platos en la cocina.
   6. Los pasos a seguir en un día normal de trabajo.
   7. El como cambiar una bombilla eléctrica.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.1.3.1. Algoritmos Cotidianos

    Diseñar un algoritmo para cambiar una llanta a un coche.

    1.   Inicio.
    2.   Traer gato.
    3.   Levantar el coche con el gato.
    4.   Aflojar tornillos de las llantas.
    5.   Sacar los tornillos de las llantas.
    6.   Quitar la llanta.
    7.   Poner la llanta de repuesto.
    8.   Poner los tornillos.
    9.   Apretar los tornillos.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.2. Definición de los Lenguajes Algorítmicos.

       El pseudocódigo es un lenguaje de programación
       algorítmico; es un lenguaje intermedio entre el lenguaje
       natural y cualquier lenguaje de programación específico,
       como son: C, FORTRAN, Pascal, etc. No existe una notación
       formal o estándar de pseudocódigo, sino que, cada
       programador puede utilizar la suya propia.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos.
La palabra algoritmo proviene del nombre del matemático persa llamado
Abu Abdullah Muhammad bin Musa al-Khwarizmi que vivió entre los
siglos VIII y IX. Su trabajo consistió en preservar y difundir el
conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil
comprensión, he aquí que su principal valor no fuera el de crear nuevos
teoremas o nuevas corrientes de pensamiento, sino el simplificar las
matemáticas a un nivel lo suficientemente bajo para que pudiera ser
comprendido por un amplio público. Cabe destacar, como él señaló las
virtudes del sistema decimal indio, (en contra de los sistemas
tradicionales árabes) y como explicó que mediante una especificación
clara y concisa de cómo calcular sistemáticamente, se podrían definir
algoritmos que fueran usados en dispositivos mecánicos en vez de las
manos (por ejemplo, ábacos). También estudió la manera de reducir las
operaciones que formaban el cálculo. Es por esto que aun no siendo él el
creador del primer algoritmo, el concepto lleva aunque no su nombre, sí
su pseudónimo.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos.
Así, de la palabra algoritmo que originalmente hacía referencia
a las reglas de uso de la aritmética utilizando dígitos arábigos,
se evolucionó a la palabra latina, derivación de al-Khwarizmi,
algobarismus, y luego más tarde mutó en algoritmo en el siglo
XVIII. La palabra ha cambiado de forma que en su definición se
incluyen a todos los procedimientos finitos para resolver
problemas.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para
un computador. La autora fue Ada Byron en cuyos escritos se
detallaban la máquina analítica en 1842. Es por ello que es
considerada por muchos como la primera programadora
aunque, desde Charles Babbage nadie completó su máquina,
por lo que el algoritmo nunca se implementó.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.

1.1.3.4. Entidades Primitivas para el desarrollo de Algoritmos.

        1.1.3.4.1 Tipos de datos.
        1.1.3.4.2 Expresiones.
        1.1.3.4.3 Operadores y Operandos.
INFORMÁTICA II.

1.1.3.4.1. Tipos de Datos.
      Clasificación de los tipos de datos simples: Los tipos de
      datos simples se clasifican en predefinidos y definidos por
      el programador. La clasificación completa es:
INFORMÁTICA II.

1.1.3.4.2. Expresiones.

          Las expresiones son combinaciones de constantes, variables, símbolos
          de operación, paréntesis y nombres de funciones especiales. Por
          ejemplo:

               a+(b + 3)/c

          Cada expresión toma un valor que se determina tomando los valores de las
          variables y constantes implicadas y la ejecución de las operaciones indicadas.

          Una expresión consta de operadores y operandos. Según sea el tipo de datos
          que manipulan, se clasifican las expresiones en:

                Aritméticas.
                Relaciónales.
                Lógicas.
INFORMÁTICA II.

1.1.3.4.3. Operadores y Operandos.

 Operadores: Son elementos que relacionan de forma
 diferente, los valores de una o más variables y/o
 constantes. Es decir, los operadores nos permiten
 manipular valores.

 Tipos de Operadores:
      1.   Operadores Aritméticos en pseudocódigo.
      2.   Operadores relacionales en pseudocódigo.
      3.   Operadores Lógicos en pseudocódigo.
      4.   Operadores de Cadena en pseudocódigo.
INFORMÁTICA II.

1.1.3.4.3. Operadores y Operandos.

 Prioridad de los Operadores aritméticos, relacionales, lógicos y de cadena (de mayor a menor) en pseudocódigo).
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
 1.2.1 Definición del problema.

  Esta fase está dada por el enunciado del problema, el cual
  requiere una definición clara, precisa y completa. Es
  importante conocer y delimitar por completo el problema y
  que se desea que realice la computadora; mientras esto no
  se conozca del todo no tiene mucho caso continuar con la
  siguiente paso.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
  1.2.2 Análisis del problema.

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
      a. Los datos de entrada.
      b. Cual es la información que se desea producir (salida)
      c. Los métodos y fórmulas que se necesitan para procesar los datos.
      d. Una recomendación muy practica es el que nos pongamos en el lugar de la
         computadora y analicemos que es lo que necesitamos que nos ordene y en que
         secuencia para producir los resultados esperados.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
 1.2.3 Diseño del Algoritmo.

  Las características de un buen algoritmo son:
        a. Debe tener un punto particular de inicio.
        b. Debe ser definido, no debe permitir dobles
            interpretaciones.
        c. Debe ser general, es decir, soportar la mayoría de
            las variantes que se puedan presentar en la
            definición del problema.
        d. Debe ser finito en tamaño y tiempo de ejecución.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
 1.2.4 Codificación del Programa.

  La codificación es la operación de escribir la solución del
  problema (de acuerdo a la lógica del diagrama de flujo o
  pseudocódigo), en una serie de instrucciones detalladas, en
  un código reconocible por la computadora, la serie de
  instrucciones detalladas se le conoce como código fuente, el
  cual se escribe en un lenguaje de programación o lenguaje
  de alto nivel.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
 1.2.5 Prueba y Depuración.
  Los errores humanos dentro de la programación de computadoras son muchos y
  aumentan considerablemente con la complejidad del problema. El proceso de
  identificar y eliminar errores, para dar paso a una solución sin errores se le llama
  depuración. La depuración o prueba resulta una tarea tan creativa como el
  mismo desarrollo de la solución, por ello se debe considerar con el mismo
  interés y entusiasmo. Resulta conveniente observar los siguientes principios al
  realizar una depuración, ya que de este trabajo
  depende el éxito de nuestra solución.
   Prueba es el proceso de identificar los errores que se presenten durante la
   ejecución del programa; es conveniente que cuando se pruebe un programa
   se tomen en cuenta los siguientes puntos:

           1. Tratar de iniciar la prueba con una mentalidad saboteadora, casi
              disfrutando la tarea de encontrar un error.
           2. Sospechar de todos los resultados que arroje la solución, con lo
              cual se deberán verificar todos.
           3. Considerar todas las situaciones posibles, normales y aún las
              anormales.

   La Depuración consiste en eliminar los errores que se hayan detectado
   durante la prueba, para dar paso a una solución adecuada y sin errores.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.

 1.2.6 Documentación.
  Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados,
  procedimientos, dibujos o diagramas. Es la guía o comunicación escrita que sirve
  como ayuda para usar un programa, o facilitar futuras modificaciones. A menudo un
  programa escrito por una persona es usado por muchas otras, por ello la
  documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA,
  INTERNA y AL USUARIO FINAL.


     Documentación Interna:        Consiste en los comentarios o mensajes que se
      agregan al código del programa, que explican las funciones que realizan ciertos
      procesos, cálculos o fórmulas para el entendimiento del mismo.

     Documentación Externa:         También conocida como Manual Técnico, está
      integrada por los siguientes elementos: Descripción del Problema, Nombre del
      Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y
      Codificación del Programa, esto con la finalidad de permitir su posterior
      adecuación a los cambios.

     Manual del Usuario: Es la documentación que se le proporciona al usuario
      final, es una guía que indica el usuario como navegar en el programa,
      presentando todas las pantallas y menús que se va a encontrar y una explicación
      de los mismos, no contiene información de tipo técnico.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.2. Metodología de solución de problemas.
 1.2.7 Mantenimiento.

  Se lleva acabo después de terminado el programa, cuando se detecta
  que es necesario hacer algún cambio, ajuste o complementación al
  programa para que siga trabajando de manera correcta. Para poder
  realizar este trabajo se requiere que el programa este correctamente
  documentado.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0. Estructuras Algorítmicas.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0.1. Estructura Algorítmica Secuencial.




                Inicio
                    Accion1
                    Accion2
                    .
                    .
                    Acción N
                Fin
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0. 2 Estructuras Algorítmicas Condicionales.

                                        Si <condición> entonces             Casos Variable
                                              Acción(es)                         Op1: Acción(es)
                                        si no                                    Op2: Acción(es)
                                              Acción(es)
                                                                                 OpN: acción
                                        Fin−si
     Si <condición> entonces                                                Fin−casos
                Acción(es)               Si <condición> entonces
     Fin−si                                    Acción(es)
                                         si no
                                               Si <condición> entonces
                                                     Acción(es)
                                               si no
                                                     .
                                                     . Varias condiciones
                                                     .
                                               Fin−si
                                         Fin−si
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0.3. Estructuras Algorítmicas Cíclicas.
                                               Hacer para V.C = L.I a L.S VC=LI
                                                    Accion1 Vc = LS V
                                                    Accion2 vc=vc+1
                                                    .
                                                    .F
                                                    .
     Son aquellos en que el número de               AccionN Cuerpo del ciclo)
     iteraciones se conoce antes de            Fin−para
     ejecutarse el ciclo. La forma de esta
     estructura es la siguiente:               Donde:
                                                    V.C Variable de control del ciclo
                                                    L.I Limite inferior
                                                    L.S Limite superior
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0.4. Estructuras Algorítmicas Cíclicas.




         Repetir−Hasta: Esta es una estructura similar en algunas       Repetir
         características, a la anterior. Repite un proceso una              Acción 1
         cantidad de veces, pero a diferencia del Hacer−Mientras, el        Acción 2
         Repetir−Hasta lo hace hasta que la condición se cumple y
                                                                            .
         no mientras, como en el Hacer−Mientras. Por otra parte,
         esta estructura permite realizar el proceso cuando menos           .
         una vez, ya que la condición se evalúa al final del proceso,       Acción N
         mientras que en el Hacer−Mientras puede ser que nunca          Hasta <condición> NO
         llegue a entrar si la condición no se cumple desde un
         principio. La forma de esta estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0.5. Estructuras Algorítmicas Cíclicas.




                                                             Hacer mientras <condición>
            Hacer−Mientras: Esta es una estructura que
                                                                  Acción 1 NO
            repetirá un proceso durante N veces, donde N
                                                                  Acción2
            puede ser fijo o variable. Para esto, la
                                                                  .
            instrucción se vale de una condición que es la
                                                                  . SI
            que debe cumplirse para que se siga
                                                                  Acción N
            ejecutando. Cuando la condición ya no se
                                                             Fin−mientras
            cumple, entonces ya no se ejecuta el proceso.
            La forma de esta estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.0.6. Estructuras Algorítmicas Cíclicas.




       Repetir−Hasta: Esta es una estructura similar en algunas            Repetir
       características, a la anterior. Repite un proceso una cantidad de       Acción 1
       veces, pero a diferencia del Hacer−Mientras, el Repetir−Hasta           Acción 2
       lo hace hasta que la condición se cumple y no mientras, como
                                                                               .
       en el Hacer−Mientras. Por otra parte, esta estructura permite
       realizar el proceso cuando menos una vez, ya que la condición           .
       se evalúa al final del proceso, mientras que en el                      Acción N
       Hacer−Mientras puede ser que nunca llegue a entrar si la            Hasta <condición> NO
       condición no se cumple desde un principio. La forma de esta
       estructura es la siguiente:
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.1. Lenguaje de Pseudocódigo

   Sintaxis de un Algoritmo en pseudocódigo.                         Sintaxis de un Algoritmo en pseudocódigo.

  inicio                                                             algoritmo <nombre_del_algoritmo>
  acumulador ← 0
  contador ← 0                                                        [ constantes
  hacer mientras                                                          <declaraciones_de_constantes> ]
      escribir( "Introduzca un número entero: " )                     [ tipos_de_datos
      leer( numero )                                                      <declaraciones_de_tipos_de_datos> ]
      acumulador ← acumulador + numero                                [ variables
      contador ← contador + 1                                             <declaraciones_de_variables> ]
      escribir( "Ha introducido ", contador, " número(s)" )
      escribir( "La suma es ", acumulador )                           inicio
      escribir( "¿Desea introducir otro número (s/n)?: " )              <bloque_de_instrucciones>
      leer( seguir )                                                  fin
  fin_mientras ( seguir <> 'n' )
      escribir( "La media aritmética es ", acumulador / contador )
   fin
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.1. Lenguaje de Pseudocódigo

    Este algoritmo es caracterizado porque sigue un
    proceso de ejecución común y lógico,
    describiendo textualmente paso a paso cada
    una de las actividades a realizar dentro de una
    actividad determinada.
     1.    Levantarse.
     2.    Bañarse.
     3.    Vestirse.
     4.    Desayunar.
     5.    Cepillarse los dientes.
     6.    Salir de casa.
     7.    Tomar el autobús.
     8.    Llegar la Universidad.
     9.    Buscar el aula.
     10.   Ubicarse en un asiento.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Diagramas de Acción.
   Estructura Condicional de un Diagrama de Acción.    Estructuras de Repetición de un Diagrama de Acción.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Diagramas de Flujo.

       Son la representación gráfica de la solución
       algorítmica de un problema. Para diseñarlos se
       utilizan determinados símbolos o figuras que
       representan una acción dentro del procedimiento.
       Utilizan unos símbolos normalizados, con los pasos
       del algoritmo escritos en el símbolo adecuado y
       los símbolos unidos con flechas, denominadas
       líneas de flujo, que indican el orden en que los
       pasos deben ser ejecutados.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Diagramas de Flujo.

        1.  Se escribe de arriba hacia abajo y de izquierda a derecha .
        2.  Se deben usar solamente líneas de flujo horizontales y/o verticales.
        3.  Siempre se usan flechas verticales u horizontales, jamás curvas.
        4.  Evitar cruce de flujos.
        5.  En cada paso expresar una acción concreta .
        6.  Se deben usar conectores sólo cuando sea necesario.
        7.  Se debe evitar el cruce de líneas utilizando los conectores.
        8.  No deben quedar líneas de flujo sin conectar.
        9.  Se deben trazar los símbolos de manera que se puedan leer de arriba hacia
            abajo y de izquierda a derecha.
        10. Todo texto escrito dentro de un símbolo deberá ser escrito claramente,
            evitando el uso de muchas palabra
        11. La secuencia de flujo normal en una solución de problema .
              a. Tiene un inicio.
              b. Una lectura o entrada de datos.
              c. El proceso de datos.
              d. Una salida de información.
              e. Un final.
        12. Simbología para diseñar flujogramas.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Simbología.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Simbología.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.2. Diagramas de Flujo.

       Ventajas.
   1.   Rápida comprensión de las relaciones.
   2.   Análisis efectivo de las diferentes secciones del programa.
   3.   Pueden usarse como modelos de trabajo en el diseño de nuevos
        programas o sistemas.
   4.   Comunicación con el usuario.
   5.   Documentación adecuada de los programas.
   6.   Codificación eficaz de los programas.
   7.   Depuración y pruebas ordenadas de programas.

       Desventajas.
   1.   Diagramas complejos y detallados suelen ser laboriosos en su
        planteamiento y diseño.
   2.   Acciones a seguir tras la salida de un símbolo de decisión, pueden ser
        difíciles de seguir si existen diferentes caminos .
   3.   No existen normas fijas para la elaboración de los diagramas de flujo
        que permitan incluir todos los detalles que el usuario desee introducir.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.4. Diagramas N-S (Nassi-Schneiderman o de Chapin).

     Es una herramienta que favorece la programación estructurada y
      reúne características gráficas propias de diagramas de flujo y
      lingüísticas propias de pseudocódigos.

     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.

     Constan de una serie de cajas contiguas que se leerán siempre de
      arriba-abajo al igual que los diagramas de flujo poseen estructuras
      lógicas y simbología.

     Es importante mencionar que el diseño de algoritmos no sólo
      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.
INFORMÁTICA II.
MÓDULO N 1: ALGORITMOS.
1.3 Técnicas de Diagramación de Algoritmos.
 1.3.4. Diagramas N-S (Nassi-Schneiderman o de Chapin).

  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

01 presentación - módulo n°1 • algoritmos

  • 1.
    INFORMÁTICA II. Contenido MÓDULO N1: Algoritmos. 1.1. Terminología empleada en algoritmos. 1.3 Técnicas de Diagramación de Algoritmos. 1.1.1. Definición de problema. 1.3.1. Estructuras Algorítmicas. 1.1.2. Definición de algoritmo. 1.3.2. Lenguaje Natural. 1.1.3. Características de los algoritmos. 1.3.3. Lenguaje de Pseudocódigo. 1.1.4. Entidades Primitivas para el Desarrollo 1.3.4. Diagramas de Acción. de Algoritmos. 1.3.5. Diagramas de Flujo. 1.1.4.1. Tipos de datos. 1.3.6. Diagramas Nassi/Scheiderman. 1.4.1.2. Expresiones. 1.4.1.3. Operadores y Operandos. 1.2. Metodología de solución de problemas. 1.2.1. Definición del Problema. 1.2.2. Análisis de Problema. 1.2.3. Diseño del Algoritmo. 1.2.4. Codificación del Programa. 1.2.5. Prueba y Depuración. 1.2.6. Documentación. 1.2.7. Mantenimiento.
  • 2.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1. Terminología empleada en algoritmos. Asignación N 1: Realizar un Wiki con los siguientes Términos: 1. Acumulador. 16. Declaración. 2. Algoritmo. 17. Diagrama de Flujo. 3. Aplicación. 18. Hardware. 4. Bandera. 19. Operadores Lógicos. 5. Bucle. 20. Operadores Relacionales. 6. Condición Múltiple. 21. Palabra Reservada. 7. Condición Simple. 22. Proceso. 8. Conector. 23. Programa. 9. Constante. 24. Pseudocódigo. 10. Contador. 25. Salida. 11. Dato. 26. Software. 12. Datos Alfabéticos. 27. Valor. 13. Datos Alfanuméricos. 28. Variable de Trabajo. 14. Datos Lógicos. 29. Variable. 15. Datos Numéricos. Nota: Utilice el sitio http://www.wikispaces.com/ u otro sitio en internet donde pueda hacerlo.
  • 3.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.1 Definición de problema: La solución a la medida de un problema por computadora, requiere como en otras disciplinas de una metodología que nos enseñe de manera gradual, la forma de llegar a estas soluciones. La Metodología para la solución de Problemas por computadora establece 7 pasos, dispuestos de tal forma que cada uno es dependiente de los anteriores, lo cual indica que se trata de un proceso complementario y por lo tanto cada paso exige el mismo cuidado en su elaboración. 1. Definición del problema. 2. Análisis del Problema. 3. Diseño del algoritmo. 4. Codificación del Programa. 5. Prueba y depuración. 6. Documentación. 7. Mantenimiento.
  • 4.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.2 Definición de algoritmo. “Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en un número finito de pasos”. “Es un conjunto de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien lo ejecute. Los Algoritmos tienen un inicio y una entrada, siguiendo los pasos sucesivos por lo general ocurre un proceso y finalmente se obtiene una salida o una solución del problema.” “Es un Método para resolver un problema mediante una serie de pasos precisos , definidos y finitos. Un algoritmo es una serie de operaciones detalladas ,en otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas y se puede formular de muchas formas con el cuidado de que no exista ambigüedad. “
  • 5.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3 Características de los algoritmos.  Debe ser preciso. e indicar el orden de realización de cada paso.  Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.  Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento ; o sea debe tener un número finito de pasos.  Debe describir tres partes : Entrada, Proceso y Salida.  Debe ser Sencillo , Legible.  Debe ser Modular.  Debe ser Eficiente y Efectivo.  Debe desarrollarse en el menor tiempo posible. Romper con el paradigma de Eficiencia vs Eficacia.  Debe ser Correcto. Sin errores.  Debe cero ó mas entradas.  Debe tener al menos una salida y ésta debe ser tangible.
  • 6.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.1. Algoritmos Cotidianos En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver problemas. Algunos ejemplos son: 1. Los manuales de usuario, que muestran algoritmos para usar un aparato, o 2. Las instrucciones que recibe un trabajador por parte de su patrón. 3. Los pasos de una receta de una ensalada Cesar con Pollo. 4. El cambio de un neumático. 5. El lavar los platos en la cocina. 6. Los pasos a seguir en un día normal de trabajo. 7. El como cambiar una bombilla eléctrica.
  • 7.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.1. Algoritmos Cotidianos Diseñar un algoritmo para cambiar una llanta a un coche. 1. Inicio. 2. Traer gato. 3. Levantar el coche con el gato. 4. Aflojar tornillos de las llantas. 5. Sacar los tornillos de las llantas. 6. Quitar la llanta. 7. Poner la llanta de repuesto. 8. Poner los tornillos. 9. Apretar los tornillos.
  • 8.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.2. Definición de los Lenguajes Algorítmicos. El pseudocódigo es un lenguaje de programación algorítmico; es un lenguaje intermedio entre el lenguaje natural y cualquier lenguaje de programación específico, como son: C, FORTRAN, Pascal, etc. No existe una notación formal o estándar de pseudocódigo, sino que, cada programador puede utilizar la suya propia.
  • 9.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos. La palabra algoritmo proviene del nombre del matemático persa llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi que vivió entre los siglos VIII y IX. Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, he aquí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público. Cabe destacar, como él señaló las virtudes del sistema decimal indio, (en contra de los sistemas tradicionales árabes) y como explicó que mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos en vez de las manos (por ejemplo, ábacos). También estudió la manera de reducir las operaciones que formaban el cálculo. Es por esto que aun no siendo él el creador del primer algoritmo, el concepto lleva aunque no su nombre, sí su pseudónimo.
  • 10.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.3. Historia y Aplicación de los Lenguajes Algorítmicos. Así, de la palabra algoritmo que originalmente hacía referencia a las reglas de uso de la aritmética utilizando dígitos arábigos, se evolucionó a la palabra latina, derivación de al-Khwarizmi, algobarismus, y luego más tarde mutó en algoritmo en el siglo XVIII. La palabra ha cambiado de forma que en su definición se incluyen a todos los procedimientos finitos para resolver problemas. Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron en cuyos escritos se detallaban la máquina analítica en 1842. Es por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage nadie completó su máquina, por lo que el algoritmo nunca se implementó.
  • 11.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.1.3.4. Entidades Primitivas para el desarrollo de Algoritmos. 1.1.3.4.1 Tipos de datos. 1.1.3.4.2 Expresiones. 1.1.3.4.3 Operadores y Operandos.
  • 12.
    INFORMÁTICA II. 1.1.3.4.1. Tiposde Datos. Clasificación de los tipos de datos simples: Los tipos de datos simples se clasifican en predefinidos y definidos por el programador. La clasificación completa es:
  • 13.
    INFORMÁTICA II. 1.1.3.4.2. Expresiones. Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a+(b + 3)/c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:  Aritméticas.  Relaciónales.  Lógicas.
  • 14.
    INFORMÁTICA II. 1.1.3.4.3. Operadoresy Operandos. Operadores: Son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Tipos de Operadores: 1. Operadores Aritméticos en pseudocódigo. 2. Operadores relacionales en pseudocódigo. 3. Operadores Lógicos en pseudocódigo. 4. Operadores de Cadena en pseudocódigo.
  • 15.
    INFORMÁTICA II. 1.1.3.4.3. Operadoresy Operandos. Prioridad de los Operadores aritméticos, relacionales, lógicos y de cadena (de mayor a menor) en pseudocódigo).
  • 16.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.1 Definición del problema. Esta fase está dada por el enunciado del problema, el cual requiere una definición clara, precisa y completa. Es importante conocer y delimitar por completo el problema y que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente paso.
  • 17.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.2 Análisis del problema. Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: a. Los datos de entrada. b. Cual es la información que se desea producir (salida) c. Los métodos y fórmulas que se necesitan para procesar los datos. d. Una recomendación muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordene y en que secuencia para producir los resultados esperados.
  • 18.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.3 Diseño del Algoritmo. Las características de un buen algoritmo son: a. Debe tener un punto particular de inicio. b. Debe ser definido, no debe permitir dobles interpretaciones. c. Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema. d. Debe ser finito en tamaño y tiempo de ejecución.
  • 19.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.4 Codificación del Programa. La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
  • 20.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.5 Prueba y Depuración. Los errores humanos dentro de la programación de computadoras son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración. La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la solución, por ello se debe considerar con el mismo interés y entusiasmo. Resulta conveniente observar los siguientes principios al realizar una depuración, ya que de este trabajo depende el éxito de nuestra solución. Prueba es el proceso de identificar los errores que se presenten durante la ejecución del programa; es conveniente que cuando se pruebe un programa se tomen en cuenta los siguientes puntos: 1. Tratar de iniciar la prueba con una mentalidad saboteadora, casi disfrutando la tarea de encontrar un error. 2. Sospechar de todos los resultados que arroje la solución, con lo cual se deberán verificar todos. 3. Considerar todas las situaciones posibles, normales y aún las anormales. La Depuración consiste en eliminar los errores que se hayan detectado durante la prueba, para dar paso a una solución adecuada y sin errores.
  • 21.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.6 Documentación. Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. Es la guía o comunicación escrita que sirve como ayuda para usar un programa, o facilitar futuras modificaciones. A menudo un programa escrito por una persona es usado por muchas otras, por ello la documentación es muy importante; ésta debe presentarse en tres formas: EXTERNA, INTERNA y AL USUARIO FINAL.  Documentación Interna: Consiste en los comentarios o mensajes que se agregan al código del programa, que explican las funciones que realizan ciertos procesos, cálculos o fórmulas para el entendimiento del mismo.  Documentación Externa: También conocida como Manual Técnico, está integrada por los siguientes elementos: Descripción del Problema, Nombre del Autor, Diagrama del Flujo y/o Pseudocódigo, Lista de variables y constantes, y Codificación del Programa, esto con la finalidad de permitir su posterior adecuación a los cambios.  Manual del Usuario: Es la documentación que se le proporciona al usuario final, es una guía que indica el usuario como navegar en el programa, presentando todas las pantallas y menús que se va a encontrar y una explicación de los mismos, no contiene información de tipo técnico.
  • 22.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.2. Metodología de solución de problemas. 1.2.7 Mantenimiento. Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.
  • 23.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0. Estructuras Algorítmicas.
  • 24.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0.1. Estructura Algorítmica Secuencial. Inicio Accion1 Accion2 . . Acción N Fin
  • 25.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0. 2 Estructuras Algorítmicas Condicionales. Si <condición> entonces Casos Variable Acción(es) Op1: Acción(es) si no Op2: Acción(es) Acción(es) OpN: acción Fin−si Si <condición> entonces Fin−casos Acción(es) Si <condición> entonces Fin−si Acción(es) si no Si <condición> entonces Acción(es) si no . . Varias condiciones . Fin−si Fin−si
  • 26.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0.3. Estructuras Algorítmicas Cíclicas. Hacer para V.C = L.I a L.S VC=LI Accion1 Vc = LS V Accion2 vc=vc+1 . .F . Son aquellos en que el número de AccionN Cuerpo del ciclo) iteraciones se conoce antes de Fin−para ejecutarse el ciclo. La forma de esta estructura es la siguiente: Donde:  V.C Variable de control del ciclo  L.I Limite inferior  L.S Limite superior
  • 27.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0.4. Estructuras Algorítmicas Cíclicas. Repetir−Hasta: Esta es una estructura similar en algunas Repetir características, a la anterior. Repite un proceso una Acción 1 cantidad de veces, pero a diferencia del Hacer−Mientras, el Acción 2 Repetir−Hasta lo hace hasta que la condición se cumple y . no mientras, como en el Hacer−Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos . una vez, ya que la condición se evalúa al final del proceso, Acción N mientras que en el Hacer−Mientras puede ser que nunca Hasta <condición> NO llegue a entrar si la condición no se cumple desde un principio. La forma de esta estructura es la siguiente:
  • 28.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0.5. Estructuras Algorítmicas Cíclicas. Hacer mientras <condición> Hacer−Mientras: Esta es una estructura que Acción 1 NO repetirá un proceso durante N veces, donde N Acción2 puede ser fijo o variable. Para esto, la . instrucción se vale de una condición que es la . SI que debe cumplirse para que se siga Acción N ejecutando. Cuando la condición ya no se Fin−mientras cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente:
  • 29.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0.6. Estructuras Algorítmicas Cíclicas. Repetir−Hasta: Esta es una estructura similar en algunas Repetir características, a la anterior. Repite un proceso una cantidad de Acción 1 veces, pero a diferencia del Hacer−Mientras, el Repetir−Hasta Acción 2 lo hace hasta que la condición se cumple y no mientras, como . en el Hacer−Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condición . se evalúa al final del proceso, mientras que en el Acción N Hacer−Mientras puede ser que nunca llegue a entrar si la Hasta <condición> NO condición no se cumple desde un principio. La forma de esta estructura es la siguiente:
  • 30.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.1. Lenguaje de Pseudocódigo  Sintaxis de un Algoritmo en pseudocódigo.  Sintaxis de un Algoritmo en pseudocódigo. inicio algoritmo <nombre_del_algoritmo> acumulador ← 0 contador ← 0 [ constantes hacer mientras <declaraciones_de_constantes> ] escribir( "Introduzca un número entero: " ) [ tipos_de_datos leer( numero ) <declaraciones_de_tipos_de_datos> ] acumulador ← acumulador + numero [ variables contador ← contador + 1 <declaraciones_de_variables> ] escribir( "Ha introducido ", contador, " número(s)" ) escribir( "La suma es ", acumulador ) inicio escribir( "¿Desea introducir otro número (s/n)?: " ) <bloque_de_instrucciones> leer( seguir ) fin fin_mientras ( seguir <> 'n' ) escribir( "La media aritmética es ", acumulador / contador ) fin
  • 31.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.1. Lenguaje de Pseudocódigo Este algoritmo es caracterizado porque sigue un proceso de ejecución común y lógico, describiendo textualmente paso a paso cada una de las actividades a realizar dentro de una actividad determinada. 1. Levantarse. 2. Bañarse. 3. Vestirse. 4. Desayunar. 5. Cepillarse los dientes. 6. Salir de casa. 7. Tomar el autobús. 8. Llegar la Universidad. 9. Buscar el aula. 10. Ubicarse en un asiento.
  • 32.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Diagramas de Acción.  Estructura Condicional de un Diagrama de Acción.  Estructuras de Repetición de un Diagrama de Acción.
  • 33.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Diagramas de Flujo. Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.
  • 34.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Diagramas de Flujo. 1. Se escribe de arriba hacia abajo y de izquierda a derecha . 2. Se deben usar solamente líneas de flujo horizontales y/o verticales. 3. Siempre se usan flechas verticales u horizontales, jamás curvas. 4. Evitar cruce de flujos. 5. En cada paso expresar una acción concreta . 6. Se deben usar conectores sólo cuando sea necesario. 7. Se debe evitar el cruce de líneas utilizando los conectores. 8. No deben quedar líneas de flujo sin conectar. 9. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. 10. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabra 11. La secuencia de flujo normal en una solución de problema . a. Tiene un inicio. b. Una lectura o entrada de datos. c. El proceso de datos. d. Una salida de información. e. Un final. 12. Simbología para diseñar flujogramas.
  • 35.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Simbología.
  • 36.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Simbología.
  • 37.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Diagramas de Flujo.  Ventajas. 1. Rápida comprensión de las relaciones. 2. Análisis efectivo de las diferentes secciones del programa. 3. Pueden usarse como modelos de trabajo en el diseño de nuevos programas o sistemas. 4. Comunicación con el usuario. 5. Documentación adecuada de los programas. 6. Codificación eficaz de los programas. 7. Depuración y pruebas ordenadas de programas.  Desventajas. 1. Diagramas complejos y detallados suelen ser laboriosos en su planteamiento y diseño. 2. Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si existen diferentes caminos . 3. No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir todos los detalles que el usuario desee introducir.
  • 38.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.4. Diagramas N-S (Nassi-Schneiderman o de Chapin).  Es una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos.  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.  Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo al igual que los diagramas de flujo poseen estructuras lógicas y simbología.  Es importante mencionar que el diseño de algoritmos no sólo 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.
  • 39.
    INFORMÁTICA II. MÓDULO N1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.4. Diagramas N-S (Nassi-Schneiderman o de Chapin). 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