Upload
martin-luque
View
229
Download
0
Embed Size (px)
Citation preview
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
1/12
4/5/20
FUNDAMENTOS DE INFORMTICADiagramas de FlujoProfesora Dra. Ing. Qumica Marta Basualdo
2do. Ingeniera Qumica
1Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de Flujo
Algoritmos
2
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
2/12
4/5/20
Diagramas de flujo - Algoritmos3
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Es un conjunto de operaciones y procedimientos que deben seguirse pararesolver un problema.
El lenguaje algortmico es aquel, por medio del cual, se realiza un anlisispreviodel problema a resolver, para encontrar un mtodo de resolucin.
El diseo del algoritmo es el ncleo para poder resolver el problema
planteado. Luego, a partir del algoritmo, es posible elaborar un programa.
Definicin de Algoritmos
Problema Diseo del Algoritmo Programa
Diagramas de flujo - Algoritmos4
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Un diagrama de flujo es una representacin grfica que ilustra lasecuencia de las operaciones que se realizarn para conseguir la solucinde un problema.
Los diagramas de flujo se dibujan generalmente antes de comenzar aprogramarel cdigo frente a la computadora.
Desempean un papel vital en la programacin de un problema yfacilitanla comprensin de problemas complicadosy sobre todomuy largos.
Una vez que se dibuja el diagrama de flujo, llega a ser fcil escribir elprogramaen cualquier lenguaje de programacin.
Permitenexplicar mejorel programa a otros.
Por lo tanto, est correcto decir que un diagrama de flujo es una necesidadpara la documentacin mejor de un programa complejo.
Definicin de Diagramas de Flujo
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
3/12
4/5/20
Diagramas de flujo Smbolos5
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo Reglas6
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda aderecha.
2. Los smbolos se unen conlneas, las cuales tienen en la punta una flecha que indica ladireccin que fluye la informacin procesos, se deben de utilizar solamente lneas deflujo horizontal o verticales(nunca diagonales).
3. Se debeevitar el cruce de lneas, para lo cual se quisiera separar el flujo del diagrama aun sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuentaque solo se van a utilizar conectores cuando sea estrictamente necesario.
4. No deben quedar lneas de flujosin conectar.5. Todo textoescrito dentro de un smbolo debe ser legible, preciso, evitando el uso de
muchas palabras.
6. Todos los smbolos pueden tenerms de una lnea de entrada, a excepcin del smbolofinal.
7. Solo los smbolos de decisin pueden y deben tener ms de una lnea de flujo de salida.
Reglas para crear Diagramas de Flujo
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
4/12
4/5/20
Diagramas de flujo Ejemplos7
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disear un algoritmo que pida 3 nmeros por teclado y calcule la suma y el producto de losnmeros.
Ejemplo n 1
Inicio
a,b,c
Suma = a + b + cProducto= a * b * c
SumaProduct
Fino
Diagramas de flujo Ejemplos8
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disee un algoritmo que determine el porcentaje de varones y de mujeres que hay en unsaln de clases.
Ejemplo n 2
Inicio
V,M
Porc_V = (V/(V+M))*100Porc_M = (M/(V+M))*100
Porc_VPorc_M
Fin
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
5/12
4/5/20
Diagramas de flujo Ejemplos9
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disee un algoritmo que pida por teclado una temperatura en C, la convierta a K. Se pideque muestre la temperatura en K.
Ejemplo n 3
Inicio
t_C
T_K = t_C + 273
T_K
Fin
Diagramas de flujo Ejemplos10
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disee un algoritmo que exprese la capacidad de un disco duro en megabytes, kilobytes ybytes, conociendo la capacidad del disco en gigabytes. Considere que: 1 kilobyte = 1024bytes, 1 megabyte = 1024 kilobyte, 1 gigabyte = 1024 megabytes.
Ejemplo n 4
Inicio
X_GB
X_MB = 1024 * X_GBX_KB = 1024 * X_MBX_B = 1024 * X_KB
X_MB; X_KB;X_B
Fin
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
6/12
4/5/20
Diagramas de flujo Ejemplos11
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
En una playa de estacionamiento cobran $ 2.5 por hora. Disee un algoritmo que determinecuanto debe pagar un cliente por el estacionamiento de su vehculo, conociendo el tiempo deestacionamiento en horas y los minutos.
Ejemplo n 5
Diagramas de flujo Ejemplos12
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disear un algoritmo para cambiar el signo de un nmero, nicamente en caso que seanegativo. .
Ejemplo n 6
Inicio
N
N = N * ( - 1)
N
Fin
N
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
7/12
4/5/20
Diagramas de flujo Ejemplos13
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Disee un algoritmo que lea tres nmeros y determine el nmero mayor.
Ejemplo n 7
a>c?
El mayorN es a
Inicio
a,b,c
Fin
a>b?
F V
b>c?
V
El mayorN es b
El mayorN es c
V
F F
Diagramas de flujo Ejemplos14
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Una tienda ha puesto en oferta la venta al por mayor de cierto producto, cuyo precio originalera de $10, ofreciendo un descuento del 15% por la compra de ms de 3 docenas y 10% encaso contrario. Disee un algoritmo que determine el monto de la compra, el monto deldescuento y el monto a pagar, sabiendo cuantas unidades del producto son vendidas. .
Ejemplo n 8
El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas de las
cuales se elimina la nota menor y se promedian las tres notas ms altas. Disee un algoritmoque determine la nota eliminada y el promedio de prcticas de un estudiante.. .
Ejemplo n 9
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
8/12
4/5/20
Diagramas de Flujo
Estructuras repetitivas
Bucles
15
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo - Bucles16
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Hasta ahora slo podemos ejecutar las sentencias solo una vez
A menudo necesitamos ejecutar una sentencia o grupo de sentencias
ms de una vez.
BUCLE: es un segmento de algoritmo que se repite varias veces
Motivacin
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
9/12
4/5/20
Diagramas de flujo - Bucles
En ocasiones, un programa necesita repetir una serie de accionesdependiendo de diversas condiciones, p.ej:
- Mientrasse cumpla una condicin
Cero o ms veces
- Hastaque NO se cumpla una condicin
Una o msveces
- Un nmeroconocido de veces N veces
17
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Motivacin
BUCLES NO
DETERMINISTAS O
INDETERMINISTAS
BUCLES DETERMINISTAS
Diagramas de flujo - Bucles
Bucles deterministas
Son aquellos para los cuales el nmero de repeticiones es
conocido a priori.
Tambin suelen denominarse ITERATIVOS.
Uso de la sentencia For (para)
Ejemplo: Escribir un algoritmo que lea un nmero del teclado, lesume diez veces una unidad y muestre el resultado por pantalla decada una de las sumatorias.
18
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Tipos de Bucles
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
10/12
4/5/20
Diagramas de flujo - Bucles
Bucles no deterministas o indeterministas
Son aquellos para los cuales no se conoce a priori el nmero de
veces que se van a repetir.
El buclese repite hasta que se alcanza cierta condicin.
No sabemos cuntas veces es necesario repetir el bucle para que la
condicin se alcance.
Tambin suelen denominarse RECURSIVOS.
Uso de la sentencia While (mientras)
19
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Tipos de Bucles
Diagramas de flujo - Bucles20
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo: FOR (NUMERO DE REPETICIONES CONOCIDO)
Forndice = (VALOR INICIAL : PASO : VALOR FINAL)
grupo de sentencias
end
- El INDICE tomarlos valores de valor inicial hasta valor final
- El PASO STEP determina la cantidad a incrementar o decrementarcada
vez que se ejecuta el bucle.
NOTA: Los valores del ndice los cambia el Forautomticamente. El
programador nunca debe manipular el valor del ndice.
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
11/12
4/5/20
Diagramas de flujo - Bucles21
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo: FOR ASCENDENTE
I
INICIALIZAR
CONDICIN
INSTRUCCIONES
INCREMENTO
F
SI
NO
Diagramas de flujo - Bucles22
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo: While (n repeticiones desconocido)
While (condicin)
grupo de sentencias (cuerpo)
end
- Se evala la condicin
- Si el resultado es falso, acaba y sigue con la instruccin siguiente end o
sea finaliza el bucle.
- Si el resultado es verdadero, entonces ejecuta el conjunto de instrucciones
que componen el cuerpo del While
7/25/2019 Fundamentos de Informtica - Algoritmos y Bucles Iterativos
12/12
4/5/20
Diagramas de flujo - Bucles23
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
Diagramas de flujo: WHILE
I
CONDICIN
INSTRUCCIONES
F
SINO
Diagramas de flujo - Bucles24
Fundamentos de Informtica Curso 2 02 - UTN - FRRo
PREGUNTAS?