0% encontró este documento útil (0 votos)
27 vistas28 páginas

Algoritmos

Este documento describe los algoritmos y sus características. Explica que un algoritmo es una secuencia finita de pasos para resolver un problema usando un computador. Detalla dos formas de representar algoritmos: pseudocódigo y diagramas de flujo. Luego, proporciona ejemplos de algoritmos para multiplicar números, incluyendo el método tradicional, la multiplicación "à la russe" y dividir y vencerás.

Cargado por

Hernan Montece
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas28 páginas

Algoritmos

Este documento describe los algoritmos y sus características. Explica que un algoritmo es una secuencia finita de pasos para resolver un problema usando un computador. Detalla dos formas de representar algoritmos: pseudocódigo y diagramas de flujo. Luego, proporciona ejemplos de algoritmos para multiplicar números, incluyendo el método tradicional, la multiplicación "à la russe" y dividir y vencerás.

Cargado por

Hernan Montece
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 28

ALGORITMOS

OBJETIVOS

• Al terminar este tema deberás ser capaz de:


• Definir qué es un algoritmo.
• Describir las características que debe cumplir un algoritmo.
• Representar un algoritmo.

2
CONTENIDOS

1. Introducción
2. Concepto de algoritmo
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo

3
INTRODUCCIÓN

• Un ordenador es un sistema para procesar


información

Entrada = Salida =
Procesador
Datos Resultados

Algoritmo

4
INTRODUCCIÓN

• Ciclo de vida del software

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

• Algoritmo (según el DRAE):


(del árabe al-Khowârizmî) “Conjunto ordenado y
finito de operaciones que permite hallar la solución
de un problema”
• Ejemplos sencillos de algoritmos según esta definición
podrían ser una receta de cocina o las instrucciones para
armar una bicicleta.

7
CONCEPTO DE ALGORITMO

• Breve reseña histórica:


• Los primeros algoritmos registrados datan de Babilonia,
originados en las matemáticas como un método para
resolver un problema usando una secuencia de cálculos
más simples.
• El primer algoritmo famoso es el cálculo del MCD de dos
números (Grecia, aproximadamente del s. IV a. C.).

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

• Definición formal de algoritmo:


“Dado un procesador, un entorno, y un problema
bien definido, un algoritmo es la secuencia finita de
acciones primitivas que llevan a la solución del
problema”

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

• ¿Cómo se escribe un algoritmo?


Representándolo mediante un lenguaje 
lenguaje de representación algorítmica
• Dos tipos de representación:
• Pseudocódigo
• Diagramas de flujo

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

• Diagrama de Flujo (DF):


• Representación gráfica del flujo de control de un algoritmo
• Elementos del (DF):

Entrada/
Terminal Proceso
Salida

no Conectores
Decisión Subprograma

si
17
Representación algorítmica

Pseudocódigo Diagrama de flujo


Inicio
Entorno
suma, num
SUMA <- 2
Inicio NUM <- 4
// Iniciar variables
SUMA <- SUMA +
suma<- 2 NUM
num <- 4
// Suma de los números SI NUM <- NUM + 2
repetir
suma <- suma + num
NUM <= 100
num <- num +2
mientras (num <= 100) NO
// Escribir resultado escribir
escribir (suma) SUMA
Fin
18
Fin
CONTENIDOS

1. Introducción
2. Definiciones básicas
3. Lenguajes de representación algorítmica
4. Ejemplos de algoritmo

19
EJEMPLOS DE ALGORITMO

• Hay que tener en cuenta que para resolver un


determinado problema existe más de un algoritmo
• Todos encuentran la solución correcta…
pero unos lo hacen mejor que otros.

20
EJEMPLOS DE ALGORITMO

• Multiplicar 981 por 1234


• Varias formas (algoritmos) de hacerlo:
• Método clásico
• Multiplicación “à la russe”
• Divide y vencerás
• Con todas se alcanza la solución
• ¿Cuál es la mejor? ¿Por qué?

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

Multiplicar Desplazar Resultado


0981 09*12 4 108----
1234 09*34 2 306--
81*12 2 972--
81*34 0 2754
Suma 1210554

27
EJEMPLOS DE ALGORITMO

• Ejercicio:
• ¿Cuál es mejor y por qué?
• ¿Qué criterios podemos utilizar para valorar un algoritmo?

28

También podría gustarte