Algoritmos
Algoritmos
OBJETIVOS
2
CONTENIDOS
1. Introducción
2. Concepto de algoritmo
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo
3
INTRODUCCIÓN
Entrada = Salida =
Procesador
Datos Resultados
Algoritmo
4
INTRODUCCIÓN
mantenimiento
análisis
diseño
IMPLEMENTACIÓN
PRUEBAS
documentación
5
CONTENIDOS
1. Introducción
2. Concepto de algoritmo
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo
6
CONCEPTO DE ALGORITMO
7
CONCEPTO DE ALGORITMO
8
CONCEPTO DE ALGORITMO
• En Informática:
• Un algoritmo es una secuencia de pasos a seguir para
resolver un problema usando un computador u ordenador.
• La algoritmia o ciencia de los algoritmos, es uno de los
pilares de la informática.
9
CONCEPTO DE ALGORITMO
• Definiciones básicas:
• Procesador: cualquier entidad capaz de resolver un
problema
• Entorno: conjunto de utensilios que el procesador puede
utilizar
• Estado: situación en la que se encuentra un entorno en un
momento dado.
10
CONCEPTO DE ALGORITMO
• Definiciones básicas
• Acción:
Conjunto finito de operaciones que permiten llegar de un
estado inicial bien definido a otro también bien definido.
• Tipos de acciones:
• Acción primitiva o elemental
• Puede ser realizada directamente por el procesador.
• Acción compuesta o abstracta
• Ha de descomponerse en acciones más elementales para poder
ser entendida por un procesador.
11
CONCEPTO DE ALGORITMO
12
CONCEPTO DE ALGORITMO
• Características de un algoritmo:
• Preciso (no ambiguo): la instrucción a ejecutar en cada
paso queda determinada perfectamente.
• Determinista: debe comportarse del mismo modo ante las
mismas condiciones. Si se sigue dos veces en el mismo
entorno, el resultado obtenido es el mismo.
• Finito: Tiene fin tras un número determinado de pasos.
13
CONTENIDOS
1. Introducción
2. Definiciones básicas
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo
14
LENGUAJES
DE REPRESENTACIÓN ALGORÍTMICA
15
REPRESENTACIÓN ALGORÍTMICA
• Pseudocódigo:
• Lenguaje similar al natural, pero al que se añaden reglas
para conseguir una definición precisa del algoritmo
• Algunas reglas:
• Empieza por la palabra “Inicio” y termina con la palabra “Fin”
• Se escribe una acción por línea
• Se subrayan las palabras clave
16
REPRESENTACIÓN ALGORÍTMICA
Entrada/
Terminal Proceso
Salida
no Conectores
Decisión Subprograma
si
17
Representación algorítmica
1. Introducción
2. Definiciones básicas
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo
19
EJEMPLOS DE ALGORITMO
20
EJEMPLOS DE ALGORITMO
21
EJEMPLOS DE ALGORITMO
• Método tradicional
981
* 1234
3924
2943
1962
981
1210554
22
EJEMPLOS DE ALGORITMO
• Multiplicación “à la russe”
• Se escriben el multiplicando y el multiplicador iniciando
dos columnas.
• Se obtienen los siguientes elementos de las columnas,
hasta que quede un 1 en la columna de la izquierda:
• La columna de la izquierda se va dividiendo entre dos,
ignorando los restos.
• La columna de la derecha se va multiplicando por dos.
• El resultado se obtiene sumando los números de la
columna de la derecha cuyo número correspondiente
de la columna izquierda sea impar.
• Sólo es necesario saber sumar, multiplicar por 2 y dividir
entre 2. Se encuentra en el hardware de las ALU’s.
23
EJEMPLOS DE ALGORITMO
• Multiplicación “à la russe”
981 1234
490 2468
245 4936
122 9872
61 19744
30 39488
15 78976
7 157952
3 315904
1 631808
24
EJEMPLOS DE ALGORITMO
• Multiplicación “à la russe”
981 1234
490
245 4936
122
61 19744
30
15 78976
7 157952
3 315904
1 631808
SUMA = 1210554
25
EJEMPLOS DE ALGORITMO
• Divide y vencerás
• Números con precisión par
• Se dividen por la mitad ambos operandos
• Se realizan las 4 multiplicaciones cruzadas
• Se suman los resultados desplazando previamente hacia la
izquierda
• Algoritmo recursivo
26
EJEMPLOS DE ALGORITMO
• Divide y vencerás
27
EJEMPLOS DE ALGORITMO
• Ejercicio:
• ¿Cuál es mejor y por qué?
• ¿Qué criterios podemos utilizar para valorar un algoritmo?
28