SlideShare una empresa de Scribd logo
1 de 35
Licenciatura en Tecnologías de la Información
Universidad de Guadalajara
Fundamentos de Programación
Métodos y herramientas
para resolución de problemas
Diagramas de Flujo
Integrantes del Equipo
Adriana Guadalupe Zamora Quintana
Irma Rebeca Andalón García
Jorge Luis Huizar Salas
Fases de resolución de problemas
3
La principal razón para que las personas aprendan un
lenguaje de programación es utilizar la computadora
como una herramienta para la resolución de
problemas.
La realización de trabajos mediante computadora, como
cualquier otra actividad requiere un método que
explique de un modo ordenado y secuencial hasta los
últimos detalles a realizar por la máquina.
Fases de resolución de problemas
4
Tres fases pueden ser identificadas en el proceso de
resolución de problemas ayudados por computadora:
 Análisis del problema
 Diseño del algoritmo
 Implementación en un computador (realización en un
lenguaje de programación)
Fases de resolución de problemas
5
Las fases de resolución de un problema en
computadora son:
1. Análisis del problema
2. Diseño del algoritmo
3. Codificación
4. Compilación y Ejecución
5. Verificación y Depuración
6. Documentación
7. Mantenimiento
6
Análisis del
problema
Diseño del
algoritmo
Verificación del
algoritmo
Codificación del
algoritmo
Compilación y
Ejecución del
programa
Verificación y
Depuración
Documentación y
Mantenimiento
Fases de resolución de problemas
Análisis del problema
7
 El primer paso para la solución del problema es el
análisis del mismo.
 Se debe examinar cuidadosamente el problema a fin de
obtener la idea sobre lo que se solicita y determinar los
datos necesarios para conseguir solucionarlo.
Análisis del problema
8
Análisis del
problema
Datos de
entrada
Datos de salida
= resultados
Definición del
problema
Diseño del algoritmo
9
Para diseñar un algoritmo se debe comenzar por identificar las
tareas más importantes para resolver el problema y disponerlas
en el orden en que han de ser ejecutadas.
Los pasos en esta primera descripción de actividades deberán ser
refinados, añadiendo más detalles a los mismos e incluso,
algunos de ellos, pueden requerir un refinamiento adicional antes
de obtener un algoritmo claro, preciso y completo.
Este método de diseño en etapas, yendo de los conceptos
generales a los detalles por refinamientos sucesivos, se conoce
como método descendente.
Diseño del algoritmo
10
En la etapa de diseño se determina cómo el programa,
hace la tarea solicitada.
•Los métodos más eficaces para el proceso de diseño se
basan en el conocido por divide y vencerás.
•El problema se divide en subproblemas y éstos a su
vez en otros de nivel más bajo, hasta que la solución
pueda ser implementada en la computadora.
Diseño del algoritmo
11
• Este método se conoce como diseño descendente
(top-down) o modular.
• El proceso de romper el problema en cada etapa y
expresar cada paso en forma más detallada se
denomina refinamiento sucesivo.
• Cada subprograma es resuelto mediante un módulo
que tiene un solo punto de entrada y un solo punto de
salida.
Diseño del algoritmo
12
• El proceso implica la ejecución de los siguientes
pasos:
– Programar un módulo
– Comprobar el módulo
– Si es necesario, depurar el módulo
– Combinar el módulo con otros módulos.
Diseño del algoritmo
13
El diseño del algoritmo
es independiente del lenguaje de
programación
en el que se vaya a codificar
posteriormente.
Implementación mediante el computador
14
Una vez que el algoritmo está diseñado, es representado
mediante una herramienta de programación
(diagrama de flujo, diagrama N-S, o pseudocódigo) y
verificado se debe pasar a la fase de codificación.
Codificación, traducción del algoritmo a un
determinado lenguaje de programación, que deberá ser
completada con la Ejecución.
Implementación mediante el computador
15
Verificación del algoritmo. Una vez que se ha terminado
de escribir un algoritmo es necesario comprobar que
realiza las tareas para las que se ha diseñado y produce el
resultado correcto y esperado.
Una forma de comprobar un algoritmo es mediante su
ejecución manual, usando datos significativos que
abarquen todo el posible rango de valores y anotando en una
hoja de papel las modificaciones que se producen en las
diferentes fases hasta la obtención de resultados.
Representación de algoritmos
16
Un algoritmo puede ser escrito en castellano
narrativo, pero esta descripción suele ser demasiado
prolija y además, ambigua.
Para representar un algoritmo se debe utilizar
algún método que permita independizar dicho
algoritmo de los lenguajes de programación y, al
mismo tiempo, conseguir que sea fácilmente
codificable.
Representación de algoritmos
17
Detallada. El algoritmo escrito en un determinado
lenguaje de programación. Por ejemplo: lenguaje de
máquina, ensamblador, fortran, basic, pascal, C, etc.
Simbólica. Las etapas son descritas con lenguaje
próximo al natural, con el grado de detalle adecuado
a la etapa de desarrollo del programa.
Representación de algoritmos
18
Los herramientas más usuales para la representación de
algoritmos son:
Diagrama de flujo
Diagrama N-S (Nassi-Schneiderman)
Seudocódigo
Representación de algoritmos
19
Diagrama de flujo. Se utilizan entre otros para la
representación gráfica de la secuencia de pasos
necesarios para describir un procedimiento particular.
Utiliza unos símbolos normalizados, con los pasos
del algoritmo escritos en el símbolo adecuado y los
símbolos unidos por flechas, denominadas líneas de
flujo, que indican el orden en que los pasos deben ser
ejecutados.
Representación de algoritmos
20
Diagrama N-S (Nassi-Schneiderman). Denominados
así por sus inventores, o también N-S, o de Chapin, son
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 los
seudocódigos.
Constan de una serie de cajas contiguas que se leerán
siempre de arriba-abajo y se documentarán de la
forma adecuada.
Representación de algoritmos
21
Seudocódigo. Es un lenguaje de especificación de algoritmos
que utiliza palabras reservadas y exige la sangría en el
margen izquierdo, de algunas líneas.
En nuestros seudocódigos usaremos determinadas palabras en
español como palabras reservadas.
Se concibió para superar las dos principales desventajas del
diagrama de flujo: lento de crear y difícil de modificar sin un
nuevo redibujo.
Es una herramienta muy buena para el seguimiento de la
lógica del algoritmo y para transformar con facilidad los
algoritmos a programas escritos en un lenguaje de
programación específico.
Diagrama de Flujo
22
Diagrama de Flujo
23
Es la representación gráfica de unos procedimientos y
de la secuencia u orden en que deben ejecutarse, en
resumen la representación gráfica de la solución de un
problema o de un procedimiento.
Diagrama de detalle. Son las órdenes en secuencia que
se deben dar a la máquina para la resolución del
problema.
Los principales símbolos son: inicio y fin del
algoritmo, proceso, entrada/salida, decisión y
comentario.
Diagrama de Flujo
24
Proceso (Cualquier tipo de operación definida que pueda
originar cambio de valor, formato o posición de la
información almacenada en memoria: operaciones
aritméticas, de transferencia de datos, etc.).
Terminal (Representa generalmente el comienzo, “inicio”
y el final “fin” de un programa).
Entrada / Salida (Cualquier tipo de operación de
introducción de datos en la memoria desde los periféricos
“entrada”, o registro de la información procesada en un
periférico “salida”).
Diagrama de Flujo
25
Decisión (Indica operaciones lógicas o de comparación
entre datos -normalmente dos- y en función del resultado de
la misma determina cuál de los distintos caminos
alternativos del programa seguir; normalmente tiene dos
salidas -respuestas Si o No-)
Línea conectora (Sirve de unión entre dos símbolos)
Comentarios (Se utiliza para añadir comentarios
clasificadores a otros símbolos del diagrama de flujo. Se
pueden dibujar a cualquier lado del símbolo)
Indicador de dirección o línea de flujo (indica el sentido
de ejecución de las operaciones)
Diagrama de Flujo
26
Reglas para la construcción de diagramas de flujo:
La finalidad de un diagrama de flujo es describir de modo
gráfico la estructura lógica del programa y que
posteriormente permita una fácil codificación en un lenguaje
específico.
El proceso para la construcción de un diagrama de flujo no
supone un método rígido, sin embargo se pueden enunciar unas
reglas útiles de tipo general.
Diagrama de Flujo
27
La elaboración de un diagrama de flujo debe comenzar con un
diagrama de bloques que represente las relaciones
fundamentales y posteriormente ir descomponiéndolas en otras
más sencillas pero sin tratar que correspondan instrucción a
instrucción con el funcionamiento real del programa, ya que
serían excesivamente recargados y no serían útiles.
Todo diagrama debe tener un inicio y un fin, al objeto de que
pueda ser utilizado como sub-módulo de otro módulo de nivel
superior.
Diagrama de Flujo
28
Las líneas de conexión o de flujo deber ser siempre rectas y, si
es posible, que sean sólo verticales y horizontales (no
cruzarse ni inclinadas); para conseguir lo anterior se debe
recurrir a conectores numerados convenientemente y sólo en
los casos estrictamente necesarios.
Las líneas que enlazan los símbolos entre sí deben estar todas
conectadas. Cada línea o flecha debe estar en un bloque, en un
símbolo de decisión, terminar en Fin o unirse a otra flecha.
Se deben dibujar todos los símbolos de modo que se pueda
seguir el proceso visualmente de arriba a abajo y de
izquierda a derecha.
Diagrama de Flujo
29
Evitar la utilización de terminología específica de un
lenguaje de programación, sobre todo en las expresiones
donde se tiene tendencia natural a ello.
Se debe dejar un bloque o dos de proceso libres al
comienzo del diagrama para variables, acumuladores,
inicializaciones, etc.
Indicar con comentarios al margen, las variables utilizadas
y su descripción, procurando no abusar de su uso.
Diferenciar las variables propias del proceso de las
seudovariables o variables ficticias (contadores,
conmutadores, etc.).
Diagrama de Flujo
30
En las operaciones lógicas recurrir preferentemente a la
lógica positiva que a la negativa (es siempre más claro Si
A=B que Si no es A<>B).
Realizar un gráfico claro y equilibrado, procurando que el
flujo central del diagrama sea la parte central de la hoja de
papel.
A cada bloque o símbolo se accede por arribar y/o por la
izquierda y se sale por abajo y/o por la derecha.
Diagrama de Flujo
LTI
31
Realizar todos los comentarios marginales al diagrama para
que este sea comprensible no sólo por la persona que lo ha
elaborado, sino también por cualquier persona ajena al mismo
y sobre todo al paso del tiempo, cuando se necesite una
actualización o modificación.
Siempre que sea posible, es conveniente que el diagrama no
sobrepase una página; si no es posible, numeras las hojas y
usar conectores de páginas que indiquen la dirección correcta
del flujo (de donde viene y a donde va).
Cada una de las estructuras tiene una sola flecha de entrada y
cada una de ellas es legible de arriba hacia abajo.
Irma Rebeca Andalón García Fundamentos de Programación
Diagrama de Flujo
32
Inicio
Entrada de Datos
Proceso
Salida de Datos
Fin
Diagrama de Flujo
33
Problema. Diseñar un algoritmo que lea cuatro variables
enteras y calcule e imprima su producto y su suma.
• Análisis del problema:
Datos de Entrada: iNum1, iNum2, iNum3, iNum4
Datos de Salida: iProd, iSum
Escribir(iProd, iSum)
Diagrama de Flujo
34
Inicio
iProd = iNum1 * iNum2 * iNum3 * iNum4
iSum = iNum1 + iNum2 + iNum3 + iNum4
Fin
Leer (iNum1, iNum2, iNum3, iNum4)
Escribir(“Dame 4 numeros”)
El aprendizaje es
experiencia,
todo lo demás es
información.
Albert Einstein
35
Frase

Más contenido relacionado

La actualidad más candente

Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDJuan Novelo
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
02 Diagrama de Bloques de una Computadora
02 Diagrama de Bloques de una Computadora02 Diagrama de Bloques de una Computadora
02 Diagrama de Bloques de una ComputadoraJaime E. Velarde
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmosFany Duque
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos TiffanyMartinez
 
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresJohn Espinoza
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosAngela Janeth Jimenez
 
Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Nabor Chirinos
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 

La actualidad más candente (20)

Arquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISDArquitectura de Cómputo Paralelo MISD
Arquitectura de Cómputo Paralelo MISD
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
02 Diagrama de Bloques de una Computadora
02 Diagrama de Bloques de una Computadora02 Diagrama de Bloques de una Computadora
02 Diagrama de Bloques de una Computadora
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Lenguajes de una maquina de turing
Lenguajes de una maquina de turingLenguajes de una maquina de turing
Lenguajes de una maquina de turing
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmos
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos
 
Unidad 2 arquitectura de computadoras
Unidad 2 arquitectura de computadorasUnidad 2 arquitectura de computadoras
Unidad 2 arquitectura de computadoras
 
Autómata de Pila
Autómata de Pila Autómata de Pila
Autómata de Pila
 
Introducción a la arquitectura de computadores
Introducción a la arquitectura de computadoresIntroducción a la arquitectura de computadores
Introducción a la arquitectura de computadores
 
Matemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de GrafosMatemáticas discretas- Teoría de Grafos
Matemáticas discretas- Teoría de Grafos
 
Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.Teoria de Grafos. Conceptos básicos.
Teoria de Grafos. Conceptos básicos.
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 

Similar a Diagramas de Flujo (20)

Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Informatica
InformaticaInformatica
Informatica
 
Concepto y representaciones de un Algoritmo
Concepto y representaciones de un AlgoritmoConcepto y representaciones de un Algoritmo
Concepto y representaciones de un Algoritmo
 
Aj
AjAj
Aj
 
Aj
AjAj
Aj
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.comFpr Tema 1 www.fresymetal.com
Fpr Tema 1 www.fresymetal.com
 
Manual de java_3
Manual de java_3Manual de java_3
Manual de java_3
 
Manual de java
Manual de java Manual de java
Manual de java
 
manual 10
manual 10manual 10
manual 10
 
Manual de java 3
Manual de java 3Manual de java 3
Manual de java 3
 
MANUAL DE JAVA 1
MANUAL DE JAVA 1MANUAL DE JAVA 1
MANUAL DE JAVA 1
 
Manual de javaa2
Manual de javaa2Manual de javaa2
Manual de javaa2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Programacion
ProgramacionProgramacion
Programacion
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Conceptos básicos para la programación
Conceptos básicos para la programaciónConceptos básicos para la programación
Conceptos básicos para la programación
 

Último

DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 

Último (20)

Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 

Diagramas de Flujo

  • 1. Licenciatura en Tecnologías de la Información Universidad de Guadalajara Fundamentos de Programación Métodos y herramientas para resolución de problemas Diagramas de Flujo
  • 2. Integrantes del Equipo Adriana Guadalupe Zamora Quintana Irma Rebeca Andalón García Jorge Luis Huizar Salas
  • 3. Fases de resolución de problemas 3 La principal razón para que las personas aprendan un lenguaje de programación es utilizar la computadora como una herramienta para la resolución de problemas. La realización de trabajos mediante computadora, como cualquier otra actividad requiere un método que explique de un modo ordenado y secuencial hasta los últimos detalles a realizar por la máquina.
  • 4. Fases de resolución de problemas 4 Tres fases pueden ser identificadas en el proceso de resolución de problemas ayudados por computadora:  Análisis del problema  Diseño del algoritmo  Implementación en un computador (realización en un lenguaje de programación)
  • 5. Fases de resolución de problemas 5 Las fases de resolución de un problema en computadora son: 1. Análisis del problema 2. Diseño del algoritmo 3. Codificación 4. Compilación y Ejecución 5. Verificación y Depuración 6. Documentación 7. Mantenimiento
  • 6. 6 Análisis del problema Diseño del algoritmo Verificación del algoritmo Codificación del algoritmo Compilación y Ejecución del programa Verificación y Depuración Documentación y Mantenimiento Fases de resolución de problemas
  • 7. Análisis del problema 7  El primer paso para la solución del problema es el análisis del mismo.  Se debe examinar cuidadosamente el problema a fin de obtener la idea sobre lo que se solicita y determinar los datos necesarios para conseguir solucionarlo.
  • 8. Análisis del problema 8 Análisis del problema Datos de entrada Datos de salida = resultados Definición del problema
  • 9. Diseño del algoritmo 9 Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantes para resolver el problema y disponerlas en el orden en que han de ser ejecutadas. Los pasos en esta primera descripción de actividades deberán ser refinados, añadiendo más detalles a los mismos e incluso, algunos de ellos, pueden requerir un refinamiento adicional antes de obtener un algoritmo claro, preciso y completo. Este método de diseño en etapas, yendo de los conceptos generales a los detalles por refinamientos sucesivos, se conoce como método descendente.
  • 10. Diseño del algoritmo 10 En la etapa de diseño se determina cómo el programa, hace la tarea solicitada. •Los métodos más eficaces para el proceso de diseño se basan en el conocido por divide y vencerás. •El problema se divide en subproblemas y éstos a su vez en otros de nivel más bajo, hasta que la solución pueda ser implementada en la computadora.
  • 11. Diseño del algoritmo 11 • Este método se conoce como diseño descendente (top-down) o modular. • El proceso de romper el problema en cada etapa y expresar cada paso en forma más detallada se denomina refinamiento sucesivo. • Cada subprograma es resuelto mediante un módulo que tiene un solo punto de entrada y un solo punto de salida.
  • 12. Diseño del algoritmo 12 • El proceso implica la ejecución de los siguientes pasos: – Programar un módulo – Comprobar el módulo – Si es necesario, depurar el módulo – Combinar el módulo con otros módulos.
  • 13. Diseño del algoritmo 13 El diseño del algoritmo es independiente del lenguaje de programación en el que se vaya a codificar posteriormente.
  • 14. Implementación mediante el computador 14 Una vez que el algoritmo está diseñado, es representado mediante una herramienta de programación (diagrama de flujo, diagrama N-S, o pseudocódigo) y verificado se debe pasar a la fase de codificación. Codificación, traducción del algoritmo a un determinado lenguaje de programación, que deberá ser completada con la Ejecución.
  • 15. Implementación mediante el computador 15 Verificación del algoritmo. Una vez que se ha terminado de escribir un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto y esperado. Una forma de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtención de resultados.
  • 16. Representación de algoritmos 16 Un algoritmo puede ser escrito en castellano narrativo, pero esta descripción suele ser demasiado prolija y además, ambigua. Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo de los lenguajes de programación y, al mismo tiempo, conseguir que sea fácilmente codificable.
  • 17. Representación de algoritmos 17 Detallada. El algoritmo escrito en un determinado lenguaje de programación. Por ejemplo: lenguaje de máquina, ensamblador, fortran, basic, pascal, C, etc. Simbólica. Las etapas son descritas con lenguaje próximo al natural, con el grado de detalle adecuado a la etapa de desarrollo del programa.
  • 18. Representación de algoritmos 18 Los herramientas más usuales para la representación de algoritmos son: Diagrama de flujo Diagrama N-S (Nassi-Schneiderman) Seudocódigo
  • 19. Representación de algoritmos 19 Diagrama de flujo. Se utilizan entre otros para la representación gráfica de la secuencia de pasos necesarios para describir un procedimiento particular. Utiliza unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos por flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.
  • 20. Representación de algoritmos 20 Diagrama N-S (Nassi-Schneiderman). Denominados así por sus inventores, o también N-S, o de Chapin, son 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 los seudocódigos. Constan de una serie de cajas contiguas que se leerán siempre de arriba-abajo y se documentarán de la forma adecuada.
  • 21. Representación de algoritmos 21 Seudocódigo. Es un lenguaje de especificación de algoritmos que utiliza palabras reservadas y exige la sangría en el margen izquierdo, de algunas líneas. En nuestros seudocódigos usaremos determinadas palabras en español como palabras reservadas. Se concibió para superar las dos principales desventajas del diagrama de flujo: lento de crear y difícil de modificar sin un nuevo redibujo. Es una herramienta muy buena para el seguimiento de la lógica del algoritmo y para transformar con facilidad los algoritmos a programas escritos en un lenguaje de programación específico.
  • 23. Diagrama de Flujo 23 Es la representación gráfica de unos procedimientos y de la secuencia u orden en que deben ejecutarse, en resumen la representación gráfica de la solución de un problema o de un procedimiento. Diagrama de detalle. Son las órdenes en secuencia que se deben dar a la máquina para la resolución del problema. Los principales símbolos son: inicio y fin del algoritmo, proceso, entrada/salida, decisión y comentario.
  • 24. Diagrama de Flujo 24 Proceso (Cualquier tipo de operación definida que pueda originar cambio de valor, formato o posición de la información almacenada en memoria: operaciones aritméticas, de transferencia de datos, etc.). Terminal (Representa generalmente el comienzo, “inicio” y el final “fin” de un programa). Entrada / Salida (Cualquier tipo de operación de introducción de datos en la memoria desde los periféricos “entrada”, o registro de la información procesada en un periférico “salida”).
  • 25. Diagrama de Flujo 25 Decisión (Indica operaciones lógicas o de comparación entre datos -normalmente dos- y en función del resultado de la misma determina cuál de los distintos caminos alternativos del programa seguir; normalmente tiene dos salidas -respuestas Si o No-) Línea conectora (Sirve de unión entre dos símbolos) Comentarios (Se utiliza para añadir comentarios clasificadores a otros símbolos del diagrama de flujo. Se pueden dibujar a cualquier lado del símbolo) Indicador de dirección o línea de flujo (indica el sentido de ejecución de las operaciones)
  • 26. Diagrama de Flujo 26 Reglas para la construcción de diagramas de flujo: La finalidad de un diagrama de flujo es describir de modo gráfico la estructura lógica del programa y que posteriormente permita una fácil codificación en un lenguaje específico. El proceso para la construcción de un diagrama de flujo no supone un método rígido, sin embargo se pueden enunciar unas reglas útiles de tipo general.
  • 27. Diagrama de Flujo 27 La elaboración de un diagrama de flujo debe comenzar con un diagrama de bloques que represente las relaciones fundamentales y posteriormente ir descomponiéndolas en otras más sencillas pero sin tratar que correspondan instrucción a instrucción con el funcionamiento real del programa, ya que serían excesivamente recargados y no serían útiles. Todo diagrama debe tener un inicio y un fin, al objeto de que pueda ser utilizado como sub-módulo de otro módulo de nivel superior.
  • 28. Diagrama de Flujo 28 Las líneas de conexión o de flujo deber ser siempre rectas y, si es posible, que sean sólo verticales y horizontales (no cruzarse ni inclinadas); para conseguir lo anterior se debe recurrir a conectores numerados convenientemente y sólo en los casos estrictamente necesarios. Las líneas que enlazan los símbolos entre sí deben estar todas conectadas. Cada línea o flecha debe estar en un bloque, en un símbolo de decisión, terminar en Fin o unirse a otra flecha. Se deben dibujar todos los símbolos de modo que se pueda seguir el proceso visualmente de arriba a abajo y de izquierda a derecha.
  • 29. Diagrama de Flujo 29 Evitar la utilización de terminología específica de un lenguaje de programación, sobre todo en las expresiones donde se tiene tendencia natural a ello. Se debe dejar un bloque o dos de proceso libres al comienzo del diagrama para variables, acumuladores, inicializaciones, etc. Indicar con comentarios al margen, las variables utilizadas y su descripción, procurando no abusar de su uso. Diferenciar las variables propias del proceso de las seudovariables o variables ficticias (contadores, conmutadores, etc.).
  • 30. Diagrama de Flujo 30 En las operaciones lógicas recurrir preferentemente a la lógica positiva que a la negativa (es siempre más claro Si A=B que Si no es A<>B). Realizar un gráfico claro y equilibrado, procurando que el flujo central del diagrama sea la parte central de la hoja de papel. A cada bloque o símbolo se accede por arribar y/o por la izquierda y se sale por abajo y/o por la derecha.
  • 31. Diagrama de Flujo LTI 31 Realizar todos los comentarios marginales al diagrama para que este sea comprensible no sólo por la persona que lo ha elaborado, sino también por cualquier persona ajena al mismo y sobre todo al paso del tiempo, cuando se necesite una actualización o modificación. Siempre que sea posible, es conveniente que el diagrama no sobrepase una página; si no es posible, numeras las hojas y usar conectores de páginas que indiquen la dirección correcta del flujo (de donde viene y a donde va). Cada una de las estructuras tiene una sola flecha de entrada y cada una de ellas es legible de arriba hacia abajo. Irma Rebeca Andalón García Fundamentos de Programación
  • 32. Diagrama de Flujo 32 Inicio Entrada de Datos Proceso Salida de Datos Fin
  • 33. Diagrama de Flujo 33 Problema. Diseñar un algoritmo que lea cuatro variables enteras y calcule e imprima su producto y su suma. • Análisis del problema: Datos de Entrada: iNum1, iNum2, iNum3, iNum4 Datos de Salida: iProd, iSum
  • 34. Escribir(iProd, iSum) Diagrama de Flujo 34 Inicio iProd = iNum1 * iNum2 * iNum3 * iNum4 iSum = iNum1 + iNum2 + iNum3 + iNum4 Fin Leer (iNum1, iNum2, iNum3, iNum4) Escribir(“Dame 4 numeros”)
  • 35. El aprendizaje es experiencia, todo lo demás es información. Albert Einstein 35 Frase