Introducción a
los algoritmos
WWW.UMOV.MX
B1
Mapa conceptual
Introducción
Algoritmos
Datos Operadores
aritméticos
Entrada y Variable y Contadores y
Ordinal No ordinal salida de constantes De
sumadores Lógicos
datos comparación
Compuesto Abstracto
Condiciones y Pruebas de
escritorio Transformación
De incremento Combinados
B1
ciclos
WWW.UMOV.MX
1.1 Datos
La palabra Algoritmo proviene del latín, dixit algorithmus y éste a su
vez del matemático persa Al Juarismi.
Un algoritmo es un Conjunto de reglas que, aplicada
sistemáticamente a unos datos de entrada apropiados, resuelven un
problema en un número finito de pasos elementales.
Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un
trabajador por parte de su patrón.
B1
Algunos ejemplos en matemáticas son el algoritmo de la división para
calcular el cociente de dos números, el Algoritmo de Euclides para
WWW.UMOV.MX
obtener el máximo común divisor de dos enteros positivos, o el
método de Gauss para resolver un sistema lineal de ecuaciones.
1.1 Datos
Los datos son representaciones simbólicas (vale decir: numéricas,
alfabéticas, algorítmicas, etc.) de un determinado atributo o variable
cualitativa o cuantitativa, o sea: la descripción codificada de un hecho
empírico, un suceso, una entidad.
Los tipos de datos son:
● Ordinal. Pueden ser cuantitativos o cualitativos, se establecen en
un orden, ya sea creciente o decreciente. Por ejemplo orden de
los meses del año.
● No ordinal Pueden ser cuantitativos o cualitativos, pero no
requieren llevar un orden. Por ejemplo números al azar para una
rifa.
B1
● Compuesto. Son conjuntos de datos simples (ordinal o no
WWW.UMOV.MX
ordinal) . Por ejemplo fecha día/mes/año.
● Abstracto. Representa entidades del mundo real ”objetos”.
Puede ser un objeto vivo como un perro o no vivo como un carro.
1.1 Datos
Todo algoritmo debe constar de las siguientes partes.
Datos de entrada Proceso Salida
El ingreso de los datos que el Operación lógica formal que Los resultados obtenidos por
algoritmo necesita para el algoritmo emprenderá el proceso sobre los datos de
operar. con lo recibido. entrada, una vez que termina
la ejecución del algoritmo.
● Los datos de entrada y salida pueden ser guardados en variables o constantes.
● Una variable es un elemento de datos con nombre cuyo valor puede cambiar durante el curso de la ejecución de
un programa.
● Var a=b+c. B1
● Una constante es un elemento de datos con nombre con un valor predefinido.
● Var a=3.
WWW.UMOV.MX
● Una variable contador en algoritmos lleva la contabilidad de repeticiones, eventos, accesos, etc… c= c+1.
● Una variable sumador va acumulando distintas cantidades y guarda el total. c= c + b.
1.1 Datos
En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un
tipo de dato soportado por el lenguaje de programación.
La asignación de memoria consiste en el proceso de asignar memoria para propósitos específicos, ya sea en tiempo
de compilación o de ejecución. Si es en tiempo de compilación es estática, si es en tiempo de ejecución es dinámica.
Operadores Aritméticos
01 Lógicos- Pueden unir 2 o más pares de
valores comparados.
&& , || , ! , AND , OR , NO
Por ejemplo m>10 && n<50
02 De comparación. Se encargan de unir y
comparar 2 o más valores.
== , != , < , > , <= , =>
Por ejemplo A == B
B1
03 De incremento. Aumentan o dismunyen
el valor de una variable.
+ , - , * , / , % , ++ , --
Por ejemplo Contador ++
WWW.UMOV.MX
04 Combinados. Todos o alguna
combinación de los anteriores.
Por ejemplo ((A > (B+C)) || ((D*10) > A))
1.2 Desarrollo de algoritmos
Existen cuatro tipos de algoritmos elementales en informática:
Algoritmos computacionales. Un algoritmo cuya resolución depende
del cálculo, y que puede ser desarrollado por una calculadora o
computadora sin dificultades.
Algoritmos no computacionales. Aquellos que no requieren de los
procesos de un computador para resolverse, o cuyos pasos son
exclusivos para la resolución por parte de un ser humano.
Algoritmos cualitativos. Se trata de un algoritmo en cuya resolución
B1
no intervienen cálculos numéricos, sino secuencias lógicas y/o
formales.
WWW.UMOV.MX
Algoritmos cuantitativos. Todo lo contrario, es un algoritmo que
depende de cálculos matemáticos para dar con su resolución.
1.2 Desarrollo de algoritmos
Condiciones Decisiones que se toman para tomar caminos.
si (condición) Entonces
Instrucción o bloque de Instrucciones; sino
Instrucción o bloque de Instrucciones; fin-si
Ciclos Repetir una acción, puede ser dependiendo del resultado de
otra.
i=0 repita mientras condición
para i = 0 hasta i = 4 hacer Instrucción o bloque de Instrucciones;
Instrucción o bloque de Instrucciones; fin mientras
fin para
Pruebas de escritorio Son simulaciones del comportamiento de un
B1
algoritmo, que permite determinar la validez del mismo.
Es ir ejecutando paso a paso el algoritmo, ingresando datos ya sean
WWW.UMOV.MX
correctos o incorrectos, con el fin de encontrar errores y poderlos
corregir.
1.2 Desarrollo de algoritmos
B1
WWW.UMOV.MX
1.3 Transformación de algoritmos
Los algoritmos presentan las siguientes características:
● Secuenciales. Los algoritmos operan en secuencia, debe
procesarse uno a la vez.
● Precisos. Los algoritmos han de ser precisos en su abordaje del
tema, es decir, no pueden ser ambiguos o subjetivos.
● Ordenados. Los algoritmos se deben establecer en la secuencia
precisa y exacta para que su lectura tenga sentido y se resuelva
el problema.
● Finitos. Toda secuencia de algoritmos ha de tener un fin
determinado, no puede prolongarse hasta el infinito. B1
● Concretos. Todo algoritmo debe ofrecer un resultado en base a
las funciones que cumple.
WWW.UMOV.MX
● Definidos. Un mismo algoritmo ante los mismos elementos de
entrada (input) debe dar siempre los mismos resultados.
1.3 Transformación de algoritmos
Diferentes algoritmos de ordenación
Permiten ordenar información de una manera especial basándonos en un criterio de ordenamiento.
Algoritmos estables Algoritmos inestables
Ordenamiento por inserción Ordenamiento por selección
Ordenamiento de burbuja Ordenamiento peine
Ordenamiento de burbuja direccional Ordenamiento Shell
Ordenamiento Gnome Ordenamiento por montículos
Ordenamiento por mezcla Ordenamiento rápido
Evaluación en tiempo y/o espacio de los diferentes algoritmos
Para medir el tiempo de ejecución, el algoritmo se puede transformar a un programa de computadora. Pero también
B1
hay otra forma; se puede medir el número de operaciones que realiza un algoritmo considerando el tamaño de las
WWW.UMOV.MX
entradas al mismo. Entre más grande es la entrada mayor será su tiempo de ejecución.
La depuración, entonces, es el proceso de identificación y corrección de errores de programación.
1.3 Transformación de algoritmos
Problemas tratables e intratables:
● Problemas tratables Son aquellos problemas en los que existe
al menos un algoritmo capaz de resolverlo en un tiempo
razonable.
● Problemas intratables Son aquellos que, con entradas grandes,
no pueden ser resueltos por ninguna computadora, no importa
su velocidad o memoria. Lo anterior sucede debido a que los
algoritmos que existen para soluciones a estos problemas tienen
una complejidad muy grandes.
B1
La complejidad de un algoritmos mide el grado u orden de
crecimiento que tiene el tiempo de ejecución del algoritmo dado el
WWW.UMOV.MX
tamaño de la entrada que tenga.
1.3 Transformación de algoritmos
B1
WWW.UMOV.MX
CIERRE DE BLOQUE 1
● ¿Consideras que los algoritmos son parte fundamental de la
programación?
● ¿Conocías la existencia de los problemas intratables?
● Con esto concluimos este bloque, en el cual hablamos sobre la
introducción a los algoritmos, así como la definición y los tipos de
datos.
● Los invito a que ahora continúen con su evaluación parcial.
● Si tienen alguna duda o pregunta pueden escribirme por
plataforma. B1
● Nos vemos en el siguiente bloque.
WWW.UMOV.MX