Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
31/12/2013
El concepto de algoritmo, aunque similar y obviamente relacionado, no debe confundirse con el concepto de programa.
4
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).
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".
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".
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".
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
ALGORITMOS
10
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
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
13
ALGORITMOS
31/12/2013
Entrada
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
ALGORITMOS
31/12/2013
La programacin consiste en crear programas de computador que resuelvan problemas especficos. Un programa de computador es la implementacin de un algoritmo.
16
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
DESCRIPCIN DE UN ALGORITMO
31/12/2013
Es
Diferentes
alternativas
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
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
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
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
CONSTRUCCIN DE UN ALGORITMO
31/12/2013
Construccin de un programa
1.
2. 3.
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:
Salida
24
CONSTRUCCIN DE UN ALGORITMO
31/12/2013
25
CONSTRUCCIN DE UN ALGORITMO
31/12/2013
Ingresar K y P
G=K/1000
M=G x P
Devolver M
26
CONSTRUCCIN DE UN ALGORITMO
31/12/2013 A&DA - Tema 1 Algoritmos
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
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
ENTRADA DE DATOS
31/12/2013
Dispositivos de entrada
30
ENTRADA DE DATOS
31
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
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
SALIDA DE DATOS
31/12/2013
Dispositivos de salida
34
SALIDA DE DATOS
C:\
35
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
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
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
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
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.
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
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
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
ASIGNACIN DE VALORES
31/12/2013
Operador de asignacin
M=G * P
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
C 3
C: Condicin
49
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
1 2 C si no
3 4
50
C: Condicin
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
51
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
2 si no
3a 4
3b
C: Condicin
53
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
1 2 C si no
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
56
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
1 x mayor que 0
x menor que 0 x?
x igual a 0
2a
2b
2c
59
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
no 2a 2b
60
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
si
1 x mayor que 0?
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
63
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
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
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
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
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
C si
no
3 C: Condicin
70
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
1
C
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
2 no
C si
3 C: Condicin
75
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
Ejemplo
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
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
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
80
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
1
Inicio contador, fin contador
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
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
84
COMBINACIN DE OPERACIONES
BSICAS
31/12/2013
Ejemplos
85
FIN TEMA 1
Algoritmos