Clase 03 y 04: Algoritmia y diagramas de flujo - … · ... Algoritmia y diagramas de flujo M. en...

18
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://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom

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

18

Inicio

dato <>0

media

Fin

dato

media ← suma/ (numdatos-1)

1

1

numdatos ← numdatos + 1suma← suma+ dato

numdatos ← 0suma← 0

nosi

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