SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujocarlospaul
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosGrisell d?z
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmosaralylopez88
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programaciónDesarrolloWeb.com
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoClariza
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramasfrancisco3011
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionMIKE_INK_RM
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujoastaroth97
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clasedaosma
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacionMichele André
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionalesfaisury21
 
[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion[ADD] Algoritmos Definicion
[ADD] Algoritmos DefinicionMonjeOneble
 
Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Michele André
 

La actualidad más candente (20)

Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Presentacion algoritmos
Presentacion algoritmosPresentacion algoritmos
Presentacion algoritmos
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programación
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
Reglas Para Diagramas
Reglas Para DiagramasReglas Para Diagramas
Reglas Para Diagramas
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Algoritmos y clase
Algoritmos y claseAlgoritmos y clase
Algoritmos y clase
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
 
Conceptos bàsicos algoritmos
Conceptos bàsicos algoritmosConceptos bàsicos algoritmos
Conceptos bàsicos algoritmos
 
Fundamentos de Algoritmia
Fundamentos de AlgoritmiaFundamentos de Algoritmia
Fundamentos de Algoritmia
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion
 
Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Tutorial Definición de algoritmo
Tutorial Definición de algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Destacado (20)

algorimos claves publicas y privadas
algorimos claves publicas y privadasalgorimos claves publicas y privadas
algorimos claves publicas y privadas
 
Office
OfficeOffice
Office
 
Iñikuk muchik octavina 2013
Iñikuk muchik octavina 2013Iñikuk muchik octavina 2013
Iñikuk muchik octavina 2013
 
Presentación Del Curso Programacion Avanzada
Presentación Del Curso  Programacion  AvanzadaPresentación Del Curso  Programacion  Avanzada
Presentación Del Curso Programacion Avanzada
 
As3 unidad 3 animación de flash
As3 unidad 3 animación de flashAs3 unidad 3 animación de flash
As3 unidad 3 animación de flash
 
Curso basico videojuegos nive..
Curso basico videojuegos nive..Curso basico videojuegos nive..
Curso basico videojuegos nive..
 
Flash as3 components_help
Flash as3 components_helpFlash as3 components_help
Flash as3 components_help
 
Clase Introducción a AS3
Clase Introducción a AS3Clase Introducción a AS3
Clase Introducción a AS3
 
Programacion en actionscript
Programacion en actionscriptProgramacion en actionscript
Programacion en actionscript
 
Catalogo de recursos
Catalogo de recursosCatalogo de recursos
Catalogo de recursos
 
Tiristores Clase 2
Tiristores Clase 2Tiristores Clase 2
Tiristores Clase 2
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Transmision am fm introduccion
Transmision am fm introduccionTransmision am fm introduccion
Transmision am fm introduccion
 
Oieg 2007
Oieg 2007Oieg 2007
Oieg 2007
 
PrettyPics. Restauración de Imágenes
PrettyPics. Restauración de ImágenesPrettyPics. Restauración de Imágenes
PrettyPics. Restauración de Imágenes
 
OIEG 2009
OIEG 2009OIEG 2009
OIEG 2009
 
Algoritmos con ciclos repetitivos
Algoritmos con ciclos repetitivosAlgoritmos con ciclos repetitivos
Algoritmos con ciclos repetitivos
 
Johana cuenca
Johana cuencaJohana cuenca
Johana cuenca
 
Formatos para animación en multimedia
Formatos para animación en multimediaFormatos para animación en multimedia
Formatos para animación en multimedia
 
Algoritmo para lavarse las manos
Algoritmo para lavarse las manosAlgoritmo para lavarse las manos
Algoritmo para lavarse las manos
 

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

Similar a 01 presentación - módulo n°1 • algoritmos (20)

01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos01 texto - módulo n° 1 • algoritmos
01 texto - módulo n° 1 • algoritmos
 
Semana 1
Semana 1Semana 1
Semana 1
 
Los algoritmos
Los algoritmosLos algoritmos
Los algoritmos
 
Programación
ProgramaciónProgramación
Programación
 
Tecnología período 3
Tecnología período 3Tecnología período 3
Tecnología período 3
 
Tecnología período 3
Tecnología período 3Tecnología período 3
Tecnología período 3
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
Taller steisy
Taller steisyTaller steisy
Taller steisy
 
Algoritmo
Algoritmo Algoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Notas analisis algoritmos_vf
Notas analisis algoritmos_vfNotas analisis algoritmos_vf
Notas analisis algoritmos_vf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01
 
Presentación1
Presentación1Presentación1
Presentación1
 
Manual de programacion #1
Manual de programacion #1Manual de programacion #1
Manual de programacion #1
 
UNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdfUNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdf
 

Más de Asociación de Ingenieros y Arquitectos de Panamá

Más de Asociación de Ingenieros y Arquitectos de Panamá (16)

Ambiente windows manuales
Ambiente windows manualesAmbiente windows manuales
Ambiente windows manuales
 
Universidad de panama
Universidad de panamaUniversidad de panama
Universidad de panama
 
Libro1
Libro1Libro1
Libro1
 
14 examen parcial n°2 - informática ii -jueves 14 de oct 2010
14 examen parcial n°2 - informática ii -jueves 14 de oct 201014 examen parcial n°2 - informática ii -jueves 14 de oct 2010
14 examen parcial n°2 - informática ii -jueves 14 de oct 2010
 
04 estracto del estatuto
04 estracto del estatuto04 estracto del estatuto
04 estracto del estatuto
 
02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel
02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel
02 laboratorio n°4 • guía de ejercicios de operación avanzada en excel
 
02 examen parcial n°1-informática ii-vacio
02 examen parcial n°1-informática ii-vacio02 examen parcial n°1-informática ii-vacio
02 examen parcial n°1-informática ii-vacio
 
02 quiz n°1-estados financieros
02 quiz n°1-estados financieros02 quiz n°1-estados financieros
02 quiz n°1-estados financieros
 
02 laboratorio n°1 • estados financieros
02 laboratorio n°1 • estados financieros02 laboratorio n°1 • estados financieros
02 laboratorio n°1 • estados financieros
 
02 estados financieros
02  estados financieros02  estados financieros
02 estados financieros
 
02 hoja electrónica de cálculo-ms-excel
02 hoja electrónica de cálculo-ms-excel02 hoja electrónica de cálculo-ms-excel
02 hoja electrónica de cálculo-ms-excel
 
01 diagramas nassi-schneiderman
01 diagramas nassi-schneiderman01 diagramas nassi-schneiderman
01 diagramas nassi-schneiderman
 
01 laboratorio n°2 • algoritmos - soluciones
01 laboratorio n°2 • algoritmos - soluciones01 laboratorio n°2 • algoritmos - soluciones
01 laboratorio n°2 • algoritmos - soluciones
 
01 laboratorio n°1 • algoritmos
01 laboratorio n°1 • algoritmos01 laboratorio n°1 • algoritmos
01 laboratorio n°1 • algoritmos
 
01 creación de wikis en wikispaces
01 creación de wikis en wikispaces01 creación de wikis en wikispaces
01 creación de wikis en wikispaces
 
01 cómo crear juntos una wiki
01 cómo crear juntos una wiki01 cómo crear juntos una wiki
01 cómo crear juntos una wiki
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilJuanGallardo438714
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxlosdiosesmanzaneros
 

Último (15)

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 

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

  • 1. 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.
  • 2. 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.
  • 3. 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.
  • 4. 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. “
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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ó.
  • 11. 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.
  • 12. 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:
  • 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. 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.
  • 15. 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).
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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.
  • 22. 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.
  • 23. INFORMÁTICA II. MÓDULO N 1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.0. Estructuras Algorítmicas.
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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:
  • 28. 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:
  • 29. 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:
  • 30. 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
  • 31. 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.
  • 32. 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.
  • 33. 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.
  • 34. 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.
  • 35. INFORMÁTICA II. MÓDULO N 1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Simbología.
  • 36. INFORMÁTICA II. MÓDULO N 1: ALGORITMOS. 1.3 Técnicas de Diagramación de Algoritmos. 1.3.2. Simbología.
  • 37. 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.
  • 38. 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.
  • 39. 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