fundamentos básicos de algoritmos (1)
TRANSCRIPT
Carlos Castillo Valladares 1
FUNDAMENTOS BÁSICOS DE ALGORITMOS
Una computadora no tiene capacidad para solucionar problemas más que cuando se le
Proporcionan los pasos sucesivos a realizar, para ello elaboramos un algoritmo.
14/05/2013
Carlos Castillo Valladares 2
Es un método para resolver un problema mediante una secuencia de instrucciones, cada una de las cuales especifica las operaciones que debe realizar la computadora.
¿Qué es un algoritmo?
14/05/2013
Carlos Castillo Valladares 3
Las características fundamentales que debe cumplir todo algoritmo son: Debe ser preciso e indicar el orden de realización de cada paso. Debe estar definido. Si se sigue un algoritmo dos o más veces, con
los mismos valores iniciales se debe obtener el mismo resultado.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento, es decir, debe tener un número finito de pasos.
También hay que tener en cuenta en un algoritmo: El algoritmo sirve de base para generar un programa, pero no es
el programa en sí. El algoritmo no es inteligible directamente por el ordenador. El mismo algoritmo puede ser implementado de forma distinta en
diversos programas, es decir, dos programadores pueden obtener distintos códigos fuente a partir del mismo Algoritmo.
Características de un algoritmo
14/05/2013
Carlos Castillo Valladares 4
La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.
La información proporcionada al algoritmo constituye su entrada, el procedimiento para la
solución del problema constituye su proceso y la información producida por el algoritmo constituye su salida.
A continuación ejemplos para un mejor entendimiento:
El proceso de un algoritmo
14/05/2013
Carlos Castillo Valladares 5
Leer la base y altura de un paralelogramo. Calcular su área. Datos de Entrada ---> base y altura Proceso ---> área = base x altura Datos de Salida ---> El área del
paralelogramo
Ejemplo 01:
14/05/2013
Carlos Castillo Valladares 6
Leer el radio de una circunferencia. Calcular su área y longitud. Datos de Entrada ---> Radio de una
circunferencia. Proceso ---> Área = ¶r2 y Longitud =
2¶r Datos de Salida ---> El área y longitud de
una circunferencia.
Ejemplo 02:
14/05/2013
Carlos Castillo Valladares 7
Una vez escrito el algoritmo es necesario asegurarse de que éste realiza las tareas para las que ha sido diseñado, y que por lo tanto produce el resultado correcto y esperado.
El modo más normal de comprobar un algoritmo es mediante su ejecución manual usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel los valores que van tomando en las diferentes fases, los datos de entrada o auxiliares y, por último los valores de los resultados. Este proceso se conoce como prueba del algoritmo o prueba de escritorio.
Verificación del algoritmo o prueba de escritorio
14/05/2013
Carlos Castillo Valladares 8
Haremos una prueba de escritorio de los dos problemas anteriores:
14/05/2013
Carlos Castillo Valladares 9
Para representar un algoritmo se debe utilizar algún método que permita independizar dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un algoritmo pueda ser codificado indistintamente en cualquier lenguaje.
Para conseguir este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente, de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de programación, sino que la descripción pueda servir fácilmente para su transformación en un programa, es decir, su codificación.
Los métodos usuales para representar un algoritmo son:
Diagrama de Flujo.
Diagrama estructurado o N – S (Nassi Schneiderman).
Pseudocódigo.
REPRESENTACIÓN GRÁFICA DE LOS ALGORITMOS
14/05/2013
Carlos Castillo Valladares 10
Un diagrama de flujo es una de las técnicas de representación de algoritmos más antigua y a la vez más utilizada, aunque su empleo ha disminuido considerablemente. Un diagrama de flujo es un diagrama que utiliza los símbolos (cajas) estándar y que tiene los pasos del algoritmo escritos en esas cajas unidas por flechas, denominadas líneas de flujo, que indican la secuencia en que se deben ejecutar.
Los símbolos más utilizados en un diagrama de flujo son:
Diagrama de Flujo
14/05/2013
Carlos Castillo Valladares 11 14/05/2013
Carlos Castillo Valladares 12 14/05/2013
Carlos Castillo Valladares 13
Los símbolos más utilizados en un diagrama de flujo son:
a. inicio/fin. b. proceso. c. decisión. d. conectores. e. entrada/salida. f. dirección del flujo.
Simbolos
14/05/2013
Carlos Castillo Valladares 14
Para conocer cómo se resuelve un problema mediante el diagrama de flujo, resolveremos un ejemplo:
Ejemplo 1: El diagrama de flujo siguiente representa la resolución de nuestro primer programa que deduce el área y perímetro de un rectángulo, sabiendo que su base y altura tienen los
valores 8cm y 2cm Respectivamente.
Primer algoritmo con un diagrama de flujo
14/05/2013
Carlos Castillo Valladares 15
Explicación de nuestro primer algoritmo Lo primero que debemos hacer para realizar un algoritmo, es analizar el problema; reconocer las variables que representarán a los datos de entrada, dentro del proceso de cálculo y los datos de salida, que vamos a utilizar, procesar y encontrar.
14/05/2013
Carlos Castillo Valladares 16
Para este ejemplo hemos identificado nuestras variables a trabajar:
a. base = b b. altura = h c. área = a
d. perímetro = p
Todo algoritmo se debe comenzar con un inicio y finalizar con un fin, para ello se utilizará el símbolo terminal. Para lograr explicar con mayor claridad nuestro algoritmo, hemos incluido número de línea. Donde la explicación por línea es la siguiente:
Análisis
14/05/2013
Carlos Castillo Valladares 17
La línea 01, se utiliza el símbolo terminal junto con la palabra inicio que representa el comienzo del algoritmo. La línea 02, se utiliza el símbolo proceso donde a las variables b y h se le asignan los números 8 y 2 respectivamente. La línea 03, se utiliza el símbolo proceso donde primero se realiza la operación b * h y segundo, el resultado de esta operación se asigna a la variable a (área). La línea 04, se utiliza el símbolo conector de página, donde sirve para enlazar dos partes cualesquiera en la misma página del diagrama. Para poder enlazar los conectores podemos utilizar números o símbolos diferentes a los utilizados en el algoritmo. La línea 05, se utiliza el símbolo proceso donde primero se realiza la operación 2 * (b + h) y segundo, el resultado de esta operación se asigna a la variable p (perímetro). La línea 06, se utiliza el símbolo entrada/salida, en este caso este símbolo representa la salida de la información obtenida por el algoritmo: el área y el perímetro. La línea 07, se utiliza el símbolo terminal junto con la palabra fin que representa el fin del algoritmo.
14/05/2013
Carlos Castillo Valladares 18
El diagrama de flujo del ejemplo anterior también se puede
llevar acabo sin el uso de conectores de página o de páginas
diferentes, en el siguiente diagrama se muestra cómo sería.
Pero para este ejemplo haremos una variación en nuestro
ejemplo. En el ejemplo 1, los datos de la base y altura eran
conocidos 8cm y 2cm. En este ejemplo los datos de la base y
altura, no se conocen y se solicitan para resolver el problema;
para solicitar los datos de entrada utilizaremos el símbolo
entrada/salida.
Ejemplo 2:
14/05/2013
Carlos Castillo Valladares 19
Nota: En el ejemplo 1, los valores de b y h se conocen, por ello se
utiliza el símbolo proceso. Pero para el ejemplo 2, los valores no se conocen por tanto tienen que ser ingresados, para realizar ello en algoritmos se utiliza el símbolo entrada/salida.
14/05/2013