Clase 03 y 04: Algoritmia y diagramas de flujo - … · ... Algoritmia y diagramas de flujo M. en...
Transcript of Clase 03 y 04: Algoritmia y diagramas de flujo - … · ... Algoritmia y diagramas de flujo M. en...
Estructuras de datos (Prof. Edgardo A. Franco)
1
Tema 01: Algoritmia y diagramas de flujo
M. en C. Edgardo Adrián Franco Martínez http://[email protected]@edfrancom edgardoadrianfrancom
Contenido• Algoritmia
• ¿Qué es un algoritmo?
• Métodos algorítmicos
• Diagrama de flujo
• Símbolos utilizados en los diagramas de flujo
• Reglas para la construcción de diagramas de flujo
• Ejemplos
2
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Algoritmia• Área de estudio cuyo objeto de estudio son los
algoritmos.
• En computación un algoritmo permite modelar la seriede pasos necesarios a realizar para poder resolver unaparte o la totalidad de un problema computacional.
• Al hablar de un problema computacional se hacereferencia a la necesidad de dada cierta informaciónalcanzar un resultado buscado sabiendo que existe una oun conjunto de soluciones capaces de ser encontradasutilizando las capacidades de procesamiento de unacomputadora. 3
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
¿Qué es un algoritmo?
• Es un conjunto ordenado y finito de operaciones quepermite hallar la solución de un problema.
• Podemos decir que un algoritmo es una "receta", ya quesi se sigue de manera correcta encuentran un resultadoen un tiempo acotado.
• P.g. escribe un algoritmo para resolver el problema de llegar detu casa a ESCOM.
4
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Definición formal de algoritmo
Es un conjunto preescrito de instrucciones o reglas biendefinidas, ordenadas y finitas que permite realizar unaactividad mediante pasos sucesivos que no generendudas a quien lo ejecute.
Dados un estado inicial y una entrada, siguiendo lospasos sucesivos se llega a un estado final y se obtieneuna solución.
5
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Métodos algorítmicos• Un algoritmo es univoco, lo que implica que si se ejecuta
varias veces el mismo algoritmo sobre un conjunto de datosde entrada, siempre se obtiene la misma solución a la salida.Además, el resultado debe generarse en un tiempo finito.
• Los métodos que utilizan algoritmos se utilizan se denominanmétodos algorítmicos, en oposición a los que implican algúnjuicio o interpretación, que se denominan heurísticos. Losmétodos algorítmicos se pueden implementar fácilmente encomputadoras; sin embargo los métodos heurísticos no confacilidad, además de que no aseguran obtener la misma salidasiempre ante las mismas entradas.
6
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Diagrama de flujo• Existen distintas formas
gráfica de representar unalgoritmo, el diagrama deflujo fue una de las primerasempleadas.
• Un diagrama de flujo seutiliza símbolos consignificados bien definidosque representan los pasosdel algoritmo, y representanel flujo de ejecuciónmediante flechas queconectan los puntos de inicioy de término.
7
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Diagrama de flujo
• Es la representación gráfica de un algoritmo
• Muestra los pasos o procesos a seguir paraalcanzar la solución de un problema
• Utilizan símbolos (cajas) estándar y tienen lospasos del algoritmo escritos en estas cajas unidaspor flechas
• La secuencia del algoritmo esta determinado porel flujo de la flechas
8
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Símbolos utilizados en los diagramas de flujo
9
Inicio y Fin
Lectura/Entrada de datos
Proceso
Decisión
Almacenamiento/Salida de datos
Conector
Flujo del diagrama
Decisión múltiple
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Símbolos utilizados en los diagramas de flujo
10
+ Sumar- Menos* Multiplicación/ División= Equivalencia> Mayor que< Menor que≥ Mayor o igual que≤ Menor o igual que<> o != Diferente de
← o → Asignación
«La definición de datos se da por supuesta, principalmente para variables sencillas»
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Reglas para la construcción de diagramas de flujo1. Todo diagrama de flujo debe tener un inicio y un fin
2. Las líneas utilizadas para indicar la dirección del flujodel diagrama deber ser rectas: verticales uhorizontales
3. Todas las líneas utilizadas para indicar la dirección delflujo del diagrama deben estar conectadas mediantealgún símbolo
4. El diagrama de flujo debe construirse de arriba haciaabajo y de izquierda a derecha
11
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Reglas para la construcción de diagramas de flujo5. La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programación
6. Si la construcción del diagrama de flujo requiere másde una hoja se deben utilizar los conectores adecuados
12
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejemplo 01• Diseñe un algoritmo para calcular el área de un
triangulo.
• Se recibe como entrada la base y la altura.
13
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejemplo 01• Calcular el área de un triangulo. Se recibe
como entrada la base y la altura.
14
Inicio
base, altura
area ← (base * altura) / 2
área
Fin
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejemplo 02• Construir un algoritmo que, al
recibir como entrada una clave deun empleado y los seis primerossueldos del año de este, calcule elingreso total semestral y elpromedio mensual para elempleado, finalmente se imprimirásu clave, el ingreso total y elpromedio mensual.
15
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
16
Ejemplo 02
• Construir un algoritmoque, al recibir comoentrada una clave de unempleado y los seisprimeros sueldos delaño de este, calcule elingreso total semestraly el promedio mensualpara el empleado,finalmente se imprimirásu clave, el ingreso totaly el promedio mensual.
Inicio
clave, su1, su2, su3, su4, su5, su6
ingreso ← su1 + su2 + su3 + su4 + su5 + su6
promedio ← ingreso / 6
clave, ingreso,promedio
Fin
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez
Ejemplo 03• Calcular la media de una serie de
números positivos, suponiendo quelos datos se introducen uno a uno.
• Un valor de cero como entradaindicará que se ha alcanzado el finalde la serie de números positivos.
17
Alg
ori
tmia
y p
rogr
amac
ión
est
ruct
ura
da
01
: A
lgo
ritm
ia y
dia
gram
as d
e fl
ujo
Pro
f. Ed
gard
o A
dri
án F
ran
co M
artí
nez