El algoritmo es un modelo Procesador Entradas Salidas Algoritmo Instrucciones
Algoritmo Definición y Características Algoritmo : es una lista ordenada de instrucciones necesarias  para  llegar a la solución de un problema especifico. En el que se debe especificar: Los datos que se utilizaran. El procedimiento que actuara sobre estos datos. Características de un Algoritmo COMPLETO:  Que entregue todos los resultados en todas las circunstancias. PRECISO : Que no entregue resultados ambiguos. SECUENCIADO : Paso a paso. CORRECTO:  Que entregue todos los resultados correctos en todas las circunstancias. DATOS: Explícitamente indicados. Solución con un numero finito de pasos. Solución en tiempo finito Simple y claro.
Solución de problemas por computador La solución de un problema mediante el uso de un computador, tiene las siguientes etapas: Análisis del problema Desarrollo de un   algoritmo : Diseño del algoritmo Verificación del algoritmo Desarrollo de un programa: Codificación del algoritmo (programación) Pruebas Utilización del programa
Algoritmo Definición y Características Algoritmo : es una lista ordenada de instrucciones necesarias  para  llegar a la solución de un problema especifico. En el que se debe especificar: Los datos que se utilizaran. El procedimiento que actuara sobre estos datos. Características de un Algoritmo COMPLETO:  Que entregue todos los resultados en todas las circunstancias. PRECISO : Que no entregue resultados ambiguos. SECUENCIADO : Paso a paso. CORRECTO:  Que entregue todos los resultados correctos en todas las circunstancias. DATOS: Explícitamente indicados. Solución con un numero finito de pasos. Solución en tiempo finito Simple y claro.
Objetivos Conocer algunas de las herramientas para desarrollar algoritmos. Desarrollar algoritmos usando lenguaje común y diagramas de flujo. Elaborar diagramas de flujo normalizados. Conocer y comprender el concepto de programación estructurada. Conocer las tres estructuras en la que se fundamenta la Programación estructurada.
Herramientas Para Elaborar Algoritmos Para el diseño de la solución a un problema planteado en forma de algoritmo se pueden utilizar diversas herramientas (notaciones), como por ejemplo: Diagramas Diagramas de Flujo (flowchart). Diagramas de Chapin. Otros … Árboles de decisión (Bertini). Pseudocódigo estructurado.
Diagramas De Flujo Es la representación grafica del flujo que van a seguir los datos, así como la secuencia lógica de las operaciones para la resolución del problema. Esta representación gráfica debe tener las siguientes cualidades: Sencillez en su construcción Claridad en su comprensión Normalización en su diseño Flexibilidad en sus modificaciones
Diagrama De Flujo Estructurado Teorema de la estructura. Todo diagrama estructurado, cualquiera que sea el trabajo que tenga que realizar, se puede hacer utilizando tres únicas estructuras de control que son la secuencia, alternativa y repetición.
Pseudocódigo Estructurado El Pseudocódigo consiste en una representación más formal, ordenada y específica de los pasos que están en un algoritmo. El concepto formal involucra elementos propios de “pseudo” programación, definiendo así un patrón mucho más cercano al producto final que será el código en algún lenguaje de programación. Es ordenada porque muestra una secuencia clara y precisa de instrucciones que siguen un orden. Este orden se asemejará mucho al que se usa en un programa.
Pseudocódigo Estructurado Por último, se puede afirmar que es específica porque el pseudo código esta representada a través de una simbología que se pueda traducir en un programa de computador.  Aunque es muy detallado en su implementación el Pseudocódigo no llega a tener el desglose de mas bajo nivel. En definitiva, una forma con la que se puede referenciar al pseudo código sería: “programa en bruto”. Esto es así porque si bien un algoritmo en pseudo código representa fielmente al algoritmo original, no es posible ingresarlo al computador tal cual para que sea un programa.
Estructura Secuencial La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.  Inicio   Acción 1   Acción 2   .   .   Acción N Fin
Variables Es una posición temporal de almacenamiento de datos. Nombre Tipo Contenido
Asignación La asignación consiste, en el paso de valores o resultados a una zona de la memoria.  Dicha zona será reconocida con el nombre de la variable que recibe el valor.
Clasificación de Asignación Simples:  Consiste en pasar un valor constate a una variable (a=15) Contador:  Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a=a+1) Acumulador:  Consiste en usarla como un sumador en un proceso (a=a+b) Expresión:  Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4).
Entrada (Lectura) La lectura consiste en recibir desde un dispositivo de entrada (por ejemplo el teclado) un valor.  Esta operación se representa en un pseudo código como sigue:  Leer( a) Leer (a, b) Donde “a” y “b” son las variables que recibirán los valores
Salida (Escritura) Consiste en enviar información por un dispositivo de salida (por ejemplo monitor o impresora).  Este proceso se representa en un Pseudocódigo como sigue: Escribir (“El resultado es:” , R)  Donde “El resultado es: “” es un mensaje que se desea aparezca de igual forma que como lo escribimos y R es una variable que contiene un valor.
Tipos De Datos Byte: entero positivo entre 0 y 255 Integer:  entero  Long: entero largo Single: real Double: real largo String: cadena Boolean: lógico, verdadero o falso Array: arreglo
Operadores Aritméticos. + : suma. -  : resta. * : multiplicación. /  : división. ^: exponencial. mod : módulo de la división  Lógicos. And: Y Or: O Not: Negación
Operadores Relacionales <  ...menor que >  ...mayor que <=  ...menor o igual que >=  ...mayor o igual que =  ...igual que <>  ...distinto a
Estructura Selección La estructura de selección, se ejecuta condicionalmente, es decir, si una cierta condición es verdadera se ejecuta un bloque de instrucciones, si es falsa se ejecuta un bloque diferente de instrucciones.
Selección Simple El formato de la estructura de selección Simple es: si  <condición>  entonces instrucción 1 instrucción 2 ................. instrucción n fin-si.
Selección Doble El formato de la estructura de selección doble es:  si  <condición>  entonces instrucción 1 instrucción 2   ................... instrucción n si-no instrucción a instrucción b ................... instrucción z fin-si
Selección Múltiple Según sea <variable> Caso = <condición> instrucción o Instrucciones … .. Caso = <condición> instrucción o instrucciones …… .. Otro caso instrucción o instrucciones …… . fin-según.
Estructuras Cíclicas Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).
Clasificación Los ciclos se clasifican en: Numero de Iteraciones Fija Desde-hasta Numero de Iteraciones Variables Mientras Hacer-Mientras
Desde-Hasta Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: Desde  V = Vi  hasta Vf, inc hace Acción 1 Acción 2 Acción N Fin desde Donde  V. Variable de control del ciclo. Vi. Valor inicial. Vf. Valor final. Inc. Incremento del ciclo, si no se indica se asume 1.
Mientras La forma de esta estructura es la siguiente: Mientras <condición> hacer Acción 1 Acción 2 … Acción N Fin mientras
Hacer-Mientras La forma de esta estructura es la siguiente: Hacer Acción 1 Acción 2 . . Acción n Mientras  <condición>

Algoritmo

  • 1.
    El algoritmo esun modelo Procesador Entradas Salidas Algoritmo Instrucciones
  • 2.
    Algoritmo Definición yCaracterísticas Algoritmo : es una lista ordenada de instrucciones necesarias para llegar a la solución de un problema especifico. En el que se debe especificar: Los datos que se utilizaran. El procedimiento que actuara sobre estos datos. Características de un Algoritmo COMPLETO: Que entregue todos los resultados en todas las circunstancias. PRECISO : Que no entregue resultados ambiguos. SECUENCIADO : Paso a paso. CORRECTO: Que entregue todos los resultados correctos en todas las circunstancias. DATOS: Explícitamente indicados. Solución con un numero finito de pasos. Solución en tiempo finito Simple y claro.
  • 3.
    Solución de problemaspor computador La solución de un problema mediante el uso de un computador, tiene las siguientes etapas: Análisis del problema Desarrollo de un algoritmo : Diseño del algoritmo Verificación del algoritmo Desarrollo de un programa: Codificación del algoritmo (programación) Pruebas Utilización del programa
  • 4.
    Algoritmo Definición yCaracterísticas Algoritmo : es una lista ordenada de instrucciones necesarias para llegar a la solución de un problema especifico. En el que se debe especificar: Los datos que se utilizaran. El procedimiento que actuara sobre estos datos. Características de un Algoritmo COMPLETO: Que entregue todos los resultados en todas las circunstancias. PRECISO : Que no entregue resultados ambiguos. SECUENCIADO : Paso a paso. CORRECTO: Que entregue todos los resultados correctos en todas las circunstancias. DATOS: Explícitamente indicados. Solución con un numero finito de pasos. Solución en tiempo finito Simple y claro.
  • 5.
    Objetivos Conocer algunasde las herramientas para desarrollar algoritmos. Desarrollar algoritmos usando lenguaje común y diagramas de flujo. Elaborar diagramas de flujo normalizados. Conocer y comprender el concepto de programación estructurada. Conocer las tres estructuras en la que se fundamenta la Programación estructurada.
  • 6.
    Herramientas Para ElaborarAlgoritmos Para el diseño de la solución a un problema planteado en forma de algoritmo se pueden utilizar diversas herramientas (notaciones), como por ejemplo: Diagramas Diagramas de Flujo (flowchart). Diagramas de Chapin. Otros … Árboles de decisión (Bertini). Pseudocódigo estructurado.
  • 7.
    Diagramas De FlujoEs la representación grafica del flujo que van a seguir los datos, así como la secuencia lógica de las operaciones para la resolución del problema. Esta representación gráfica debe tener las siguientes cualidades: Sencillez en su construcción Claridad en su comprensión Normalización en su diseño Flexibilidad en sus modificaciones
  • 8.
    Diagrama De FlujoEstructurado Teorema de la estructura. Todo diagrama estructurado, cualquiera que sea el trabajo que tenga que realizar, se puede hacer utilizando tres únicas estructuras de control que son la secuencia, alternativa y repetición.
  • 9.
    Pseudocódigo Estructurado ElPseudocódigo consiste en una representación más formal, ordenada y específica de los pasos que están en un algoritmo. El concepto formal involucra elementos propios de “pseudo” programación, definiendo así un patrón mucho más cercano al producto final que será el código en algún lenguaje de programación. Es ordenada porque muestra una secuencia clara y precisa de instrucciones que siguen un orden. Este orden se asemejará mucho al que se usa en un programa.
  • 10.
    Pseudocódigo Estructurado Porúltimo, se puede afirmar que es específica porque el pseudo código esta representada a través de una simbología que se pueda traducir en un programa de computador. Aunque es muy detallado en su implementación el Pseudocódigo no llega a tener el desglose de mas bajo nivel. En definitiva, una forma con la que se puede referenciar al pseudo código sería: “programa en bruto”. Esto es así porque si bien un algoritmo en pseudo código representa fielmente al algoritmo original, no es posible ingresarlo al computador tal cual para que sea un programa.
  • 11.
    Estructura Secuencial Laestructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Inicio Acción 1 Acción 2 . . Acción N Fin
  • 12.
    Variables Es unaposición temporal de almacenamiento de datos. Nombre Tipo Contenido
  • 13.
    Asignación La asignaciónconsiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor.
  • 14.
    Clasificación de AsignaciónSimples: Consiste en pasar un valor constate a una variable (a=15) Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a=a+1) Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b) Expresión: Donde puede recibir el resultado de una operación matemática que involucre muchas variables (a=c+b*2/4).
  • 15.
    Entrada (Lectura) Lalectura consiste en recibir desde un dispositivo de entrada (por ejemplo el teclado) un valor. Esta operación se representa en un pseudo código como sigue: Leer( a) Leer (a, b) Donde “a” y “b” son las variables que recibirán los valores
  • 16.
    Salida (Escritura) Consisteen enviar información por un dispositivo de salida (por ejemplo monitor o impresora). Este proceso se representa en un Pseudocódigo como sigue: Escribir (“El resultado es:” , R)  Donde “El resultado es: “” es un mensaje que se desea aparezca de igual forma que como lo escribimos y R es una variable que contiene un valor.
  • 17.
    Tipos De DatosByte: entero positivo entre 0 y 255 Integer: entero Long: entero largo Single: real Double: real largo String: cadena Boolean: lógico, verdadero o falso Array: arreglo
  • 18.
    Operadores Aritméticos. +: suma. - : resta. * : multiplicación. / : división. ^: exponencial. mod : módulo de la división Lógicos. And: Y Or: O Not: Negación
  • 19.
    Operadores Relacionales < ...menor que > ...mayor que <= ...menor o igual que >= ...mayor o igual que = ...igual que <> ...distinto a
  • 20.
    Estructura Selección Laestructura de selección, se ejecuta condicionalmente, es decir, si una cierta condición es verdadera se ejecuta un bloque de instrucciones, si es falsa se ejecuta un bloque diferente de instrucciones.
  • 21.
    Selección Simple Elformato de la estructura de selección Simple es: si <condición> entonces instrucción 1 instrucción 2 ................. instrucción n fin-si.
  • 22.
    Selección Doble Elformato de la estructura de selección doble es: si <condición> entonces instrucción 1 instrucción 2 ................... instrucción n si-no instrucción a instrucción b ................... instrucción z fin-si
  • 23.
    Selección Múltiple Segúnsea <variable> Caso = <condición> instrucción o Instrucciones … .. Caso = <condición> instrucción o instrucciones …… .. Otro caso instrucción o instrucciones …… . fin-según.
  • 24.
    Estructuras Cíclicas Sellaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en función de algún dato dentro del programa).
  • 25.
    Clasificación Los ciclosse clasifican en: Numero de Iteraciones Fija Desde-hasta Numero de Iteraciones Variables Mientras Hacer-Mientras
  • 26.
    Desde-Hasta Son aquellosen que el número de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: Desde V = Vi hasta Vf, inc hace Acción 1 Acción 2 Acción N Fin desde Donde V. Variable de control del ciclo. Vi. Valor inicial. Vf. Valor final. Inc. Incremento del ciclo, si no se indica se asume 1.
  • 27.
    Mientras La formade esta estructura es la siguiente: Mientras <condición> hacer Acción 1 Acción 2 … Acción N Fin mientras
  • 28.
    Hacer-Mientras La formade esta estructura es la siguiente: Hacer Acción 1 Acción 2 . . Acción n Mientras <condición>