1 3 Diseno de Algoritmos
1 3 Diseno de Algoritmos
1 3 Diseno de Algoritmos
Para resolver, o al menos plantear una posible solución, de cualquier tipo de problema
existen diferentes metodologías basadas en modelos de acuerdo al problema en
cuestión.
Esta dada por el enunciado del problema, el cual debe ser claro y completo. Es
importante que se conozca exactamente que es lo que se desea que realice la
computadora, mientras esto no se conozca del todo, no tiene mucho caso continuar con
la siguiente etapa.
Esta fase requiere una clara definición donde se contemple exactamente lo que debe
hacer el programa y el resultado o solución deseada.
Los métodos utilizados para el proceso del diseño se basan en el conocido divide y
vencerás. Es decir la resolución de un problema complejo se realiza dividiendo el
problema en subproblemas y a continuación dividir estos subproblemas en otros de
nivel mas bajo, hasta que sea implementada una solución en la computadora.
Programar un módulo.
comprobar el módulo.
Si es necesario, depurar el módulo.
Combinar el módulo, con el resto de los otros módulos.
El programa fuente debe ser traducido a lenguaje máquina. Este proceso se realiza con
el compilador y el sistema operativo que se encarga prácticamente de la compilación. Si
al compilar el programa fuente se presentan errores (errores de compilación), es
necesario volver a editar el programa, corregir los errores y compilar de nuevo. Esto se
repite hasta que ya no se presenten más errores, obteniéndose el programa objeto, el
cual todavía no es ejecutable directamente. Al ya no existir errores en el programa
fuente se debe instruir al sistema operativo para que efectúe la fase de montaje o
enlace, del programa fuente con las librerías del programa del compilador. Este proceso
de montaje produce un programa ejecutable.
Es el proceso de ejecución del programa con una amplia variedad de datos de entrada,
llamados datos de test o prueba como son: valores normales de entrada, valores
extremos de entrada que comprueben los límites del programa y valores de entrada que
comprueben aspectos especiales del programa. Estos determinarán si el programa
contiene errores o no.
Los algoritmos no se implementan sólo como programas, algunas veces en una red
neuronal biológica (por ejemplo, el cerebro humano implementa la aritmética básica o,
incluso, una rata sigue un algoritmo para conseguir comida), también en circuitos
eléctricos, en instalaciones industriales o maquinaria pesada.
a) Descripción Narrada.
b) Pseudocódigo.
c) Diagramas de Flujo.
Cada uno de estos lenguajes algorítmicos utiliza un método y reglas diferentes para
representar los pasos a seguir y plantear la solución de un problema (algoritmos).
Es una técnica para diseño de programas que permite definir las estructuras de datos,
las operaciones que se aplicarán a los datos y la lógica que tendrá el programa de
computadora para solucionar un determinado problema.
Utiliza un pseudolenguaje muy parecido a nuestro idioma, pero que respeta las
directrices y los elementos de los lenguajes de programación.
Solamente debe utilizar las palabras clave al inicio de cada paso a seguir.
No debe codificar instrucciones de ningún lenguaje de programación dentro
de los pasos a seguir.
No se olvide del orden de los pasos.
En cada paso debe indicarse lo que se quiere hacer, no como se va a hacer.
Utilice nombres apropiados de nombres dentro de los pasos, que indiquen
claramente lo que contienen.
Ejemplo. Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto,
suma y media aritmética.
1) INICIO
2) PREGUNTAR a, b, c, d
3) HACER producto = a * b * c * d
4) HACER suma=a + b + c + d
5) HACER media = suma / 4
6) MOSTRAR (producto, suma, media)
Por estas razones en los libros es más común encontrar algoritmos escritos en
pseudocódigos que diagramas de flujo, sin embargo, los diagramas de flujo cuando se
inicia en la programación son más fáciles de entender y de utilizar.
Recordemos que para elaborar los algoritmos, debemos realizar los tres primeros pasos
para resolver problemas por computadora, que son:
Veamos algunos ejemplos básicos donde apliquemos aunque de manera simple cada
uno de estos pasos, hasta el paso No.3 de la metodología para resolver problemas por
computadora, no es necesario sentarse frente a ella, básicamente consiste en entender
perfectamente el problema a resolver, de ser necesario habrá que hacer una
investigación profunda con muchos ejemplos hasta que quede completamente claro lo
que se desea obtener como resultado.
Área = Lado2
Area = Lado * Lado.
Para que la computadora o cualquier persona pueda darnos el área, requiere que le
proporcionemos el valor de cualquiera de los lados (valen lo mismo). Una vez que ya
conocemos el valor del lado, entonces, ya podemos determinar el área aplicando la
fórmula anterior.
Para que la computadora o cualquier persona pueda darnos el área, requiere que le
proporcionemos los valores de ambos lados. Una vez que ya los conocemos,
entonces, podremos determinar el área aplicando la fórmula anterior.
1.- INICIO
2.- PREGUNTAR lado1
Observación: En el Algoritmo, en una línea o figura se pueden pedir dos o más datos
al mismo tiempo.
Es importante conocer las fórmulas que permitirá determinar el área del círculo:
Para que la computadora o cualquier persona pueda darnos el área, requiere que le
proporcionemos el valor del Radio, PI no es necesario pedirlo por que es un valor
constante y nunca cambia (PI=3.14159). Una vez que ya tenemos el valor del radio,
entonces, podremos determinar el área aplicando la fórmula anterior.
1.- INICIO
2.- PREGUNTAR radio
3.- HACER area = PI*radio*radio
4.- MOSTRAR area
5.- FIN
mm = Kms*1,000,000.
1.- INICIO
2.- PREGUNTAR kms
3.- HACER mm= kms*1,000,000
4.- MOSTRAR mm
5.- FIN
En este caso se conocen las Millas y se desea convertir a kilómetros, por lo tanto,
despejamos de la fórmula y nos queda:
Kms = Millas*1.609.
dis = distancia
tiem = tiempo
vel = velocidad