Este documento describe los fundamentos básicos de los algoritmos. Explica que un algoritmo es una secuencia de instrucciones que especifica las operaciones que debe realizar una computadora para resolver un problema. Los algoritmos deben ser precisos, definidos y finitos. También presenta ejemplos de algoritmos para calcular el área de figuras geométricas y explica cómo representar algoritmos gráficamente usando diagramas de flujo.
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/2013Carlos Castillo Valladares 1
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/2013Carlos Castillo Valladares 2
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/2013Carlos Castillo Valladares 3
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/2013Carlos Castillo Valladares 4
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/2013Carlos Castillo Valladares 5
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/2013Carlos Castillo Valladares 6
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/2013Carlos Castillo Valladares 7
8. Haremos una prueba de escritorio de
los dos problemas anteriores:
14/05/2013Carlos Castillo Valladares 8
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/2013Carlos Castillo Valladares 9
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/2013Carlos Castillo Valladares 10
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/2013Carlos Castillo Valladares 13
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/2013Carlos Castillo Valladares 14
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/2013Carlos Castillo Valladares 15
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/2013Carlos Castillo Valladares 16
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/2013Carlos Castillo Valladares 17
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/2013Carlos Castillo Valladares 18
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/2013Carlos Castillo Valladares 19