Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad II
Karen Andrea Jom López
Introducción
• Las mejores soluciones no son las más complejas; sino aquellas que son
funcionalmente ingeniosas.
• Para obtener soluciones ingeniosas debemos hallar la manera correcta de
llevar a cabo la misma y de forma repetitiva.
• Cuando hallamos la forma correcta de ejecutar una solución y la podemos
describir formalmente, de esta forma desarrollamos un Algoritmo.
Un algoritmo es un conjunto finito de
instrucciones o pasos que sirven para ejecutar
una tarea o resolver un problema.
Definición
Procedimiento lógico-matemático, aplicado
para resolver un problema.
2. Fases:
Condiciones •
finito de pasos
Estar bien definido: Todas las ejecuciones del
que debe algoritmo con los mismos datos de entrada deben
devolver los mismos datos de salida.
cumplir un
algoritmo • Nota:
• Los algoritmos no son directamente interpretados
por una computadora, estos deben ser traducidos a
un lenguaje de programación
Lenguajes
algorítmicos
Los algoritmos pueden describirse
utilizando diversos lenguajes. Cada uno
de estos lenguajes permiten describir
Definición los pasos con mayor o menor detalle.
Lenguajes de
algoritmos La clasificación de los lenguajes para
algoritmos puede enunciarse de la
siguiente manera :
Lenguaje Natural
• Es aquél que describe en español, para nuestro caso, los pasos a seguir
utilizando un vocabulario cotidiano. Se le conoce como lenguaje
jerga cuando se utilizan términos especializados de una determinada
ciencia,
• Un ejemplo de algoritmo con Lenguaje Natural sería «Cómo ver una
película en Netflix«:
• INICIO
• Encender la televisión
• Abrir Netflix
6) 7)
DOCUMENTACIÓN MANTENIMIENTO
Definición del problema
• Esta fase está dada por el enunciado del problema, el cual requiere una
definición clara y precisa. Es importante que se conozca lo que se desea
que realice la computadora; mientras esto no se conozca del todo no tiene
mucho caso continuar con la siguiente etapa.
• Una vez que se ha comprendido lo que se desea de
la computadora, es necesario definir: Los datos de
entrada. Cuál es la información que se desea
Análisis del producir (salida) Los métodos y fórmulas que se
necesitan para procesar los datos. Una
problema recomendación muy practica es el que nos
pongamos en el lugar de la computadora y
analicemos que es lo que necesitamos que nos
ordenen y en que secuencia para producir los
resultados esperados.
Diseño del algoritmo
La depuración o prueba resulta una tarea tan creativa como el mismo desarrollo de la
solución, por ello se debe considerar con el mismo interés y entusiasmo.
Documentación
Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos, dibujos o
diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación
sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).
2. Documentación Externa
(Algoritmo, diccionario de datos)
3. Manual de usuario
• Se lleva a cabo después de
terminado el programa, cuando se
detecta que es necesario hacer
algún cambio, ajuste o
Mantenimiento complementación al programa
para que siga trabajando de
manera correcta. Para poder
realizar este trabajo se requiere
que el programa este
correctamente documentado.
Entidades primitivas
para el Desarrollo
de algoritmos
Los Datos
• Datos numéricos
Permiten representar valores escalares de forma numérica, esto incluye a los
números enteros y los reales. Este tipo de datos permiten realizar
operaciones aritméticas.
Ejemplo:
4, 5, 7, 97
2.33, 4.59, 5.0
Tipos de datos simples
• Lógicos o boleanos
Es aquel dato que sólo puede tomar uno de dos valores (verdadero o falso)
ya que representan el resultado de una comparación entre otros datos
(numéricos o alfanuméricos).
Ejemplo:
3>4, a=b, saldo=valor
Tipos de datos simples
Prioridad de
los Dentro de la misma expresión los operadores se evalúan en el siguiente
operadores
orden:
*, /, mod multiplicación,
^ Exponenciación +, - suma y resta
división, modulo.
aritméticos
Los operadores en una misma expresión con igual nivel de prioridad se
evalúan de izquierda a derecha.
Se utilizan para establecer una relación entre dos
valores.
Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no
se solucionan hasta que la programación alcanza la fecha límite para la integración total del
sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los
usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran.
Divide y Vencerás
• Tanto el ordenamiento por mezcla como el ordenamiento rápido
emplean un paradigma algorítmico común que se basa en la
recursividad. Este paradigma, divide y vencerás, separa un problema
en subproblemas que se parecen al problema original, de manera
recursiva resuelve los subproblemas y, por último, combina las
soluciones de los subproblemas para resolver el problema original.
• Tres partes importantes:
• Divide el problema en un número de
subproblemas que son instancias más
pequeñas del mismo problema.
• Vence los subproblemas al resolverlos de
manera recursiva. Si son los suficientemente
Divide y pequeños, resuelve los subproblemas como
casos base.
Vencerás • Combina las soluciones de los subproblemas en
la solución para el problema original.