fundamentos básicos de algoritmos (1)

19
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 1

Upload: karlos-valladares

Post on 13-Jun-2015

3.249 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Fundamentos básicos de algoritmos (1)

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

Page 2: Fundamentos básicos de algoritmos (1)

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

Page 3: Fundamentos básicos de algoritmos (1)

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

Page 4: Fundamentos básicos de algoritmos (1)

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

Page 5: Fundamentos básicos de algoritmos (1)

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

Page 6: Fundamentos básicos de algoritmos (1)

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

Page 7: Fundamentos básicos de algoritmos (1)

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

Page 8: Fundamentos básicos de algoritmos (1)

Carlos Castillo Valladares 8

Haremos una prueba de escritorio de los dos problemas anteriores:

14/05/2013

Page 9: Fundamentos básicos de algoritmos (1)

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

Page 10: Fundamentos básicos de algoritmos (1)

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

Page 11: Fundamentos básicos de algoritmos (1)

Carlos Castillo Valladares 11 14/05/2013

Page 12: Fundamentos básicos de algoritmos (1)

Carlos Castillo Valladares 12 14/05/2013

Page 13: Fundamentos básicos de algoritmos (1)

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

Page 14: Fundamentos básicos de algoritmos (1)

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

Page 15: Fundamentos básicos de algoritmos (1)

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

Page 16: Fundamentos básicos de algoritmos (1)

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

Page 17: Fundamentos básicos de algoritmos (1)

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

Page 18: Fundamentos básicos de algoritmos (1)

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

Page 19: Fundamentos básicos de algoritmos (1)

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