SlideShare una empresa de Scribd logo
1 de 33
ALGORÍTMICA Y
PROGRAMACIÓN
Unidad 1: Algoritmos y Programas
1.2.- Algoritmos
1.2.2.- Diagramas de Flujo
Identificar y utilizar técnicas para la
resolución de problemas a través de la
formulación algoritmos empleando
diagramas de flujo
Profa. Yenny Salazar
Contenido
• Definición
• Características
• Simbología
• Tipos
–Vertical
–Horizontal
–Panorámico
• Estructuras
–Secuencial
–Condicional (o Selectiva)
• Simple
• Múltiple
–Repetitiva
• Mientras
• Hacer-Mientras
• Desde (o Para)
• Actividades
• Ejercicios propuestos
Los Diagramas de Flujo
• Son la representación gráfica de un algoritmo, mostrando
esquemáticamente los procesos a seguir para alcanzar la solución
de un problema. Dicho esquema se basa en la utilización de
diversos símbolos relacionados entre sí (que indican diferentes
procesos) para representar operaciones específicas; estos se
conectan por medio de flechas para indicar el orden en que se
deben ejecutar las instrucciones para obtener los resultados
deseados.
• Si están completo y construido correctamente, su traducción a un
Lenguaje de Programación es relativamente simple y directa. Pues
estos facilitan la manera de representar visualmente el flujo de
datos por medio de un sistema de tratamiento de información,
realizando un análisis de los procesos requeridos para realizar un
programa.
• Usan símbolos casi universales, para poder ser comprensibles;
los cuales han sido reglamentados por el Instituto Nacional de
Normalización Estadounidense (ANSI, American National
Standards Institute)
Características de los diagramas de flujo
• Todo diagrama debe tener un inicio y un fin.
• No se especifica la declaración de variables.
• Se deben usar solamente líneas de flujo horizontales y/o
verticales.
• Se debe evitar el cruce de líneas utilizando los conectores.
• Se deben usar conectores sólo cuando sea necesario.
• No deben quedar líneas de flujo sin conectar.
• Se deben trazar los símbolos de manera que se puedan leer
de arriba hacia abajo y de izquierda a derecha.
• Se debe evitar la terminología de un lenguaje de
programación o máquina.
• Los comentarios se deben utilizar ya sea al margen o
mediante el símbolo gráfico comentarios para que éstos sean
entendibles por cualquier persona que lo consulte.
• Si el diagrama abarca más de una hoja es conveniente
enumerarlo e identificar de dónde viene y a dónde se
dirige.
• Sólo los símbolos de decisión pueden y deben tener
más de una línea de flujo de salida.
Símbolos más Utilizados
SÍMBOLO DESCRIPCIÓN
Inicio y final del diagrama de flujo. Puede representar
también una parada o interrupción programada.
Entrada (leer) y salida de datos (imprimir).
Proceso. Indica asignación de un valor en memoria, la
ejecución de una operación aritmética y/o cualquier tipo
de operación que pueda originar cambió de valor.
Símbolo de decisión simple. Indica la realización de una
comparación de 2 valores. En función del resultado se
determina cuál de las 2 alternativas seguir.
Símbolo de decisión múltiple. Indica la realización de una
comparación de varios valores. En función del resultado se
determina cuál de las n alternativas seguir.
Documento Impreso. Un documento o informe
impreso.
Símbolos más Utilizados
SÍMBOLO DESCRIPCIÓN
Conector. Sirve para enlazar cualquier parte del diagrama,
a través de un conector de salida y un conector de entrada.
Conector fuera de página. Sirve para enlazar un diagrama
de una página a otra.
Líneas de flujo o dirección. Indican la secuencia en que se
realizan las operaciones.
Anotación. Agrega información adicional sobre un proceso
o sub-proceso
Entrada Manual. Representa un paso en el que se pide al
usuario que introduzca la información manualmente.
Base de Datos. Indica una lista de información con
una estructura estándar que permite buscar y
ordenar.
Tipos de Diagramas de Flujo
• Formato vertical:
El flujo o la secuencia de
las operaciones, va de
arriba hacia abajo. Es
una lista ordenada de las
operaciones de un
proceso con toda la
información que se
considere necesaria,
según su propósito.
INICIO
FIN
URL
Leer artículo
¿Es la
información
buscada?
Analizar la
información
Redactar las
conclusiones
Trabajo
Entregar el
trabajo
si
no
Tipos de Diagramas de Flujo
• Formato horizontal:
El flujo o la secuencia de las operaciones, va de izquierda
a derecha.
INICIO
FIN
Encender el
reproductor
Seleccionar la
carpeta deseada
Seleccionar
música
deseada
Presionar Play
¿Cambiar
música?
Seguir
escuchado
¿Terminar?
Apagar el
reproductor
si
no
si
no
Tipos de Diagramas de Flujo
• Formato panorámico:
El proceso entero está
representado en un solo
diagrama, tanto en sentido
vertical como horizontal,
permitiendo distintas acciones
simultáneas.
INICIO
FIN
Entrar en la
zapatería
¿Hay de
tú talla?
Comprar los
zapatos
Escoger un
modelo
Salir de la
zapatería
si
no
Estructuras Algorítmicas
• Estructura Secuencial:
Es aquélla en la que una acción
(instrucción) sigue a otra en
secuencia. Las tareas se suceden
de tal modo que la salida de una
es la entrada de la siguiente y así
sucesivamente hasta el fin del
proceso.
La estructura secuencial tiene
una entrada y una salida.
Su representación gráfica es la
siguiente:
INICIO
FIN
Instrucción 1
…
Instrucción 2
Instrucción n
Estructuras Algorítmicas
• Estructura Secuencial
Ejemplo #1
Calcular el salario neto de un
trabajador en función del número de
horas trabajadas, precio de la hora
de trabajo y considerando unos
descuentos fijos al salario bruto en
concepto de impuestos (20%).
INICIO
FIN
Leer nombre, horas,
valor
impuesto0.2*salario_bruto
salario_brutohoras*valor
salario_netosalario_bruto-impuesto
Escribir nombre,
salario_bruto,
Salario_neto
Nota A:
Leer, Escribir: funciones de E/S.
nombre, horas, valor, salario_bruto,
impuesto y salario_neto: son variables.
 : es el operador de asignación.
* y – : son operadores aritméticos:
multiplicación y resta, respectivamente.
Nota A
• Funciones de Entrada/Salida (E/S): palabras que se
reservan para indicar la entrada/salida estándar del sistema,
generalmente: leer (del teclado-entrada) y escribir (por
pantalla-salida).
• Variable: es un espacio de la memoria del computador que
permite almacenar información de un determinado tipo de
dato. Tiene la capacidad de cambiar su valor mientras se
desarrolla la ejecución del algoritmo.
• Operación de Asignación (): se encargan de asignarle a la
variable (que se encuentra al lado izquierdo del ) el valor
(dato) que resulta de una expresión (operación) matemática o
el valor de otra variable (que se encuentre del lado derecho
del ).
• Operadores aritméticos: toman los valores numéricos
(literales o variables) como sus operando y devuelve un solo
valor numérico. Los operadores aritméticos más usados
son: + suma, - resta, * multiplicación, / división, mod
modulo, ++ incremento, -- decremento.
Estructuras Algorítmicas
• Estructura Condicional (o Selectiva):
La especificación formal de algoritmos tiene realmente utilidad
cuando el algoritmo requiere una descripción más complicada
que una lista sencilla de instrucciones. Este es el caso cuando
existen un número de posibles alternativas resultantes de la
evaluación de una determinada condición.
Las estructuras selectivas se utilizan para tomar decisiones
lógicas; de ahí que se suelan denominar también estructuras
de decisión o alternativas.
En las estructuras selectivas se evalúa una condición y en
función del resultado la misma, se realiza una opción u otra.
Las condiciones se especifican usando expresiones lógicas.
Las estructuras selectivas o alternativas pueden ser simples o
múltiples y se representan con los siguientes símbolos:
Simples
Múltiples
si
no
Estructuras Algorítmicas
• Estructura Condicional Simple:
La estructura alternativa simple
ejecuta una acción o bloque de
acciones, cuando se cumple una
determinada condición lógica. La
selección (si-no) evalúa la
condición, si la condición es
verdadera (si) entonces ejecuta la
acción (o bloque de acciones). Si la
condición es falsa (no), salta la
acción y continua con la siguiente
estructura.
Condición
Acción o
bloque de acciones
si
no
Estructuras Algorítmicas
• Estructura Condicional Simple:
Ejemplo #2
Realizar un diagrama de flujo que
permita mostrar en pantalla un
mensaje de mayoría o minoría de
edad según sea el caso para un
nombre específico.
Nota B:
nombre, edad: son variables.
 : condicional.
 : operador relacional.
“ ” : cadena de caracteres.
edad18
si
no
INICIO
FIN
Leer nombre,
edad
Escribir nombre “es
menor de edad”
Escribir nombre “es
mayor de edad”
Nota B
• Condicional: si la condición edad18, es verdadera
sigue la dirección del si, pero sino (si es falsa) se sigue la
secuencia del no.
• Operadores relacionales: Describen una relación entre
dos valores (los compara); se usan para expresar
condiciones. El resultado de una expresión relacional es
un valor tipo lógico o booleano (lo que se conoce como
un valor de verdad), que puede ser verdadero o falso. Los
operadores relacionales son:  Menor que,  Mayor que,
 Igual que,  Menor o igual que,  Mayor o igual que,
 Distinto a
• Cadena de caracteres: es una secuencia de caracteres
(palabra o frase, compuesta por varios caracteres
alfanuméricos), para indicar qué algún valor es una
cadena, el valor se escribe entre comillas dobles (“”).
Estructuras Algorítmicas
• Estructura Condicional Múltiple:
Se presenta cuando existen más de dos elecciones
(alternativas) posibles. Si el número de alternativas es
grande puede plantear serios problemas de escritura del
algoritmo y naturalmente de legibilidad.
La estructura de decisión múltiple evaluará una
expresión que podrá tomar n valores distintos 1,2,3...n.
Según se elija uno de estos valores en la condición, se
realizará una de las n acciones, o lo que es igual, el flujo
del algoritmo seguirá un determinado camino entre
los n posibles.
Condición
Acción 3
Acción 1 Acción 2 Acción … Acción n
1 2 3 … n
Estructuras Algorítmicas
• Estructura Condicional Múltiple:
Ejemplo #3
Se desea diseñar un algoritmo que escriba los nombres de los días
de la semana en función del valor de una variable dia introducida
por teclado. Los días de la semana son 7; por consiguiente, el rango
de valores de dia será 1..7, y caso de que dia tome un valor fuera de
este rango se deberá producir un mensaje de error advirtiendo la
situación anómala.
Nota C:
 : condicional múltiple.
o : operador lógico, si una de
las condiciones es verdadera
se escribe Error.
según
sea dia
dia1 o dia7
1
INICIO
Leer dia
Escribir “Lunes” Escribir “Martes” … Escribir “Domingo” Escribir “Error”
2 7
…
FIN
Nota C
• Condicional múltiple: la dirección del algoritmo, del
ejemplo #3, lo define el valor que se le asigne a la
variable dia, si el valor de entrada, es 2, el algoritmo
escribirá (salida): Martes.
• Operadores lógicos: Describen una relación entre dos
expresiones; sin embargo, se usan para formar
combinaciones de expresiones lógicas más complejas.
Para evaluar estas expresiones es importante conocer la
tabla de verdad. Los operadores lógicos son: o (OR)
indica que solo una de las dos condiciones debe ser
verdadera para que la respuesta sea verdadera, y (AND)
indica que las dos condiciones deben ser verdaderas
para que el resultado sea verdadero, no (NOT) indica que
la condición debe ser falsa para que la respuesta sea
verdadera. En el ejemplo #3, si la variable dia asume
el valor 9, el algoritmo escribirá (salida): Error
Estructuras Algorítmicas
• Estructuras Repetitivas:
La repetición de una acción (una o varias instrucciones) se
lleva a cabo mientras se cumpla cierta condición; para que la
acción termine, la acción misma debe modificar la(s)
variable(s) de control que interviene(n) en la condición.
Las estructuras que repiten una secuencia de instrucciones
un número determinado de veces se denominan bucles, y se
denomina iteración al hecho de repetir la ejecución de una
secuencia de acciones. Las cuales se repite una cantidad
definida o indefinida (pero finita) de veces, mientras que la
condición que se evalúe sea verdadera.
Dicha condición puede no estar predeterminada como
en los bucles Mientras y Hacer-Mientras; o predefinida
como en el ciclo Desde (o Para);
Estructuras Algorítmicas
• Estructura Repetitiva
Mientras:
Es aquélla en que el cuerpo
del bucle se repite mientras
se cumple una
determinada condición.
Su representación gráfica
es:
Condición
Acción o
bloque de acciones
si
no
Estructuras Algorítmicas
• Estructura Repetitiva Mientras:
Ejemplo #4
Contar los números enteros
positivos introducidos por teclado.
Se consideran dos variables
enteras num y cont (contará el
número de enteros positivos).
Se supone que se leen números
positivos y se detiene el bucle
cuando se lee un número negativo
o cero.
num0
INICIO
cont0
Leer num
cont
Leer num
si
no
Escribir cont
FIN
Nota D:
 : incremento.
cont : es un contador.
Nota D
• Operadores de incremento y decremento: son
operadores unarios que agregan o sustraen uno de sus
operandos, respectivamente. El operador de incremento
() aumenta el valor de su operando en 1, mientras que
el de decremento (--) disminuye el valor de su operando
en 1. Tanto  como -- pueden aplicarse a variables,
pero no a constantes o a expresiones.
El incremento de un contador también se puede hacer
mediante la operación contcont1
El decremento de un contador también se puede hacer
mediante la operación contcont1
• Contador: es una variable cuyo valor se incrementa o
decrementa en una cantidad constante cada vez que se
produce un determinado suceso o acción. Los
contadores se utilizan con la finalidad de contar
sucesos o acciones internas de un bucle.
Estructuras Algorítmicas
• Estructura Repetitiva
Hacer-Mientras:
Esta estructura permite
especificar que se repita una
acción en tanto cierta
condición sea verdadera;
cuando ésta es falsa se sale
del ciclo. La condición la
revisa después de la acción o
bloque de acciones. Esto
asegura que se ejecute el
bucle al menos una vez.
Su representación gráfica es:
Condición
Acción o
bloque de acciones
si
no
Estructuras Algorítmicas
• Estructura Repetitiva
Hacer-Mientras:
Ejemplo #5
Calcular la tabla de
multiplicar de un número
cualquiera. Imprimir el solo
el producto.
Nota D:
producto : variable que guarda en cada
iteración el valor de la multiplicación del
numero introducido por el valor que asuma
el contador.
cont10
INICIO
cont0
Leer num
si
no
FIN
cont
productonum*cont
Escribir producto
Estructuras Algorítmicas
• Estructura Repetitiva Desde (o
Para):
En muchas ocasiones se conoce de
antemano el número de veces que se
desean ejecutar las acciones de un
bucle.
En estos casos en el que el número
de iteraciones es fija, se debe usar la
estructura Desde o Para.
La estructura Desde ejecuta las
acciones del cuerpo del bucle un
número específico de veces y de
modo automático controla el número
de iteraciones o pasos a través del
cuerpo del bucle.
Su representación gráfica es:
Variable índice

Valor final
Acción o
bloque de acciones
si
no
Calcular valor
inicial y valor final
Fijar la variable
índice al valor
inicial
Incrementar el valor
de la variable índice
Estructuras Algorítmicas
• Estructura Repetitiva Desde (o
Para):
Ejemplo #6
Escribir los números del 1 al 100
de forma ascendente.
cont100
Escribir cont
si
no
INICIO
cont1
cont
FIN
Nota E:
cont : variable índice,
1 : valor inicial y
100 : valor final.
Ejercicios Resueltos
1)Calcular el promedio de notas de un estudiante, la lectura de
notas se detendrá cuando el valor sea -1.
notacent
INICIO
Leer nota
sumasumanota
si
no
Escribir promedio
FIN
suma0,
cont0,
cent -1
promediosuma/cont
cont
Traza:
suma cont cent nota promedio
0 0 - 1 6
6 1 8
14 2 7
21 3 -1 7
Observación:
cent : se usa como un centinela y
suma : se usa como un acumulador.
Ejercicios Resueltos
2)Escribir el mayor valor de un conjunto de n números dados.
Traza:
mayor cont n_num valor
0 1 3 6
6 2 5
3 7
7 4
Observación:
Bucle anidado: estructura
condicional simple dentro
de una estructura repetitiva
mientras
contn_num
INICIO
Leer n_num
Leer valor
si
no
Escribir mayor
FIN
mayor0
cont1
mayorvalor
valormayor
si
no
cont
Ejercicios Resueltos
3)Leer 8 números y escribir cuántos son positivos, cuántos
negativos y cuántos con cero. Traza:
i pos neg cer num
1 0 0 0 3
2 1 0
3 1 8
4 2 5
5 3 -4
6 1 0
7 2 1
8 4 0
9 3
Observación:
Bucle anidado: estructura
condicional simple dentro de
otra estructura condicional
simple y esta dentro de una
estructura repetitiva desde
INICIO
neg
Leer num
i8
si
no
Escribir
pos “son positivos”
neg “son negativos”
cer “son ceros”
FIN
i1, pos0,
neg0, cer0
cer
num0
no
no
i
num0
si
pos
si
Actividades
• Investigar y realizar un cuadro descriptivo con los
demás símbolos empleados para el diseño de los
diagramas de flujos.
• Investigar y dar ejemplos de otros tipos de diagramas de
flujos.
• Investigar y estudiar el significado de los términos:
expresiones lógicas o booleanas, bloque de acciones,
cuerpo del bucle, iteración, tabla de verdad (and, or y
not).
• Realizar las trazas de los ejemplos del #1 al #6.
• Investigar la funcionabilidad de un centinela y un
acumulador.
• Investigar que es un ciclo o bucle anidado.
• Resolver los ejercicios propuestos.
Ejercicios Propuestos
• Resolver los siguientes enunciados a través de diagramas
de flujos y realizar la traza de cada algoritmo:
1.Escribir los números pares entre 1 y 10.
2.Escribir el menor valor de un conjunto de n números dados.
3.Escribir la suma de los números impares desde 1 hasta un
número n dado.
4.Escribir los números del 1 al 10 en formato descendente
5.Escribir el promedio de notas un alumno que tiene 7 evaluaciones.
6.Una persona desea invertir su dinero en un banco, el cual le
otorga un 2% de interés mensual. Escribir la cantidad de dinero
que tendrá al cabo de un año si la ganancia de cada mes es
reinvertida.
Referencias
Corona, M. y Ancona M. 2011. Diseño de algoritmos y su
codificación en lenguaje C. McGraw-Hill. México.
Joyanes, L. y Zahonero, I. 2002. Programación en C.
Metodología, algoritmos y estructura de datos.
McGraw-Hill.
Joyanes, L. 2008. Fundamentos de Programación,
Algoritmos, Estructura de Datos y Objetos. Cuarta
edición. McGraw-Hill.
López, J. Algoritmos y Programación. 2009. Segunda
Edición. Eduteka.

Más contenido relacionado

La actualidad más candente

Ejemplos de vectores en java
Ejemplos de vectores en javaEjemplos de vectores en java
Ejemplos de vectores en javaloko_92
 
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio cultural
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio culturalCuestionario de la unidad 3 de desarrollo sustentable escenario socio cultural
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio culturalGenesis Acosta
 
Tarea de Pseudocodigo
Tarea de PseudocodigoTarea de Pseudocodigo
Tarea de Pseudocodigobenja2626
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Operaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema HexadecimalOperaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema Hexadecimalpafalconi
 
Técnica de resolución de problemas
Técnica de resolución de problemasTécnica de resolución de problemas
Técnica de resolución de problemaswladimirclipper
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoBrivé Soluciones
 
Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraBrivé Soluciones
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programazeta2015
 
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos linuxsanchez
 
glosario industrial
glosario industrialglosario industrial
glosario industrialJOBAMHA
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAJoseph Mendoza
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Teoría de sistemas (INGENIERIA-SISTEMAS)
Teoría de sistemas (INGENIERIA-SISTEMAS)Teoría de sistemas (INGENIERIA-SISTEMAS)
Teoría de sistemas (INGENIERIA-SISTEMAS)jesus udiz gamboa
 
Proceso de análisis
Proceso de análisisProceso de análisis
Proceso de análisisJesus Peralta
 

La actualidad más candente (20)

Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
 
Taller
TallerTaller
Taller
 
Ejemplos de vectores en java
Ejemplos de vectores en javaEjemplos de vectores en java
Ejemplos de vectores en java
 
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio cultural
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio culturalCuestionario de la unidad 3 de desarrollo sustentable escenario socio cultural
Cuestionario de la unidad 3 de desarrollo sustentable escenario socio cultural
 
Tarea de Pseudocodigo
Tarea de PseudocodigoTarea de Pseudocodigo
Tarea de Pseudocodigo
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Operaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema HexadecimalOperaciones Básicas con el Sistema Hexadecimal
Operaciones Básicas con el Sistema Hexadecimal
 
Técnica de resolución de problemas
Técnica de resolución de problemasTécnica de resolución de problemas
Técnica de resolución de problemas
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Resolucion De Problemas Con Computadora
Resolucion De Problemas Con ComputadoraResolucion De Problemas Con Computadora
Resolucion De Problemas Con Computadora
 
Ejercicio de diagrama de flujo
Ejercicio de diagrama de flujoEjercicio de diagrama de flujo
Ejercicio de diagrama 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
 
Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos Análisis y Diseño de Algoritmos
Análisis y Diseño de Algoritmos
 
glosario industrial
glosario industrialglosario industrial
glosario industrial
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICA
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Deber 01
Deber 01Deber 01
Deber 01
 
Teoría de sistemas (INGENIERIA-SISTEMAS)
Teoría de sistemas (INGENIERIA-SISTEMAS)Teoría de sistemas (INGENIERIA-SISTEMAS)
Teoría de sistemas (INGENIERIA-SISTEMAS)
 
Ejercicios de programacion resueltos
Ejercicios de programacion resueltosEjercicios de programacion resueltos
Ejercicios de programacion resueltos
 
Proceso de análisis
Proceso de análisisProceso de análisis
Proceso de análisis
 

Similar a Tema 1.2.2.- Diagramas de Flujo

Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmicopaty_cursocompu
 
clase diagrama de flujo
clase diagrama de flujoclase diagrama de flujo
clase diagrama de flujonelson0007
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Algoritmos y digramas de flujo
Algoritmos y digramas de flujoAlgoritmos y digramas de flujo
Algoritmos y digramas de flujoAnaIllescas4
 
DIAGRAMAS-DE-FLUJO.pdf
DIAGRAMAS-DE-FLUJO.pdfDIAGRAMAS-DE-FLUJO.pdf
DIAGRAMAS-DE-FLUJO.pdfHugo Acosta
 
01 diagramas de flujo
01 diagramas de flujo01 diagramas de flujo
01 diagramas de flujoantheresc
 
01 diagramas de flujo
01 diagramas de flujo01 diagramas de flujo
01 diagramas de flujoantheresc
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujoAlex Rivera
 
Elaboración de algoritmo y diagrama de flujo.
Elaboración de algoritmo y diagrama de flujo.Elaboración de algoritmo y diagrama de flujo.
Elaboración de algoritmo y diagrama de flujo.DENIRAMIREZANDRADE
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmosUNEG
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaGabrielaSanchez240
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaGabrielaSanchez240
 

Similar a Tema 1.2.2.- Diagramas de Flujo (20)

Razonamiento algoritmico
Razonamiento algoritmicoRazonamiento algoritmico
Razonamiento algoritmico
 
clase diagrama de flujo
clase diagrama de flujoclase diagrama de flujo
clase diagrama de flujo
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Dfd
DfdDfd
Dfd
 
Diagrama
DiagramaDiagrama
Diagrama
 
Algoritmos y digramas de flujo
Algoritmos y digramas de flujoAlgoritmos y digramas de flujo
Algoritmos y digramas de flujo
 
DIAGRAMAS-DE-FLUJO.pdf
DIAGRAMAS-DE-FLUJO.pdfDIAGRAMAS-DE-FLUJO.pdf
DIAGRAMAS-DE-FLUJO.pdf
 
01 diagramas de flujo
01 diagramas de flujo01 diagramas de flujo
01 diagramas de flujo
 
01 diagramas de flujo
01 diagramas de flujo01 diagramas de flujo
01 diagramas de flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Unidad II
Unidad IIUnidad II
Unidad II
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Elaboración de algoritmo y diagrama de flujo.
Elaboración de algoritmo y diagrama de flujo.Elaboración de algoritmo y diagrama de flujo.
Elaboración de algoritmo y diagrama de flujo.
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmos
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
Naturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnologíaNaturaleza y evolución de la tecnología
Naturaleza y evolución de la tecnología
 
algoritmos3.ppt
algoritmos3.pptalgoritmos3.ppt
algoritmos3.ppt
 

Más de Yenny Salazar

Unidad 4 Metodología para el Análisis y Planteamiento de Problemas
Unidad 4 Metodología para el Análisis y Planteamiento de ProblemasUnidad 4 Metodología para el Análisis y Planteamiento de Problemas
Unidad 4 Metodología para el Análisis y Planteamiento de ProblemasYenny Salazar
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y ExpresionesYenny Salazar
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y ConstantesYenny Salazar
 
2.3.- Documentación
2.3.- Documentación2.3.- Documentación
2.3.- DocumentaciónYenny Salazar
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- ProgramaciónYenny Salazar
 
Tema 2.2.- Estilos de Programación
Tema 2.2.- Estilos de ProgramaciónTema 2.2.- Estilos de Programación
Tema 2.2.- Estilos de ProgramaciónYenny Salazar
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadYenny Salazar
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- PseudocódigoYenny Salazar
 
1.1. Conceptos básicos de Algorítmica y Programación
1.1. Conceptos básicos de Algorítmica y Programación1.1. Conceptos básicos de Algorítmica y Programación
1.1. Conceptos básicos de Algorítmica y ProgramaciónYenny Salazar
 
Principios Fundamentales para el Proceso de la toma de decisiones
Principios Fundamentales para el Proceso de la toma de decisionesPrincipios Fundamentales para el Proceso de la toma de decisiones
Principios Fundamentales para el Proceso de la toma de decisionesYenny Salazar
 

Más de Yenny Salazar (11)

Unidad 4 Metodología para el Análisis y Planteamiento de Problemas
Unidad 4 Metodología para el Análisis y Planteamiento de ProblemasUnidad 4 Metodología para el Análisis y Planteamiento de Problemas
Unidad 4 Metodología para el Análisis y Planteamiento de Problemas
 
3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
3.1.- Tipo de Datos
3.1.- Tipo de Datos3.1.- Tipo de Datos
3.1.- Tipo de Datos
 
2.3.- Documentación
2.3.- Documentación2.3.- Documentación
2.3.- Documentación
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
Tema 2.2.- Estilos de Programación
Tema 2.2.- Estilos de ProgramaciónTema 2.2.- Estilos de Programación
Tema 2.2.- Estilos de Programación
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de Calidad
 
1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo1.2.3.- Pseudocódigo
1.2.3.- Pseudocódigo
 
1.1. Conceptos básicos de Algorítmica y Programación
1.1. Conceptos básicos de Algorítmica y Programación1.1. Conceptos básicos de Algorítmica y Programación
1.1. Conceptos básicos de Algorítmica y Programación
 
Principios Fundamentales para el Proceso de la toma de decisiones
Principios Fundamentales para el Proceso de la toma de decisionesPrincipios Fundamentales para el Proceso de la toma de decisiones
Principios Fundamentales para el Proceso de la toma de decisiones
 

Tema 1.2.2.- Diagramas de Flujo

  • 1. ALGORÍTMICA Y PROGRAMACIÓN Unidad 1: Algoritmos y Programas 1.2.- Algoritmos 1.2.2.- Diagramas de Flujo Identificar y utilizar técnicas para la resolución de problemas a través de la formulación algoritmos empleando diagramas de flujo Profa. Yenny Salazar
  • 2. Contenido • Definición • Características • Simbología • Tipos –Vertical –Horizontal –Panorámico • Estructuras –Secuencial –Condicional (o Selectiva) • Simple • Múltiple –Repetitiva • Mientras • Hacer-Mientras • Desde (o Para) • Actividades • Ejercicios propuestos
  • 3. Los Diagramas de Flujo • Son la representación gráfica de un algoritmo, mostrando esquemáticamente los procesos a seguir para alcanzar la solución de un problema. Dicho esquema se basa en la utilización de diversos símbolos relacionados entre sí (que indican diferentes procesos) para representar operaciones específicas; estos se conectan por medio de flechas para indicar el orden en que se deben ejecutar las instrucciones para obtener los resultados deseados. • Si están completo y construido correctamente, su traducción a un Lenguaje de Programación es relativamente simple y directa. Pues estos facilitan la manera de representar visualmente el flujo de datos por medio de un sistema de tratamiento de información, realizando un análisis de los procesos requeridos para realizar un programa. • Usan símbolos casi universales, para poder ser comprensibles; los cuales han sido reglamentados por el Instituto Nacional de Normalización Estadounidense (ANSI, American National Standards Institute)
  • 4. Características de los diagramas de flujo • Todo diagrama debe tener un inicio y un fin. • No se especifica la declaración de variables. • Se deben usar solamente líneas de flujo horizontales y/o verticales. • Se debe evitar el cruce de líneas utilizando los conectores. • Se deben usar conectores sólo cuando sea necesario. • No deben quedar líneas de flujo sin conectar. • Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. • Se debe evitar la terminología de un lenguaje de programación o máquina. • Los comentarios se deben utilizar ya sea al margen o mediante el símbolo gráfico comentarios para que éstos sean entendibles por cualquier persona que lo consulte. • Si el diagrama abarca más de una hoja es conveniente enumerarlo e identificar de dónde viene y a dónde se dirige. • Sólo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida.
  • 5. Símbolos más Utilizados SÍMBOLO DESCRIPCIÓN Inicio y final del diagrama de flujo. Puede representar también una parada o interrupción programada. Entrada (leer) y salida de datos (imprimir). Proceso. Indica asignación de un valor en memoria, la ejecución de una operación aritmética y/o cualquier tipo de operación que pueda originar cambió de valor. Símbolo de decisión simple. Indica la realización de una comparación de 2 valores. En función del resultado se determina cuál de las 2 alternativas seguir. Símbolo de decisión múltiple. Indica la realización de una comparación de varios valores. En función del resultado se determina cuál de las n alternativas seguir. Documento Impreso. Un documento o informe impreso.
  • 6. Símbolos más Utilizados SÍMBOLO DESCRIPCIÓN Conector. Sirve para enlazar cualquier parte del diagrama, a través de un conector de salida y un conector de entrada. Conector fuera de página. Sirve para enlazar un diagrama de una página a otra. Líneas de flujo o dirección. Indican la secuencia en que se realizan las operaciones. Anotación. Agrega información adicional sobre un proceso o sub-proceso Entrada Manual. Representa un paso en el que se pide al usuario que introduzca la información manualmente. Base de Datos. Indica una lista de información con una estructura estándar que permite buscar y ordenar.
  • 7. Tipos de Diagramas de Flujo • Formato vertical: El flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. INICIO FIN URL Leer artículo ¿Es la información buscada? Analizar la información Redactar las conclusiones Trabajo Entregar el trabajo si no
  • 8. Tipos de Diagramas de Flujo • Formato horizontal: El flujo o la secuencia de las operaciones, va de izquierda a derecha. INICIO FIN Encender el reproductor Seleccionar la carpeta deseada Seleccionar música deseada Presionar Play ¿Cambiar música? Seguir escuchado ¿Terminar? Apagar el reproductor si no si no
  • 9. Tipos de Diagramas de Flujo • Formato panorámico: El proceso entero está representado en un solo diagrama, tanto en sentido vertical como horizontal, permitiendo distintas acciones simultáneas. INICIO FIN Entrar en la zapatería ¿Hay de tú talla? Comprar los zapatos Escoger un modelo Salir de la zapatería si no
  • 10. Estructuras Algorítmicas • Estructura Secuencial: Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. La estructura secuencial tiene una entrada y una salida. Su representación gráfica es la siguiente: INICIO FIN Instrucción 1 … Instrucción 2 Instrucción n
  • 11. Estructuras Algorítmicas • Estructura Secuencial Ejemplo #1 Calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la hora de trabajo y considerando unos descuentos fijos al salario bruto en concepto de impuestos (20%). INICIO FIN Leer nombre, horas, valor impuesto0.2*salario_bruto salario_brutohoras*valor salario_netosalario_bruto-impuesto Escribir nombre, salario_bruto, Salario_neto Nota A: Leer, Escribir: funciones de E/S. nombre, horas, valor, salario_bruto, impuesto y salario_neto: son variables.  : es el operador de asignación. * y – : son operadores aritméticos: multiplicación y resta, respectivamente.
  • 12. Nota A • Funciones de Entrada/Salida (E/S): palabras que se reservan para indicar la entrada/salida estándar del sistema, generalmente: leer (del teclado-entrada) y escribir (por pantalla-salida). • Variable: es un espacio de la memoria del computador que permite almacenar información de un determinado tipo de dato. Tiene la capacidad de cambiar su valor mientras se desarrolla la ejecución del algoritmo. • Operación de Asignación (): se encargan de asignarle a la variable (que se encuentra al lado izquierdo del ) el valor (dato) que resulta de una expresión (operación) matemática o el valor de otra variable (que se encuentre del lado derecho del ). • Operadores aritméticos: toman los valores numéricos (literales o variables) como sus operando y devuelve un solo valor numérico. Los operadores aritméticos más usados son: + suma, - resta, * multiplicación, / división, mod modulo, ++ incremento, -- decremento.
  • 13. Estructuras Algorítmicas • Estructura Condicional (o Selectiva): La especificación formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripción más complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un número de posibles alternativas resultantes de la evaluación de una determinada condición. Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición y en función del resultado la misma, se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. Las estructuras selectivas o alternativas pueden ser simples o múltiples y se representan con los siguientes símbolos: Simples Múltiples si no
  • 14. Estructuras Algorítmicas • Estructura Condicional Simple: La estructura alternativa simple ejecuta una acción o bloque de acciones, cuando se cumple una determinada condición lógica. La selección (si-no) evalúa la condición, si la condición es verdadera (si) entonces ejecuta la acción (o bloque de acciones). Si la condición es falsa (no), salta la acción y continua con la siguiente estructura. Condición Acción o bloque de acciones si no
  • 15. Estructuras Algorítmicas • Estructura Condicional Simple: Ejemplo #2 Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayoría o minoría de edad según sea el caso para un nombre específico. Nota B: nombre, edad: son variables.  : condicional.  : operador relacional. “ ” : cadena de caracteres. edad18 si no INICIO FIN Leer nombre, edad Escribir nombre “es menor de edad” Escribir nombre “es mayor de edad”
  • 16. Nota B • Condicional: si la condición edad18, es verdadera sigue la dirección del si, pero sino (si es falsa) se sigue la secuencia del no. • Operadores relacionales: Describen una relación entre dos valores (los compara); se usan para expresar condiciones. El resultado de una expresión relacional es un valor tipo lógico o booleano (lo que se conoce como un valor de verdad), que puede ser verdadero o falso. Los operadores relacionales son:  Menor que,  Mayor que,  Igual que,  Menor o igual que,  Mayor o igual que,  Distinto a • Cadena de caracteres: es una secuencia de caracteres (palabra o frase, compuesta por varios caracteres alfanuméricos), para indicar qué algún valor es una cadena, el valor se escribe entre comillas dobles (“”).
  • 17. Estructuras Algorítmicas • Estructura Condicional Múltiple: Se presenta cuando existen más de dos elecciones (alternativas) posibles. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos 1,2,3...n. Según se elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles. Condición Acción 3 Acción 1 Acción 2 Acción … Acción n 1 2 3 … n
  • 18. Estructuras Algorítmicas • Estructura Condicional Múltiple: Ejemplo #3 Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable dia introducida por teclado. Los días de la semana son 7; por consiguiente, el rango de valores de dia será 1..7, y caso de que dia tome un valor fuera de este rango se deberá producir un mensaje de error advirtiendo la situación anómala. Nota C:  : condicional múltiple. o : operador lógico, si una de las condiciones es verdadera se escribe Error. según sea dia dia1 o dia7 1 INICIO Leer dia Escribir “Lunes” Escribir “Martes” … Escribir “Domingo” Escribir “Error” 2 7 … FIN
  • 19. Nota C • Condicional múltiple: la dirección del algoritmo, del ejemplo #3, lo define el valor que se le asigne a la variable dia, si el valor de entrada, es 2, el algoritmo escribirá (salida): Martes. • Operadores lógicos: Describen una relación entre dos expresiones; sin embargo, se usan para formar combinaciones de expresiones lógicas más complejas. Para evaluar estas expresiones es importante conocer la tabla de verdad. Los operadores lógicos son: o (OR) indica que solo una de las dos condiciones debe ser verdadera para que la respuesta sea verdadera, y (AND) indica que las dos condiciones deben ser verdaderas para que el resultado sea verdadero, no (NOT) indica que la condición debe ser falsa para que la respuesta sea verdadera. En el ejemplo #3, si la variable dia asume el valor 9, el algoritmo escribirá (salida): Error
  • 20. Estructuras Algorítmicas • Estructuras Repetitivas: La repetición de una acción (una o varias instrucciones) se lleva a cabo mientras se cumpla cierta condición; para que la acción termine, la acción misma debe modificar la(s) variable(s) de control que interviene(n) en la condición. Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan bucles, y se denomina iteración al hecho de repetir la ejecución de una secuencia de acciones. Las cuales se repite una cantidad definida o indefinida (pero finita) de veces, mientras que la condición que se evalúe sea verdadera. Dicha condición puede no estar predeterminada como en los bucles Mientras y Hacer-Mientras; o predefinida como en el ciclo Desde (o Para);
  • 21. Estructuras Algorítmicas • Estructura Repetitiva Mientras: Es aquélla en que el cuerpo del bucle se repite mientras se cumple una determinada condición. Su representación gráfica es: Condición Acción o bloque de acciones si no
  • 22. Estructuras Algorítmicas • Estructura Repetitiva Mientras: Ejemplo #4 Contar los números enteros positivos introducidos por teclado. Se consideran dos variables enteras num y cont (contará el número de enteros positivos). Se supone que se leen números positivos y se detiene el bucle cuando se lee un número negativo o cero. num0 INICIO cont0 Leer num cont Leer num si no Escribir cont FIN Nota D:  : incremento. cont : es un contador.
  • 23. Nota D • Operadores de incremento y decremento: son operadores unarios que agregan o sustraen uno de sus operandos, respectivamente. El operador de incremento () aumenta el valor de su operando en 1, mientras que el de decremento (--) disminuye el valor de su operando en 1. Tanto  como -- pueden aplicarse a variables, pero no a constantes o a expresiones. El incremento de un contador también se puede hacer mediante la operación contcont1 El decremento de un contador también se puede hacer mediante la operación contcont1 • Contador: es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle.
  • 24. Estructuras Algorítmicas • Estructura Repetitiva Hacer-Mientras: Esta estructura permite especificar que se repita una acción en tanto cierta condición sea verdadera; cuando ésta es falsa se sale del ciclo. La condición la revisa después de la acción o bloque de acciones. Esto asegura que se ejecute el bucle al menos una vez. Su representación gráfica es: Condición Acción o bloque de acciones si no
  • 25. Estructuras Algorítmicas • Estructura Repetitiva Hacer-Mientras: Ejemplo #5 Calcular la tabla de multiplicar de un número cualquiera. Imprimir el solo el producto. Nota D: producto : variable que guarda en cada iteración el valor de la multiplicación del numero introducido por el valor que asuma el contador. cont10 INICIO cont0 Leer num si no FIN cont productonum*cont Escribir producto
  • 26. Estructuras Algorítmicas • Estructura Repetitiva Desde (o Para): En muchas ocasiones se conoce de antemano el número de veces que se desean ejecutar las acciones de un bucle. En estos casos en el que el número de iteraciones es fija, se debe usar la estructura Desde o Para. La estructura Desde ejecuta las acciones del cuerpo del bucle un número específico de veces y de modo automático controla el número de iteraciones o pasos a través del cuerpo del bucle. Su representación gráfica es: Variable índice  Valor final Acción o bloque de acciones si no Calcular valor inicial y valor final Fijar la variable índice al valor inicial Incrementar el valor de la variable índice
  • 27. Estructuras Algorítmicas • Estructura Repetitiva Desde (o Para): Ejemplo #6 Escribir los números del 1 al 100 de forma ascendente. cont100 Escribir cont si no INICIO cont1 cont FIN Nota E: cont : variable índice, 1 : valor inicial y 100 : valor final.
  • 28. Ejercicios Resueltos 1)Calcular el promedio de notas de un estudiante, la lectura de notas se detendrá cuando el valor sea -1. notacent INICIO Leer nota sumasumanota si no Escribir promedio FIN suma0, cont0, cent -1 promediosuma/cont cont Traza: suma cont cent nota promedio 0 0 - 1 6 6 1 8 14 2 7 21 3 -1 7 Observación: cent : se usa como un centinela y suma : se usa como un acumulador.
  • 29. Ejercicios Resueltos 2)Escribir el mayor valor de un conjunto de n números dados. Traza: mayor cont n_num valor 0 1 3 6 6 2 5 3 7 7 4 Observación: Bucle anidado: estructura condicional simple dentro de una estructura repetitiva mientras contn_num INICIO Leer n_num Leer valor si no Escribir mayor FIN mayor0 cont1 mayorvalor valormayor si no cont
  • 30. Ejercicios Resueltos 3)Leer 8 números y escribir cuántos son positivos, cuántos negativos y cuántos con cero. Traza: i pos neg cer num 1 0 0 0 3 2 1 0 3 1 8 4 2 5 5 3 -4 6 1 0 7 2 1 8 4 0 9 3 Observación: Bucle anidado: estructura condicional simple dentro de otra estructura condicional simple y esta dentro de una estructura repetitiva desde INICIO neg Leer num i8 si no Escribir pos “son positivos” neg “son negativos” cer “son ceros” FIN i1, pos0, neg0, cer0 cer num0 no no i num0 si pos si
  • 31. Actividades • Investigar y realizar un cuadro descriptivo con los demás símbolos empleados para el diseño de los diagramas de flujos. • Investigar y dar ejemplos de otros tipos de diagramas de flujos. • Investigar y estudiar el significado de los términos: expresiones lógicas o booleanas, bloque de acciones, cuerpo del bucle, iteración, tabla de verdad (and, or y not). • Realizar las trazas de los ejemplos del #1 al #6. • Investigar la funcionabilidad de un centinela y un acumulador. • Investigar que es un ciclo o bucle anidado. • Resolver los ejercicios propuestos.
  • 32. Ejercicios Propuestos • Resolver los siguientes enunciados a través de diagramas de flujos y realizar la traza de cada algoritmo: 1.Escribir los números pares entre 1 y 10. 2.Escribir el menor valor de un conjunto de n números dados. 3.Escribir la suma de los números impares desde 1 hasta un número n dado. 4.Escribir los números del 1 al 10 en formato descendente 5.Escribir el promedio de notas un alumno que tiene 7 evaluaciones. 6.Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés mensual. Escribir la cantidad de dinero que tendrá al cabo de un año si la ganancia de cada mes es reinvertida.
  • 33. Referencias Corona, M. y Ancona M. 2011. Diseño de algoritmos y su codificación en lenguaje C. McGraw-Hill. México. Joyanes, L. y Zahonero, I. 2002. Programación en C. Metodología, algoritmos y estructura de datos. McGraw-Hill. Joyanes, L. 2008. Fundamentos de Programación, Algoritmos, Estructura de Datos y Objetos. Cuarta edición. McGraw-Hill. López, J. Algoritmos y Programación. 2009. Segunda Edición. Eduteka.