28
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Embed Size (px)

Citation preview

Page 1: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

ALGORITMOS

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.

Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

Page 2: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.

Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.

Page 3: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

PROGRAMA: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador

Page 4: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar

en cuatro tipos:

Page 5: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.

Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.

Page 6: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.

Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.

Page 7: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes características:

1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer.2. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos.3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada.4. Puede tener cero o más elementos de entrada.5. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.

Page 8: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.· Proceso, es la secuencia de pasos para ejecutar el algoritmo.· Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.

Page 9: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

· Diagramación libre (Diagramas de flujo).· Diagramas Nassi-Shneiderman.· Pseudocódigo.· Lenguaje natural (español, inglés, etc.).· Fórmulas matemáticas.

Page 10: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

TIPOS DE LENGUAJES ALGORÍTMICOS

•Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

•No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).

INICIO Edad: Entero ESCRIBA cual es tu edad? � � Lea Edad SI Edad >=18 entonces ESCRIBA Eres mayor de Edad � � FINSI ESCRIBA fin del algoritmo � � FIN

Page 11: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

PSEUDOCÓDIGO

Es un lenguaje simplificado para describir un algoritmo utilizando una mezcla de frases en lenguaje común, y palabras claves que indican el inicio y el fin del algoritmo y las instrucciones específicas a realizar.

Page 12: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Por ejemplo, el siguiente pseudocódigo corresponde al algoritmo para calcular el área del rectángulo: el algoritmo calcula el área (a) de un rectángulo cualquiera, si se le suministra la longitud de la base (b) y la longitud de la altura (h).

Las palabras subrayadas se llaman palabras reservadas, se deben utilizar sangrías que facilitan la lectura del algoritmo Las instrucciones en pseudocódigo son fáciles de codificar en un lenguaje de programación.

Page 13: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

DIAGRAMA DE FLUJO

El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American National Institute) e ISO (International Standard Organization para la elaboración de diagramas de flujo;En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo se visualiza dentro del símbolo adecuado. Los símbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones.

Page 14: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Por ejemplo, el siguiente diagrama de flujo corresponde al algoritmo para calcular el área del rectángulo.

Page 15: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

El ovalo rotulado con la palabra Inicio indica el comienzo del algoritmo, el paralelogramo es el símbolo de entrada de datos e indica que se lee el valor de la base (b) y el valor de la altura (h), el rectángulo es el símbolo de proceso e indica que se realiza un proceso sobre los datos de entrada para calcular el área (a) multiplicando la base por la altura, (utilizaremos el * como operador de multiplicación), el siguiente es el símbolo de salida y representa un documento e indica que se muestra el valor del área obtenido, en cualquier dispositivo de salida, finalmente el ovalo rotulado con la palabra Fin indica que se ha llegado al fin del algoritmo.

Page 16: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Los símbolos que se utilizaran para dibujar los diagramas de flujo son los siguientes:

Page 17: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Reglas para la construcción de diagramas de flujo• 1. Todo diagrama de flujo debe tener un inicio y un fin.• 2. Las líneas de flujo nunca deben cruzarse, para evitarlo deben utilizarse el símbolo conector.• 3. Las líneas de flujo deben terminar siempre en un símbolo.• 4. No puede llegar más de una línea de flujo a un símbolo.• 5. Todos los símbolos en un diagrama deben estar conectados mediante una línea de flujo; todo símbolo debe tener una línea de flujo entrando y otra saliendo salvo el símbolo que indica inicio o fin del diagrama.• 6. Como regla general el flujo del proceso debe mostrarse de izquierda a derecha y de arriba abajo.

Page 18: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

DISEÑO DEL ALGORITMO.

Se debe representar la alternativa de solución seleccionada mediante un algoritmo, el cual puede desarrollarse utilizando el pseudocódigo o el diagrama de flujo a preferencia del programador; luego se verifica si el algoritmo cumple con las características de un algoritmo. Esta verificación se conoce como prueba de escritorio.

Page 19: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

PRUEBA DE ESCRITORIO: Se debe ejecutar el algoritmo con diferentes datos de entrada para verificar si se obtienen los datos de salida esperados, en caso contrario se procede a hacer las modificaciones necesarias al algoritmo. Se recomienda verificar los resultados obtenidos en los ejercicios realizados en la etapa de análisis del problema. Los datos de prueba deben escogerse de modo a someter al algoritmo a todas las posibles situaciones que puedan darse.El diseño del algoritmo esta listo si la prueba de escritorio muestra que éste satisface las características de un algoritmo; si la prueba no es satisfactoria se revisa el pseudocódigo o el diagrama de flujo y se procede de esta manera hasta obtener los resultados esperados. La siguientes etapas son la codificación del algoritmo en el lenguaje de programación seleccionado y su prueba en la computadora.

Page 20: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

A continuación utilizamos esta metodología en el diseño de un algoritmo:Problema 1: Diseñar un algoritmo para convertir una temperatura dada en grados Fahrenheit a la correspondiente temperatura en grados Centígrados.

Page 21: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

ENTENDER EL PROBLEMAEl agua se congela a 0º Centígrados y hierve a 100º Centígrados. El agua se congela a 32º Fahrenheit y hierve a 212º Fahrenheit. Lo que indica una diferencia de 180º. Por lo tanto cada grado en la escala Fahrenheit es igual a 100/180 o 5/9 grados en la escala Celsius.Para convertir grados Fahrenheit a grados Celsius se resta 32º a los grados Fahrenheit y el resultado se multiplica por 5/9

Page 22: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Se selecciona esta alternativa de solución y se procede con el siguiente paso.

Page 23: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Declaración de los datos

Page 24: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Problema 2: Diseñe un algoritmo para calcular el área de un círculo cualquiera y la longitud de su circunferencia.

Entender el problema

Page 25: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe
Page 26: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Ejercicio 1: Consideremos un círculo de 6 centímetros de radioÁrea del circulo = 3.1416 * 6*6= 113.0976Longitud de la circunferencia = 2*3.1415 * 6 = 37.6992Declaración de los datos:Dato de entrada r: radio del círculo, numéricoDatos de salida a: área del círculo, numéricol: Longitud de la circunferencia, numérico

Page 27: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe
Page 28: ALGORITMOSALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe

Prueba de escritorio