Tema 02: Algoritmia y pseudocódigo - Web personal de...

Preview:

Citation preview

Estructuras de datos (Prof. Edgardo A. Franco)

1

Tema 02: Algoritmia y pseudocódigo

M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.comedfrancom@ipn.mx@edfrancom edgardoadrianfrancom

Contenido• Pseudocódigo

• Ejemplo 01

• Ejemplo 02

• Ejemplo 03

• Ejemplo 04

• Representación de Algoritmos en Pseudocódigo

• Asignación

• Variables

• Estructuras de control de flujo

• Anidamiento 2

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Pseudocódigo• El pseudocódigo es una descripción de alto nivel de un

algoritmo que emplea una mezcla de lenguaje natural conalgunas convenciones sintácticas propias de lenguajes deprogramación, a usar (es un supuesto lenguaje) .

• Es utilizado para describir algoritmos de manera formal enlibros y publicaciones científicas, y como producto intermediodurante el desarrollo de un algoritmo.

• El pseudocódigo está pensado para facilitar a las personas elentendimiento de un algoritmo, y por lo tanto puede omitirdetalles irrelevantes que son necesarios en unaimplementación.

3

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Programadores diferentes suelen utilizar convencionesdistintas, que pueden estar basadas en la sintaxis delenguajes de programación concretos. Sin embargo, elpseudocódigo en general es comprensible sin necesidadde conocer o utilizar un entorno de programaciónespecífico, y es a la vez suficientemente estructuradopara que su implementación se pueda hacerdirectamente a partir de él.

• Es independiente del lenguaje de programación.

• La definición de datos se da por supuesta,principalmente para variables sencillas, pero si se empleavariable más complejas, por ejemplo pilas, colas,vectores, etc., se pueden definir en la cabecera delalgoritmo.

4

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

5

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

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.

6

Inicio

base, altura

area ← (base * altura) / 2

área

Fin

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

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.

7

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

8

Ejemplo 02Inicio

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

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

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.

9

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

10

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

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

11

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Ejemplo 04

• Ordenamiento por Selección• Buscar el mínimo elemento de la lista

• Intercambiarlo con el primero

• Buscar el siguiente mínimo en el resto de la lista

• Intercambiarlo con el segundo

• Y en general:

• Buscar el mínimo elemento entre una posición i y el final de la lista

• Intercambiar el mínimo con el elemento de la posición i.

12

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

13

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

Algoritmo Selección

(Mientras)

Algoritmo Selección (Para)

Representación de Algoritmos en Pseudocódigo

• Asignación

• Variables

x←yy→x

volumen←∏ r2hresultado←sin(a) 14

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Secuencial

Instrucciónn

Instrucción1Instrucción2Instrucción3Instrucción4

Diagrama de flujo Pseudocodigo 15

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Selectiva

Simple

condición

no

si

Instrucciones

16

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Selectiva

Doble

condición

si

no

Instrucciones2

Instrucciones117

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Selectiva

Múltiple

condición1

si

no

Instrucciones1

condición2

Instrucciones2

no

si

condición3

si

no 18

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Iterativa

Mientras

condición

no

si

Instrucciones19

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Iterativa

Repetir

condición

si

no

Mientras ≈ Repetir

Instrucciones

20

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Estructuras de control de flujo

• Iterativa

Para

Para → mientras

i ≤ n

no

si

Instruccionesi ← i+1

i ← x

21

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez

• Anidamiento

22

Alg

ori

tmia

y p

rogr

amac

ión

est

ruct

ura

da

Tem

a 0

2:

Alg

ori

tmia

y p

seu

do

cód

igo

Pro

f. Ed

gard

o A

dri

án F

ran

co M

artí

nez