Está en la página 1de 86

TEMA 1

Introduccin a los Algoritmos


Ing. Milder Zanabria Ortega

31/12/2013

Algoritmo (del latn, dixit algorithmus y ste a su vez del matemtico persa al-Jwarizmi) es una lista bien definida, ordenada y finita de operaciones que permite hallar la solucin a un problema.

A&DA - Tema 1 Algoritmos

31/12/2013

Dado un estado inicial y una entrada, a travs de pasos sucesivos y bien definidos se llega a un estado final, obteniendo una solucin. Los algoritmos son objeto de estudio de la algoritmia.

A&DA - Tema 1 Algoritmos

31/12/2013

El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa.
4

A&DA - Tema 1 Algoritmos

31/12/2013

Mientras el primero es la especificacin de un conjunto de pasos (operaciones, instrucciones, rdenes,...) orientados a la resolucin de un problema (mtodo), el segundo es ese conjunto de operaciones especificadas en un determinado lenguaje de programacin y para un computador concreto, susceptible de ser ejecutado (o compilado o interpretado).

A&DA - Tema 1 Algoritmos

CARACTERSTICAS DE LOS
ALGORITMOS
31/12/2013

El cientfico de computacin Donald Knuth ofreci una lista de cinco propiedades, que son ampliamente aceptadas como requisitos para un algoritmo: Carcter finito. "Un algoritmo siempre debe terminar despus de un nmero finito de pasos". Precisin. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".

A&DA - Tema 1 Algoritmos

31/12/2013

Entrada.

"Un algoritmo tiene cero o ms entradas: cantidades que le son dadas antes de que el algoritmo comience, o dinmicamente mientras el algoritmo corre. Estas entradas son tomadas de conjuntos especficos de objetos". Salida. "Un algoritmo tiene una o ms salidas: cantidades que tienen una relacin especfica con las entradas".

A&DA - Tema 1 Algoritmos

31/12/2013

Eficacia

(EFICIENCIA). "Tambin se espera que un algoritmo sea eficiente, en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente bsicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lpiz y papel".

A&DA - Tema 1 Algoritmos

ALGORITMOS
31/12/2013

Que

es un algoritmo? Una lista de instrucciones donde se especifica una sucesin de operaciones necesarias para resolver cualquier problema de un tipo dado. Ejemplo sumar dos nmeros
9

A&DA - Tema 1 Algoritmos

ALGORITMOS

10

31/12/2013 A&DA - Tema 1 Algoritmos

ALGORITMOS
31/12/2013

1.

2.
3. 4. 5. 6. 7. 8.

5+1=6 Anotar 6 2+9=11 Anotar 1 y guardar 1 4+0=4 4+1=5 Anotar 5 El resultado es 516

491 + 25 516

11

A&DA - Tema 1 Algoritmos

ALGORITMOS

V + F F
31/12/2013 A&DA - Tema 1 Algoritmos

+
V V F F V F V F V F F F

12

ALGORITMOS

san + sano sansano

13

31/12/2013 A&DA - Tema 1 Algoritmos

ALGORITMOS
31/12/2013

Entrada

Qu se necesita para realizar los pasos?


Que se obtiene al final del algoritmo?

A&DA - Tema 1 Algoritmos

Salida Tipos de datos

Nmeros: enteros, reales, complejos Texto: letras, palabras, frases Otros

14

ALGORITMOS
31/12/2013

Sirven para resolver un tipo de problema especifico. Son secuencias de pasos concretos. Requiere la definicin de la entrada y la salida. Adecuados para ser ejecutados por un computador

15

A&DA - Tema 1 Algoritmos

ALGORITMOS
31/12/2013

Qu tiene que ver con la programacin?

La programacin consiste en crear programas de computador que resuelvan problemas especficos. Un programa de computador es la implementacin de un algoritmo.

16

A&DA - Tema 1 Algoritmos

ALGORITMOS
31/12/2013

Qu es un programa de computador?

Es una secuencia de pasos a ejecutar Los pasos estn descritos en un lenguaje especial. Este lenguaje se puede traducir al lenguaje del computador. Por lo general es un archivo de texto. El texto escrito en dicho lenguaje se denomina el cdigo del programa.

17

A&DA - Tema 1 Algoritmos

DESCRIPCIN DE UN ALGORITMO
31/12/2013

Es

necesario contar con formas de expresar algoritmos


Anlisis del algoritmo antes de disear Diseo del algoritmo antes de codificar Diseo del algoritmo de manera independiente del lenguaje de programacin

A&DA - Tema 1 Algoritmos

Diferentes

alternativas

Pseudo cdigo (Lenguaje Natural) Diagramas de flujo Diagramas de Nassi-Schneidermann

18

DESCRIPCIN DE UN ALGORITMO
31/12/2013

Pseudo cdigo

El algoritmo se expresa en lenguaje natural Expresa de manera genrica los pasos del algoritmo No provee detalles de la implementacin particular del cdigo final

19

A&DA - Tema 1 Algoritmos

DESCRIPCIN DE UN ALGORITMO
31/12/2013

Diagramas de flujo

Presentan el algoritmo de manera grfica. De gran utilidad para seguir la ruta de un algoritmo. Aplicables a muchas otras disciplinas.

20

A&DA - Tema 1 Algoritmos

DESCRIPCIN DE UN ALGORITMO
31/12/2013

Diagrama de Nassi-Schneidermann

Tambin se denominan diagramas de caja. Menos usado que el diagrama de flujo Mas ordenado Ocupa mucho espacio para representar algoritmos complejos.

21

A&DA - Tema 1 Algoritmos

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

1.

2.
3. 4. 5.

6.
7.

Definir el problema a resolver Identificar las entradas del algoritmo Identificar la salida del algoritmo Definir los pasos a seguir para convertir las entradas en la salida Seguir los pasos y comprobar que el algoritmo sea correcto analizando la salida. Revisar los pasos y hacer las correcciones. Resolver el problema.

22

A&DA - Tema 1 Algoritmos

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

Construccin de un programa
1.
2. 3.

Definir el problema a resolver Definir el algoritmo que lo resuelve Escribir el programa

A&DA - Tema 1 Algoritmos

Escribir cada uno de los pasos del algoritmo en el lenguaje de programacin

4. 5. 6. 7.

Ejecutar el programa en el computador Verificar que las salidas sean correctas Hacer correcciones al programa Resolver el problema

23

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

Ejemplo:

Objetivo: Calcular el precio de una manzana Entradas


Precio (en soles) del kilo de manzanas [K] Peso (en gramos) promedio de una manzana[P]

A&DA - Tema 1 Algoritmos

Salida

Precio (en soles) de una manzana [M]

24

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

Inicio Ingresar valor de K y P Calcular G = K/1000 Calcular M = G x P Devolver el valor de M Fin.

25

A&DA - Tema 1 Algoritmos

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

Ingresar K y P

A&DA - Tema 1 Algoritmos

G=K/1000
M=G x P

Devolver M
26

CONSTRUCCIN DE UN ALGORITMO
31/12/2013 A&DA - Tema 1 Algoritmos

Ingresar K y P G=K/1000 M=G x P Devolver M

27

CONSTRUCCIN DE UN ALGORITMO
31/12/2013

Operaciones bsicas

Entrada de datos Salida de datos Utilizacin de variables Utilizacin de constantes Aplicacin de operadores Asignacin de valores
Secuencial Selectiva Repetitiva

A&DA - Tema 1 Algoritmos

Combinacin de operaciones bsicas


28

ENTRADA DE DATOS
31/12/2013

Los algoritmos son para solucionar tipos de problemas Es imprescindible poder entregar entradas distintas en cada ejecucin La entrada de datos se realiza mediante algn dispositivo

29

A&DA - Tema 1 Algoritmos

ENTRADA DE DATOS
31/12/2013

Dispositivos de entrada

Teclado Mouse Botones Censores de tacto Cmaras digitales Scanners Archivos

30

A&DA - Tema 1 Algoritmos

ENTRADA DE DATOS

31

31/12/2013 A&DA - Tema 1 Algoritmos

ENTRADA DE DATOS
31/12/2013

Cada dispositivo tiene distintas caractersticas. Por lo general, sirven para cosas distintas Los sistemas definen un dispositivo de entrada por defecto

A&DA - Tema 1 Algoritmos

Este dispositivo se denomina la entrada estndar. En un computador suele ser el teclado.

32

SALIDA DE DATOS
31/12/2013

De nada sirve implementar un algoritmo si no podemos saber su resultado. Al finalizar el algoritmo (o durante), es imprescindible obtener la informacin resultante de su ejecucin. La salida de datos se realiza mediante dispositivos.

33

A&DA - Tema 1 Algoritmos

SALIDA DE DATOS
31/12/2013

Dispositivos de salida

Pantalla Impresora Parlantes Tableros luminosos Motores Tarjeta de red Archivos

34

A&DA - Tema 1 Algoritmos

SALIDA DE DATOS

C:\

35

31/12/2013 A&DA - Tema 1 Algoritmos

SALIDA DE DATOS
31/12/2013

Al igual que con la entrada, cada dispositivo tiene finalidades distintas. Los sistemas definen un dispositivo de salida por defecto

A&DA - Tema 1 Algoritmos

Este dispositivo se denomina la salida estndar. En un computador suele ser la pantalla.

36

UTILIZACIN DE VARIABLES
31/12/2013

Durante la ejecucin del algoritmo, es importante recordar los resultados parciales de cada paso. Estos resultados se etiquetan con un nombre. Al invocar con posterioridad ese nombre, recuperamos el resultados parcial.

37

A&DA - Tema 1 Algoritmos

UTILIZACIN DE VARIABLES
K es un dato de entrada, y tambin Se considera una variable
A&DA - Tema 1 Algoritmos 31/12/2013

G=K/1000

Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.

38

UTILIZACIN DE VARIABLES
31/12/2013

La principal caracterstica de una variable es que su valor puede cambiar en el tiempo. Usualmente se compara con una caja donde se puede almacenar una sola cosa. Por lo general, las variables se definen con un tipo de dato. El tipo de dato restringe que tipo de cosas se pueden guardar en las cajas.

39

A&DA - Tema 1 Algoritmos

UTILIZACIN DE CONSTANTES
31/12/2013

Adems de las variables, un algoritmo requiere de constantes. A diferencia de las variables, su valor no puede cambiar en el tiempo. Las constantes tambin pueden recibir nombres para mayor claridad.

A&DA - Tema 1 Algoritmos

Ej.: PI = 3.1415

40

UTILIZACIN DE CONSTANTES
31/12/2013 A&DA - Tema 1 Algoritmos

G=K/1000

La constante 1000 sirva para transformar el valor Por kilo a un valor por gramo
41

APLICACIN DE OPERADORES
31/12/2013

Para

obtener resultados, generalmente es necesario transformar las entradas en la salida. Para esto se aplican operadores de distinta ndole

A&DA - Tema 1 Algoritmos

Aritmticos ( + , - , * , / ) Lgicos (igual que, mayor que, menor que, y, o, no) Etc.

Los

operadores requieren de operandos y entregan un resultado. Por lo general, los operadores son unarios o binarios.

42

APLICACIN DE OPERADORES
31/12/2013

operandos

A&DA - Tema 1 Algoritmos

M=G * P operador

43

ASIGNACIN DE VALORES
31/12/2013

El resultado de un operador se puede almacenar en una variable. Para esto se utiliza un tipo especial de operador. Este es el operador de asignacin. Solo se pueden asignar valores a variables, no a constantes

44

A&DA - Tema 1 Algoritmos

ASIGNACIN DE VALORES
31/12/2013

Operador de asignacin

A&DA - Tema 1 Algoritmos

M=G * P

El resultado de GxP se asigna a la variable M

45

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Secuencial

Un conjunto de operaciones bsicas pueden ser ejecutadas en forma secuencial. Una operacin no inicia hasta que la anterior termina

46

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Diagrama de flujo Diagrama de Nassi-Schneidermann

A&DA - Tema 1 Algoritmos

Ingresar K y P Ingresar K y P G=K/1000 M=G * P G=K/1000 M=G * P Devolver M M tiene el valor 50

Ingresar K=200 y P=250


G tiene el valor 0,2

Devolver M
47

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Selectiva
Un algoritmo puede optar por ejecutar o no una operacin (SI ENTONCES). Un algoritmo puede optar por ejecutar una u otra operacin (SI-ENTONCES-SINO). Esta decisin se basa en un condicin. Esta decisin controla el flujo del algoritmo. Por esto, se denomina una estructura de control.

48

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

C 3

C: Condicin

49

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1 2 C si no

A&DA - Tema 1 Algoritmos

3 4
50

C: Condicin

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin

51

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplo: levantarse en la maana

A&DA - Tema 1 Algoritmos

Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la combi fin

52

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

2 si no

3a 4

3b

C: Condicin

53

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1 2 C si no

A&DA - Tema 1 Algoritmos

3a 4

3b

54

C: Condicin

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a si no Ejecutar 3b fin si Ejecutar 4 fin

55

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplo: levantarse en la maana


Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar paraguas si no llevar la chaqueta fin si tomar la mochila tomar la combi fin

56

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Estructura de control selectiva

Una condicin es cualquier proposicin lgica que tenga un valor verdadero o falso definido. Este esquema selectivo se denomina decision binaria. Y si hay ms de dos opciones?

57

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Estructura de control selectiva

Toda decisin se puede llevar a un esquema de decisin binaria. Basta con decidir entre una alternativa y todo el resto Si se elige el resto, se decide entre una alternativa y el resto del resto. Etc

58

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1 x mayor que 0

A&DA - Tema 1 Algoritmos

x menor que 0 x?
x igual a 0

2a

2b

2c

59

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1 si x mayor que 0? x menor que 0? si 2c no

A&DA - Tema 1 Algoritmos

no 2a 2b

60

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

si

1 x mayor que 0?

A&DA - Tema 1 Algoritmos

no
x menor que 0?

no
2a 2b

si
2c

61

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio Ejecutar 1 Si x es mayor que cero entonces Ejecutar 2a Si no Si x es menor que cero entonces Ejecutar 2c Si no Ejecutar 2b fin si fin si Ejecutar 3 fin

62

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplo: levantarse en la maana


Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar paraguas si no esta lloviendo pero hace fro llevar la chaqueta si no llevar un chaleco fin si tomar la mochila tomar la combi fin

63

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Estructura

de seleccin mltiple

Para algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE) Ejemplo: ingreso de opcin de men de un cajero automtico
Si el usuario presion el botn 1, hacer un giro Si el usuario presion el botn 2, entregar saldo Si el usuario presion el botn 3, cambiar la clave Etc.

64

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013 A&DA - Tema 1 Algoritmos

Botn

etoc

1
giro

2
saldo

3
clave

error

salir

65

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Botn 1 2 3

A&DA - Tema 1 Algoritmos

etoc

giro

saldo

clave

error

salir
66

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio en el caso que el botn presionado sea el 1 hacer giro sea el 2 entregar saldo sea el 3 cambiar clave En cualquier otro caso Error fin caso fin

67

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Repetitiva

Adems de combinar operaciones en forma secuencial y selectiva, se puede repetir la ejecucin de una operacin cuantas veces se desee. Existen varios esquemas
Repetir MIENTRAS se cumpla una condicin. Repetir HASTA QUE se cumpla una condicin. Repetir un nmero de veces.

68

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

MIENTRAS

Se repite una operacin mientras una condicin sea verdadera. Al dejar de serlo, se rompe el ciclo Si la condicin nunca es falsa, se tiene un ciclo infinito.

69

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

C si

no

3 C: Condicin

70

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1
C

A&DA - Tema 1 Algoritmos

3
C: Condicin

71

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio ejecutar 1 mientras se cumpla la condicin ejecutar 2 fin mientras ejecutar 3 fin

72

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplo validar ingreso de valor positivo

A&DA - Tema 1 Algoritmos

Inicio definir variable x asignar el valor -1 a x mientras x sea menor que cero ingresar x por teclado fin mientras mostrar valor de x fin

73

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

HASTA QUE

Se repite la ejecucin de una operacin hasta que se cumpla una condicin. La principal diferencia con MIENTRAS es que la operacin se ejecuta al menos una vez.

74

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

2 no

C si
3 C: Condicin
75

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

3
C: Condicin

76

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condicin ejecutar 3 fin

77

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplo

A&DA - Tema 1 Algoritmos

Mismo ejemplo anterior

Inicio definir variable x repetir ingresar x por teclado Hasta que x sea mayor que cero mostrar valor de x fin

78

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Repetir un nmero fijo de veces

Muy til cuando se sabe el numero de repeticiones a ejecutar. Por lo general se define una variable que sirve de contador El contador mantiene el nmero de cada iteracin. Tambin se puede definir el incremento del contador en cada iteracin.

79

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

A&DA - Tema 1 Algoritmos

Inicio contador, fin contador

80

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

1
Inicio contador, fin contador

A&DA - Tema 1 Algoritmos

81

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Inicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin

82

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
Ejemplo

i
i 0

Inicio definir variable sumatoria asignar el valor 0 a sumatoria desde i igual a 0 hasta i igual a 5 sumatoria = sumatoria + i fin desde mostrar valor de sumatoria fin
31/12/2013 A&DA - Tema 1 Algoritmos

83

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Combinacin de estructuras de control seriales, selectivas y repetitivas


Cualquier combinacin es posible Pueden existir estructuras anidadas Es importante definir el comienzo y el termino de cada estructura

84

A&DA - Tema 1 Algoritmos

COMBINACIN DE OPERACIONES
BSICAS
31/12/2013

Ejemplos

A&DA - Tema 1 Algoritmos

Hacer un algoritmo que ordene de mayor a menor 3 nmeros enteros.

85

FIN TEMA 1
Algoritmos

También podría gustarte