22
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.com [email protected] @edfrancom edgardoadrianfrancom

Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

  • Upload
    lecong

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

Estructuras de datos (Prof. Edgardo A. Franco)

1

Tema 02: Algoritmia y pseudocódigo

M. en C. Edgardo Adrián Franco Martínez http://[email protected]@edfrancom edgardoadrianfrancom

Page 2: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 3: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 4: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 5: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 6: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 7: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 8: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 9: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 10: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 11: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 12: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 13: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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)

Page 14: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

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

Page 15: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 16: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 17: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 18: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 19: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 20: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 21: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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

Page 22: Tema 02: Algoritmia y pseudocódigo - Web personal de ...eafranco.com/docencia/algoritmia/files/02/Tema02.pdf · Pseudocódigo • El pseudocódigo es una descripción de alto nivel

• 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