Diagramas De Flujo

27,324 views

Published on

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
27,324
On SlideShare
0
From Embeds
0
Number of Embeds
88
Actions
Shares
0
Downloads
194
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Diagramas De Flujo

  1. 1. Algoritmos y Programación Por: Carlos Paul Tucto Rodríguez [email_address] Trujillo, Abril del 2008
  2. 2. <ul><li>Objetivos </li></ul><ul><li>Planeamiento y solución de Problemas </li></ul><ul><li>Algoritmo </li></ul><ul><li>Datos y Tipos de Datos </li></ul><ul><li>Constantes y Variables </li></ul><ul><li>Tipo de Operaciones </li></ul><ul><li>Precedencia de Operadores </li></ul><ul><li>Diagramas de Flujo </li></ul>Contenido
  3. 3. Objetivos <ul><li>Comprender los conceptos básicos para el análisis de problemas. </li></ul><ul><li>Comprender las diferentes operaciones para solucionar problemas. </li></ul><ul><li>Manejar adecuadamente las estructuras básicas de un diagrama de flujo. </li></ul>
  4. 4. Planeamiento y solución de problemas <ul><li>La solución de un problema representado en un programa de computadora consta de 2 etapas fundamentales: </li></ul><ul><li>Fase de Solución: </li></ul><ul><li>Concentra la atención en el diseño de un algoritmo que resuelva el problema propuesto. </li></ul><ul><li>En esta fase se analiza el problema, requiriendo concentración, imaginación y creatividad. </li></ul>
  5. 5. <ul><li>Se debe identificar que tipo de información se necesita obtener y que dudas hay en el problema para obtener una mejor solución. </li></ul><ul><li>Fase de Construcción: </li></ul><ul><li>Una vez formulado un algoritmo adecuado, se entrara en los detalles de implementación de este algoritmo en algún lenguaje de programación. </li></ul>
  6. 6. <ul><li>Un problema bien definido es resultado de un análisis exhaustivo y requiere una descripción precisa de las especificaciones de entrada y salida para poder conseguir una solución efectiva y eficaz. </li></ul>
  7. 7. Algoritmo <ul><li>Se define como una secuencia ordenada de pasos carente de ambigüedades que lleva a la solución de un problema. </li></ul><ul><li>Las características de un algoritmo son: </li></ul><ul><li>Ordenado (los pasos deben estar ordenados). </li></ul><ul><li>Definido ( varios algoritmos para un mismo problema deben arrojar el mismo resultado). </li></ul><ul><li>Finito (debe terminar en algún momento). </li></ul>
  8. 8. <ul><li>Un algoritmo esta constituido por 3 partes: </li></ul><ul><li>Entrada: Es la información dada al algoritmo. </li></ul><ul><li>Proceso: Son los cálculos necesarios. </li></ul><ul><li>Salida: Son los resultados dadas por el algoritmo. </li></ul><ul><li>Como ejemplo se diseñara un algoritmo para cambiar un foco quemado del techo de una habitación. Se comienza por identificar las tareas más importantes hacer ejecutadas y disponerla en el orden en que serán ejecutadas. </li></ul>
  9. 9. <ul><li>Proceso: </li></ul><ul><li>1. Retirar el foco quemado. </li></ul><ul><li>2. Colocar el foco nuevo. </li></ul><ul><li>Normalmente estos pasos son incompletos, por consiguiente detallaremos mas esos dos pasos anteriores </li></ul><ul><li>Proceso: </li></ul><ul><li>1. Situar una escalera debajo del foco. </li></ul><ul><li>2. Elegir el foco remplazante. </li></ul><ul><li>3. Subir la escalera hasta alcanzar el foco. </li></ul><ul><li>4. Girar en sentido antihorario hasta que el foco este suelto. </li></ul><ul><li>5. Colocar el nuevo foco en el mismo lugar. </li></ul>
  10. 10. <ul><li>6. Girar el foco en sentido horario hasta que ajuste. </li></ul><ul><li>7. Bajar la escalera. </li></ul><ul><li>Pero podemos ver que varios de los pasos de este algoritmo implican operaciones mas detalladas , por ejemplo: </li></ul><ul><li>Proceso: </li></ul><ul><li>1. Situar la escalera debajo del foco. </li></ul><ul><li>2. Elegir un posible remplazante . Si la potencia no es igual ala antigua, repetir lo siguiente hasta que la potencia sea igual ala antigua : </li></ul><ul><li>2.1. Descartar el foco elegido </li></ul><ul><li>2.2. Elegir uno nuevo </li></ul>
  11. 11. <ul><li>3. Repetir el sgte. procedimiento hasta que se alcance el foco quemado. </li></ul><ul><li>3.1. Subir un peldaño tras otro de la escalera. </li></ul><ul><li>4. Repetir el sgte. procedimiento hasta que el foco este suelto. </li></ul><ul><li>4.1. Girar el foco en sentido antiorario. </li></ul><ul><li>5. Colocar el nuevo foco en el mismo lugar. </li></ul><ul><li>6. Repetir el sgte. procedimiento hasta que el foco este ajustado </li></ul><ul><li>6.1.Enroscar el foco en sentido horario </li></ul><ul><li>7. Bajar de la escalera. </li></ul><ul><li>Aquí aparecen 2 conceptos importantes: </li></ul>
  12. 12. <ul><li>El concepto de decisión y el concepto de repetición. </li></ul><ul><li>La decisión permitirá elegir que camino seguir según una condición dada, en el ejemplo visto si la potencia del foco es la misma se saltara al paso 3 sino se entrara en un ciclo repetitivo hasta encontrar una potencia igual ala del anterior foco. </li></ul><ul><li>La repetición es un ciclo que se repite una y otra vez hasta cumplir una cierta condición. </li></ul><ul><li>Muchas personas no comprenden la necesidad de realizar un algoritmo y saltan de frente ala codificación del programa pensando que así ahorraran tiempo, esto parece razonable pero no es así, la experiencia demuestra que el proceso de solución de un problema con las 2 fases enunciadas simplifican la solución y reduce el tiempo. </li></ul>
  13. 13. Datos Tipos de datos <ul><li>Datos: Los algoritmos están diseñados para manipular datos. Los datos pueden ser las cifras de ventas mensuales de un supermercado, la nómina del personal de una empresa ó la fecha de nacimiento de los alumnos de un salón. </li></ul><ul><li>Tipos de datos: Todos los datos tienen un tipo asociado a ellos q determina el conjunto de todos los posibles valores q un dato puede tener. Los distintos tipos se representan en forma diferente en la computadora y puede ser simple ó estructurada. Los datos simples también son conocidos como datos primitivos y se clasifican en numéricos, caracteres, y lógicos </li></ul>
  14. 14. <ul><li>1. Tipos Numérico: Los datos numéricos pueden representarse como números enteros y números reales. </li></ul><ul><li>Los enteros corresponden a los números que no tienen componente fraccionario (decimales), pueden ser (-) ó (+) los sgts. son ejemplos de datos enteros: 13, -6, 8988, 24 </li></ul><ul><li>Los Reales son números de parte entera y parte decimal q tienen siempre un punto decimal, los sgtes. son ejemplos de números reales: 36.7; -9.54; 0.0; 9.0; 0.1 </li></ul><ul><li>2. Tipo Carácter: Esta formado por todos los caracteres o símbolos de los q dispone la computadora. </li></ul>
  15. 15. <ul><li>Caracteres alfabéticos mayúsculas A,B,C,D,...Z. </li></ul><ul><li>Caracteres alfabéticos minúsculas a,b,c,d,…z. </li></ul><ul><li>Caracteres dígitos 0,1,2,…,9. </li></ul><ul><li>Caracteres especiales $,%,-,+,>,? </li></ul><ul><li>Un dato tipo carácter es un solo carácter. </li></ul><ul><li>Los caracteres se organizan en cadenas. Una cadena de caracteres una secuencia de caracteres, por ejemplo: Maria 1957 07-08-2008 </li></ul><ul><li>3. Tipo Lógico: Los datos de tipo lógico ó booleano pueden tomar solo dos valores posibles </li></ul><ul><li>True (verdadero) ó false (falso). </li></ul>
  16. 16. Constantes y Variables <ul><li>En todo programa de computadora existen algunos elementos con un determinado valor. Estos elementos pueden ser constantes ó variables. </li></ul><ul><li>Constantes: Las const son objetos cuyo valor permanece invariable a lo largo de ejecución del programa, ejemplos: pi=3.14154 e=2.71828 </li></ul><ul><li>utilizara un nombre (identificador) cada vez q se necesite usarlo. </li></ul><ul><li>Variables: Las variables son objetos q pueden cambiar su valor mediante la ejecución de un programa, utilizaran un nombre para identificarlo. </li></ul>
  17. 17. Tipo de Operaciones <ul><li>Aritmeticas </li></ul><ul><li>^ Potenciación: 2^3=8 </li></ul><ul><li>* Multiplicación: 2*3=6 </li></ul><ul><li>/ División: 7/2 = 7.0/2 = 7/2.0 = 7.0/2.0 =3.5 </li></ul><ul><li>div División entera: 7 div 2=3 </li></ul><ul><li>mod Resto de division entera: 7 mod 2=1 </li></ul><ul><li>Relacionales </li></ul><ul><li>= Igual </li></ul><ul><li>!= ó <> Distinto </li></ul><ul><li>>= Mayor igual que </li></ul>
  18. 18. <ul><li><= Menor igual que </li></ul><ul><li>> Mayor </li></ul><ul><li>< Menor </li></ul><ul><li>Lógicas: </li></ul><ul><li>no negación </li></ul><ul><li>y conjunción </li></ul><ul><li>o disyunción </li></ul><ul><li>Asignación: La operación asignación es una manera muy elemental de especificar que una variable debe tener un valor dado. Se denota como para indicar que el valor situado a su derecha se almacena en la variable situada a la izquierda. Por ejemplo: </li></ul><ul><li>A 3 significa ala variable A se le asigna el valor 3. </li></ul><ul><li> </li></ul>
  19. 19. <ul><li>El operación de asignación es una operación destructiva porque remplaza el valor de una variable por un nuevo valor cuando se ejecuta el algoritmo (programa). </li></ul><ul><li>A 16 </li></ul><ul><li>A -27 </li></ul><ul><li>A 9 </li></ul><ul><li>La variable tiene 16 como valor inicial, al ejecutarse las dos instrucciones siguientes la variable A guardara el valor 9. </li></ul>
  20. 20. <ul><li>Otras Operaciones: </li></ul><ul><li>ABSC(x): arroja el valor absoluto de un entero ó real. </li></ul><ul><li>ABSC(15)=15, ABSC(-69)=69 </li></ul><ul><li>SQR(x): arroja x*x de un entero o real . </li></ul><ul><li>SQR(5)=25 </li></ul><ul><li>SQRT(x): arroja la raiz cuadrada de un entero o real >=0. </li></ul><ul><li>SQRT(81)=9 </li></ul><ul><li>TRUNC(x): Arroja el mayor entero T, se debe cumplir que T<=x, por ejemplo: </li></ul><ul><li>TRUNC(3.2)=3 TRUNC(-4.5)=-4 </li></ul><ul><li>ROUND(x):Arroja el mayor entero T, tal que se cumpla T<=X+0.5 </li></ul><ul><li>ROUND(3.2)=3 </li></ul>
  21. 21. Reglas de evaluación de expresiones <ul><li>Primero se evalúan todas las subexpresiones entre paréntesis. Las subexpresiones con paréntesis anidados se evalúan de adentro hacia fuera. </li></ul><ul><li>Segundo se evaluara la prioridad de las siguientes operaciones: </li></ul><ul><li>*, /, div, mod </li></ul><ul><li>+, - </li></ul><ul><li>Los operadores en una misma expresión o subexpresion con igual nivel de prioridad (*, /) se evaluaran de izquierda a derecha. </li></ul>
  22. 22. Diagramas de Flujo <ul><li>Es una representación grafica de la solución de un problema y por ende de un algoritmo </li></ul><ul><li>Es una técnica que describe gráficamente los pasos que tienen los algoritmos. </li></ul><ul><li>Algunos elementos esenciales del mismo son: </li></ul><ul><li>El comienzo del algoritmo. </li></ul><ul><li>Las operaciones. </li></ul><ul><li>La secuencia en que se realiza. </li></ul><ul><li>El final del algoritmo. </li></ul>

×