Algoritmos y Diagramas de Flujo Problemas Preocupación Análisis Buscar la manera de solucionarlo Verificar si la solución encontrada es la correcta Aplicar la solución  Satisfacción y tranquilidad Algoritmo
Algoritmos y Diagramas de Flujo Algoritmo: Conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema Ejemplo: Aplicación que dados la altura y la base de un triangulo muestre su área. 1.-Pedir la altura del triangulo  2.-Pedir la base del triangulo  4.-Realizar la operación multiplicando la base por  la altura y después dividir el resultado de la  multiplicación entre dos  5.- Mostrar el resultado.
Algoritmos y Diagramas de Flujo Algoritmo Procesamiento  de  datos Datos  de  entrada Impresión  de resultados
Algoritmos y Diagramas de Flujo Diagrama de flujo: Representación Gráfica del algoritmo Inicio y Fin. Entrada de datos Proceso u Operación Decisión Decisión Múltiple Impresión  Conector  Dirección de flujo
Algoritmos y Diagramas de Flujo Etapas Básicas del Diagrama de flujo Aplicación que dados la altura y la base de un triangulo muestre su área. 1.- Pedir la altura del triangulo  2.- Pedir la base del triangulo   4.- Realizar la operación multiplicando la  base por la altura y después dividir el  resultado de la multiplicación entre  dos  5.-  Mostrar el resultado.  Inicio Lectura  de datos Procesamiento de datos Impresión De resultado Fin Inicio Altura Base Área =  (Base*altura)/2 Área Fin
Algoritmos y Diagramas de Flujo Reglas para diseñar un diagrama de flujo 1,-Debe tener principio y fin 2,-Las flechas de dirección deben ser  horizontales y verticales, no deben  ser inclinadas ni debemos cruzarles  3,-Las flechas de dirección deben  estar conectadas y solo una debe  llegar al símbolo conector  4,-Debe ser construido de arriba  hacia abajo y de izquierda a  derecha 5,-La notación utilizada debe ser  independiente de cualquier  lenguaje de programación Inicio Altura Base Área =  (Base*altura)/2 Área Fin
Algoritmos y Diagramas de Flujo Conceptos fundamentales Variable:  Alojamiento en memoria  que puede cambiar su valor durante la ejecucion de un programa. Constante:  Alojamiento en memoria  que no cambia su valor durante la ejecucion de un programa. Identificadores:  Nombres que permiten la identificacion de las variables y constantes. Simple Estructurados
Algoritmos y Diagramas de Flujo Tipos de Datos Numericos:  Enteros:  Numeros que pueden estar precedidos del signo “-” o “+” pero que no tienen parte decimal.  Reales:  Numeros que pueden estar precedidos del signo “-” o “+” pero que  tienen parte decimal.  Alfanumericos:  Caracter:  Tiene un solo carácter y se encuentra entre corchetes ejemplos  'a'  'b'  . Cadena de caracteres:  Conjunto de caracteres en cerada entre comillas y generalmente con un limite de 255 de caracteres ejemplos  “abcd”  “hola” Logicos:  Booleanos:  Datos que solo pueden tomar dos valores verdadero (True) o falso (False).
Algoritmos y Diagramas de Flujo Jerarquia de Operadores Operadores Jerarquia ( ) **  *,/,div,mod +, -  =, <>, <, >, <=, >= NO Y O Mayor Menor Operador asociativo Operadores Aritmeticos Operadores  Logicos Operadores Operadores Relacionales
Algoritmos y Diagaramas de Flujo  Ejemplo de Jerarquia de Operadores Aritmeticos 7 * 5 ** 3 / 4 div 3 1 7 * 125 / 4 div 3 2 875 / 4 div 3 3 218.75 div 3 4 Resultado = 72
Algoritmos y Diagramas de Flujo Ejemplo de Jerarquia de Operadores Relacionales (5**2) > (16*2) 1 25 > (16*2) 2 25 > 32 3 Respuesta = Falso
Algoritmos y Diagramas de Flujo Ejercicios Propuestos 1.  7 * 88 ( 160 mod 3 ** 3 ) div 5 * 13 -28 2.  ( ( 1580 mod 6 * 2 ** 7 ) > ( 7 + 8 * 3 ** 4 ) ) > ( ( 15 * 2 ) = ( 60 * 2 / 4 ) ) 3.  NO ( 15 >= 7 ** 2 ) O ( 43 – 8 * 2 div 4 <> 3 * 2 div 2 ) 4.  Realizar el algoritmo y diagrama de flujo que me muestre el area de un cuadrado. 5.  Realizar el algoritmo y diagrama de flujo que me muestre el area de un rectangulo. 6.  Realizar un algoritmo y diagrama de flujo de una aplicación que convierta grados Celsius a grados Fahrenheit
Algoritmos y Diagramas de Flujo 1.- a = 0, b = 0, c = 0 2.-  c = b + 1 3.-  b = c + 2 4.-  c = b + a 5.-  a = b * c  6.-  a = a**2 7.-  b  = a / 9 / 3 * 3**2 Bloque de Asignación 0 0 0 1 3 3 9 81 27 1 2 3 4 5 6 7 a b c No asig
Algoritmos y Diagramas de Flujo Ejercicios Propuestos Realizar el bloque de Asignación para  las siguientes operaciones 1.- r = 0, a = 0, b = 0, L = 0, r1 = 0 2.- b = 10, a = 10 3.- r = b * a / 2 4.- L = 9 5.- r1 = L ** 2 6.- r = r * 2 7.- r1 = r1 + r 8.- r = r * 2 9.- r1 = r1 + r 10.- r1 = r1 + r 11.- r1 = r1 + r
Algoritmos y Diagramas de Flujo Ciclo de desarrollo Análisis Diseño Codificación Pruebas e implementación ¿Qué quiere el cliente? Algoritmos ¿Cómo se desarrollara? Algoritmos Orientados a Datos, mini_especificaciones Diagramas de flujo Pruebas de escritorio ¿Cómo llevar el diseño a programas? Código Fuente ¿Esta el cliente satisfecho? Aceptación del programa
Algoritmos y Diagramas de Flujo Niveles de servicio Se desea saber la disponibilidad del servicio de Internet para una persona, expresado en horas de disponibilidad. El nivel de servicio depende de la disponibilidad de la computadora y del enlace a Internet , el horario de la persona es de 8 horas La disponibilidad de un sistema de dispositivos (dos o mas que trabajan de forma conjunta), se calcula multiplicando los porcentajes de grado de disponibilidad de cada una de ellas y el resultado es siempre menor a la disponibilidad del menor. El tiempo de disponibilidad de calcula multiplicando la disponibilidad del sistema de dispositivos por el tiempo en que es requerido. Ejercicio Propuesto
Algoritmos y Diagramas de Flujo Análisis Área de conocimiento: Calculo de niveles de servicio 1.-Se desea conocer la disponibilidad del servicio de Internet expresado en horas  2.-El grado de disponibilidad de la computadora influye en el grado de disponibilidad del servicio.  3.-El grado de disponibilidad del servicio de enlace a Internet  influye en el grado de disponibilidad del servicio.  4.-El tiempo total en el que se requiere el servicio es de 8 horas  5.-La disponibilidad de un sistema de dispositivos se calcula multiplicando los porcentajes del grado de disponibilidad de los mismos.  6.-La computadora y el servicio de enlace a Internet trabajan como un Sistema de Dispositivos.
Algoritmos y Diagramas de Flujo Grado de disponibilidad de la computadora Grado de disponibilidad del enlace Tiempo laborable en horas La disponibilidad del servicio es de  horas  Interfaz Algoritmo 1.-Inicio 2.-Se pregunta la disponibilidad de la computadora . 3.-Se pregunta la disponibilidad del enlace. 4.-Se pregunta el tiempo laborable en horas 5.-Se calcula la disponibilidad del sistema de dispositivos 6.-Se calcula el tiempo de disponibilidad del servicio. 7.-Se muestra el tiempo de disponibilidad del servicio. 8.-Fin
Algoritmos y Diagramas de Flujo Simulación Disponibilidad  del sistema (DS)  =  Disponibilidad de la computadora(DC) * disponibilidad del enlace(DE) DC = 98 %  = 0,98 DE = 87 %  = 0,87 DS = DC * DE DS = 0,98 * 0,87  DS = 0,8526  La disponibilidad del sistema seria de 85,26% Disponibilidad en horas (DH)  = Disponibilidad del sistema(DS) * tiempo laborable(TL) DH = DS * TL DH = 0,8526 * 8 hrs. DH = 6,82
Algoritmos y Diagramas de Flujo Grado de disponibilidad de la computadora  0,98 Grado de disponibilidad del enlace  0,87 Tiempo laborable en horas  8 La disponibilidad del servicio es de  6,82   horas  La respuesta del programa seria la siguiente
Algoritmos y Diagramas de Flujo 1.-Inicio 2.-Se pregunta la disponibilidad de la computadora .  (DC,r [0-1]) 3.-Se pregunta la disponibilidad del enlace.  (DE,r[0-1]) 4.-Se pregunta el tiempo laborable en horas.  (TL,r[0-1]) 5.-Se calcula la disponibilidad del sistema de dispositivos  (DS,r[0-1]) 6.-Se calcula el tiempo de disponibilidad del servicio.  (DH,r[0-1]) 7.-Se muestra el tiempo de disponibilidad del servicio.  (DH) 8.-Fin Algoritmo orientado a Datos
Algoritmos y Diagramas de Flujo Mini_especificación :  Representación abstracta y simbólica entendible por el ser humano, que muestra al máximo detalle las operaciones que un programa debe hacer con los datos. Por regla general se declaran todas las variables. 1.-INICIO: 2.-  (DC,r[0-1]) 3.-  (DE.r[0-1]) 4.-  (TL, r[0-1]) 5.-  (DS,r[0-1]) 6.-  (DH,d[0-1]) 7.-  <<  “Grado disponibilidad de la computadora:” 8.-  >> DC 9.-  << ”Grado de disponibilidad del enlace:” 10.-  >> DE 11.-  << “Tiempo laborable en horas:” 12.-  >> TL 13.-  DS = DC * DE 14.-  DH = DS * TL 15.-  << “ La disponibilidad del servicio de Internet es de “ + DH + “horas” 16.-FIN
Algoritmos y Diagramas de Flujo Ejercicio Propuesto Realizar el diagrama de flujo el ejercicio en el cual se esta practicando. La computadora, como todas las herramientas, no piensa
Si crees que puedes, o no puedes, igual tienes razón. Henry Ford Bibliografia: Introducción a la programación – Felipe Ramirez 2a edición Editorial Alfa-Omega  Metodología de la Programación – Osvaldo Cairo 3a edición Editorial Alfa-Omega

Algoritmos

  • 1.
    Algoritmos y Diagramasde Flujo Problemas Preocupación Análisis Buscar la manera de solucionarlo Verificar si la solución encontrada es la correcta Aplicar la solución Satisfacción y tranquilidad Algoritmo
  • 2.
    Algoritmos y Diagramasde Flujo Algoritmo: Conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema Ejemplo: Aplicación que dados la altura y la base de un triangulo muestre su área. 1.-Pedir la altura del triangulo 2.-Pedir la base del triangulo 4.-Realizar la operación multiplicando la base por la altura y después dividir el resultado de la multiplicación entre dos 5.- Mostrar el resultado.
  • 3.
    Algoritmos y Diagramasde Flujo Algoritmo Procesamiento de datos Datos de entrada Impresión de resultados
  • 4.
    Algoritmos y Diagramasde Flujo Diagrama de flujo: Representación Gráfica del algoritmo Inicio y Fin. Entrada de datos Proceso u Operación Decisión Decisión Múltiple Impresión Conector Dirección de flujo
  • 5.
    Algoritmos y Diagramasde Flujo Etapas Básicas del Diagrama de flujo Aplicación que dados la altura y la base de un triangulo muestre su área. 1.- Pedir la altura del triangulo 2.- Pedir la base del triangulo 4.- Realizar la operación multiplicando la base por la altura y después dividir el resultado de la multiplicación entre dos 5.- Mostrar el resultado. Inicio Lectura de datos Procesamiento de datos Impresión De resultado Fin Inicio Altura Base Área = (Base*altura)/2 Área Fin
  • 6.
    Algoritmos y Diagramasde Flujo Reglas para diseñar un diagrama de flujo 1,-Debe tener principio y fin 2,-Las flechas de dirección deben ser horizontales y verticales, no deben ser inclinadas ni debemos cruzarles 3,-Las flechas de dirección deben estar conectadas y solo una debe llegar al símbolo conector 4,-Debe ser construido de arriba hacia abajo y de izquierda a derecha 5,-La notación utilizada debe ser independiente de cualquier lenguaje de programación Inicio Altura Base Área = (Base*altura)/2 Área Fin
  • 7.
    Algoritmos y Diagramasde Flujo Conceptos fundamentales Variable: Alojamiento en memoria que puede cambiar su valor durante la ejecucion de un programa. Constante: Alojamiento en memoria que no cambia su valor durante la ejecucion de un programa. Identificadores: Nombres que permiten la identificacion de las variables y constantes. Simple Estructurados
  • 8.
    Algoritmos y Diagramasde Flujo Tipos de Datos Numericos: Enteros: Numeros que pueden estar precedidos del signo “-” o “+” pero que no tienen parte decimal. Reales: Numeros que pueden estar precedidos del signo “-” o “+” pero que tienen parte decimal. Alfanumericos: Caracter: Tiene un solo carácter y se encuentra entre corchetes ejemplos 'a' 'b' . Cadena de caracteres: Conjunto de caracteres en cerada entre comillas y generalmente con un limite de 255 de caracteres ejemplos “abcd” “hola” Logicos: Booleanos: Datos que solo pueden tomar dos valores verdadero (True) o falso (False).
  • 9.
    Algoritmos y Diagramasde Flujo Jerarquia de Operadores Operadores Jerarquia ( ) ** *,/,div,mod +, - =, <>, <, >, <=, >= NO Y O Mayor Menor Operador asociativo Operadores Aritmeticos Operadores Logicos Operadores Operadores Relacionales
  • 10.
    Algoritmos y Diagaramasde Flujo Ejemplo de Jerarquia de Operadores Aritmeticos 7 * 5 ** 3 / 4 div 3 1 7 * 125 / 4 div 3 2 875 / 4 div 3 3 218.75 div 3 4 Resultado = 72
  • 11.
    Algoritmos y Diagramasde Flujo Ejemplo de Jerarquia de Operadores Relacionales (5**2) > (16*2) 1 25 > (16*2) 2 25 > 32 3 Respuesta = Falso
  • 12.
    Algoritmos y Diagramasde Flujo Ejercicios Propuestos 1. 7 * 88 ( 160 mod 3 ** 3 ) div 5 * 13 -28 2. ( ( 1580 mod 6 * 2 ** 7 ) > ( 7 + 8 * 3 ** 4 ) ) > ( ( 15 * 2 ) = ( 60 * 2 / 4 ) ) 3. NO ( 15 >= 7 ** 2 ) O ( 43 – 8 * 2 div 4 <> 3 * 2 div 2 ) 4. Realizar el algoritmo y diagrama de flujo que me muestre el area de un cuadrado. 5. Realizar el algoritmo y diagrama de flujo que me muestre el area de un rectangulo. 6. Realizar un algoritmo y diagrama de flujo de una aplicación que convierta grados Celsius a grados Fahrenheit
  • 13.
    Algoritmos y Diagramasde Flujo 1.- a = 0, b = 0, c = 0 2.- c = b + 1 3.- b = c + 2 4.- c = b + a 5.- a = b * c 6.- a = a**2 7.- b = a / 9 / 3 * 3**2 Bloque de Asignación 0 0 0 1 3 3 9 81 27 1 2 3 4 5 6 7 a b c No asig
  • 14.
    Algoritmos y Diagramasde Flujo Ejercicios Propuestos Realizar el bloque de Asignación para las siguientes operaciones 1.- r = 0, a = 0, b = 0, L = 0, r1 = 0 2.- b = 10, a = 10 3.- r = b * a / 2 4.- L = 9 5.- r1 = L ** 2 6.- r = r * 2 7.- r1 = r1 + r 8.- r = r * 2 9.- r1 = r1 + r 10.- r1 = r1 + r 11.- r1 = r1 + r
  • 15.
    Algoritmos y Diagramasde Flujo Ciclo de desarrollo Análisis Diseño Codificación Pruebas e implementación ¿Qué quiere el cliente? Algoritmos ¿Cómo se desarrollara? Algoritmos Orientados a Datos, mini_especificaciones Diagramas de flujo Pruebas de escritorio ¿Cómo llevar el diseño a programas? Código Fuente ¿Esta el cliente satisfecho? Aceptación del programa
  • 16.
    Algoritmos y Diagramasde Flujo Niveles de servicio Se desea saber la disponibilidad del servicio de Internet para una persona, expresado en horas de disponibilidad. El nivel de servicio depende de la disponibilidad de la computadora y del enlace a Internet , el horario de la persona es de 8 horas La disponibilidad de un sistema de dispositivos (dos o mas que trabajan de forma conjunta), se calcula multiplicando los porcentajes de grado de disponibilidad de cada una de ellas y el resultado es siempre menor a la disponibilidad del menor. El tiempo de disponibilidad de calcula multiplicando la disponibilidad del sistema de dispositivos por el tiempo en que es requerido. Ejercicio Propuesto
  • 17.
    Algoritmos y Diagramasde Flujo Análisis Área de conocimiento: Calculo de niveles de servicio 1.-Se desea conocer la disponibilidad del servicio de Internet expresado en horas 2.-El grado de disponibilidad de la computadora influye en el grado de disponibilidad del servicio. 3.-El grado de disponibilidad del servicio de enlace a Internet influye en el grado de disponibilidad del servicio. 4.-El tiempo total en el que se requiere el servicio es de 8 horas 5.-La disponibilidad de un sistema de dispositivos se calcula multiplicando los porcentajes del grado de disponibilidad de los mismos. 6.-La computadora y el servicio de enlace a Internet trabajan como un Sistema de Dispositivos.
  • 18.
    Algoritmos y Diagramasde Flujo Grado de disponibilidad de la computadora Grado de disponibilidad del enlace Tiempo laborable en horas La disponibilidad del servicio es de horas Interfaz Algoritmo 1.-Inicio 2.-Se pregunta la disponibilidad de la computadora . 3.-Se pregunta la disponibilidad del enlace. 4.-Se pregunta el tiempo laborable en horas 5.-Se calcula la disponibilidad del sistema de dispositivos 6.-Se calcula el tiempo de disponibilidad del servicio. 7.-Se muestra el tiempo de disponibilidad del servicio. 8.-Fin
  • 19.
    Algoritmos y Diagramasde Flujo Simulación Disponibilidad del sistema (DS) = Disponibilidad de la computadora(DC) * disponibilidad del enlace(DE) DC = 98 % = 0,98 DE = 87 % = 0,87 DS = DC * DE DS = 0,98 * 0,87 DS = 0,8526 La disponibilidad del sistema seria de 85,26% Disponibilidad en horas (DH) = Disponibilidad del sistema(DS) * tiempo laborable(TL) DH = DS * TL DH = 0,8526 * 8 hrs. DH = 6,82
  • 20.
    Algoritmos y Diagramasde Flujo Grado de disponibilidad de la computadora 0,98 Grado de disponibilidad del enlace 0,87 Tiempo laborable en horas 8 La disponibilidad del servicio es de 6,82 horas La respuesta del programa seria la siguiente
  • 21.
    Algoritmos y Diagramasde Flujo 1.-Inicio 2.-Se pregunta la disponibilidad de la computadora . (DC,r [0-1]) 3.-Se pregunta la disponibilidad del enlace. (DE,r[0-1]) 4.-Se pregunta el tiempo laborable en horas. (TL,r[0-1]) 5.-Se calcula la disponibilidad del sistema de dispositivos (DS,r[0-1]) 6.-Se calcula el tiempo de disponibilidad del servicio. (DH,r[0-1]) 7.-Se muestra el tiempo de disponibilidad del servicio. (DH) 8.-Fin Algoritmo orientado a Datos
  • 22.
    Algoritmos y Diagramasde Flujo Mini_especificación : Representación abstracta y simbólica entendible por el ser humano, que muestra al máximo detalle las operaciones que un programa debe hacer con los datos. Por regla general se declaran todas las variables. 1.-INICIO: 2.- (DC,r[0-1]) 3.- (DE.r[0-1]) 4.- (TL, r[0-1]) 5.- (DS,r[0-1]) 6.- (DH,d[0-1]) 7.- << “Grado disponibilidad de la computadora:” 8.- >> DC 9.- << ”Grado de disponibilidad del enlace:” 10.- >> DE 11.- << “Tiempo laborable en horas:” 12.- >> TL 13.- DS = DC * DE 14.- DH = DS * TL 15.- << “ La disponibilidad del servicio de Internet es de “ + DH + “horas” 16.-FIN
  • 23.
    Algoritmos y Diagramasde Flujo Ejercicio Propuesto Realizar el diagrama de flujo el ejercicio en el cual se esta practicando. La computadora, como todas las herramientas, no piensa
  • 24.
    Si crees quepuedes, o no puedes, igual tienes razón. Henry Ford Bibliografia: Introducción a la programación – Felipe Ramirez 2a edición Editorial Alfa-Omega Metodología de la Programación – Osvaldo Cairo 3a edición Editorial Alfa-Omega