ALGORITMOS. Alumno: José Alexander Gonzales Chávez Grado: 4° Sección: A Docente: Nerita Tarrillo Dávila Curso: Educación para el trabajo
DEDICATORIA. Este trabajo va dedicado especialmente a mis padres y hermanos que gracias a sus consejos puedo mejorar en mis trabajos y asĂ poder presentar un trabajo conforme.
INDICE. Caratula Dedicatoria Índice Presentación Historia del algoritmo Algoritmos Propiedades de un algoritmo Elaboración de un algoritmo Variables, constantes, tipos de datos, expresiones, operadores Diagramas de flujo de datos Recomendaciones para dfd Ventajas de usar un dfd Símbolos usados en los algoritmos Símbolos grafico Solucionamos diagrama de flujo de datos Utilizando el software dfd Pasos para hacer un dfd Ejemplos de diagrama de flujo de datos usando el software Estructura condicionales Estructuras repetitivas o cicláis Evaluación final Bibliografía Agradecimiento
1 2 3 4 5 7 8 11 13 19 21 22 24 26 27 30 32 35 38 42 46 49 50
PRESENTACION. Tengo el agrado, de presentar este siguiente libro virtual para poder así poder conocer un poco más acerca de algoritmos, y creación de DFD. El curso está diseñado para proporcionar al alumno la madurez y los conocimientos necesarios para enfrentar, tanto una gran variedad de los problemas que se le presentarán en su vida profesional futura, como aquellos que Se le presentarán en los cursos más avanzados.
HISTORIA: La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como AlKhorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o AlKhowarizmi) que vivió entre los siglos VIII y IX. Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de reducir el numero de operaciones necesarias que formaban el cálculo. Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico. Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842.
Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó. La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.
¿Qué ES UN ALGORITMO? Un algoritmo se define como un conjunto de instrucciones para resolver un problema. En otros términos, un algoritmo es una sola prescripción determinante de un proceso de cálculos que, partiendo de diversos datos iníciales, conduce en todos los casos al resultado que le corresponde. Sería un error creer que los algoritmos son exclusivos de la informática. También son algoritmos los que aprendemos en la escuela para multiplicar y dividir números de varias cifras. De hecho, el algoritmo más famoso de la historia se remonta a la antigüedad: se trata del algoritmo de Euclides para calcular el máximo común divisor. Siempre que se desee resolver un problema hay que plantearse qué algoritmo utilizar. La respuesta a esta cuestión puede depender de numerosos factores, a saber, el tamaño del problema, el modo en que está planteado y el tipo y la potencia del equipo disponible para su resolución.
PROPIEDADES. ENUNCIADO DEL PROBLEMA: El enunciado del problema debe ser claro y completo. Para ello es importante conocer que se desea del computador, ya que así, se podrá pasar a la siguiente etapa. ANALISIS DE LA SOLUCION GENERAL:
Es preciso analizar: Los datos o resultados que se esperan. Los datos de entrada que nos suministran. Áreas de trabajo, formulas y otros recursos necesarios.
DIFERENTES ALTERNATIVAS DE SOLUCION: Es determinar cual es la mejor alternativa: la que produce los resultados esperados en el menor tiempo o al menor costo.
Características de un algoritmo: Entrada: definir lo que necesita el algoritmo. Salida: definir lo que produce. No ambiguo: explícito, siempre sabe qué comando ejecutar. Finito: El algoritmo termina en un número finito de pasos. Correcto: Hace lo que se supone que debe hacer. La solución es correcta Efectividad: Cada instrucción se completa en tiempo finito. Cada instrucción debe ser lo suficientemente básica como para que en principio pueda ser ejecutada por cualquier persona usando papel y lápiz.
ď śGeneral: Debe ser lo suficientemente general como para contemplar todos los casos de entrada.
ELABORACION DE ALGORITMOS. Debemos escribir correctamente el enunciado del problema. Luego debemos analizar: ¿Qué se quiere?, ¿Cómo se quiere?, ¿Qué deseo obtener? Por ultimo debemos buscar diferentes alternativas de solución al resultado del problema. Ejemplo : Calcular e imprimir el área de un triangulo, cuya base y altura se ingresara por teclado. ANALISIS: Imprimir el área del triangulo . Área del triangulo : BASE x Altura/2 . Ingresar: base y altura. VARIABLES: A = área
B= base H=altura DESARROLLO: Inicio: Declaración de variable
a,b,c es real ingresar.”la base del triangulo”:,b
Ingreso de datos
ingresar”la altura del triangulo”:,h Cálculos
a=(b*h) /2
Resultado
mostrar”el area del triangulo”:,a fin
VARIABLES, CONSTANTES , TIPOS DE DATOS Y EXPRESIONES.
VARIABLES: Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecuci贸n de un proceso, su contenido puede cambiar durante la ejecuci贸n del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: 谩rea = pi * radio ^ 2 Las variables son : el radio, el 谩rea y la constate es pi .
Constante: Una constante es un valor que no puede ser alterado durante la ejecución de un programa. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos. Por ejemplo: El valor de pi = 3.1416 Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.
TIPOS DE DATOS: Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos,como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el 2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación. Éste es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de las matemáticas y la lógica.
Expresiones: Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operando. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relacionales Lógicas
OPERADORES ARITMETICOS.
:
DIAGRAMA DE FLUJO DE DATOS. Los diagramas de flujo son esquemas que representan gráficamente un algoritmo por medio de los pasos de un proceso, que se realizan para entender mejor al mismo y son utilizados en programación, economía y procesos industriales. Utilizan unas series de símbolos con significados especiales. Un diagrama de flujo u organigrama es una representación diagramático que ilustra la secuencia de las operaciones que se realizan para conseguir la solución de un problema y son usados normalmente para seguir la secuencia lógicas de las acciones en el diseño de problemas de computadoras y se dibujan generalmente antes de comenzar a programar el código frente a la computadora y una que se dibuja el diagrama de flujo, llega hacer fácil escribir el programa en cualquier idioma de alto nivel. 1.- Lógica dibujada.
2.- Es la representación gráfica de la solución a un problema utilizando símbolos predefinidos para su interpretación. 3.- Es la representación gráfica del algoritmo. 4.- A nivel de programación es la representación gráfica de lo que se desea que la computadora realice. 5.- Son representaciones graficas de un algoritmo el cual muestra los pasos o procesos a seguir para alcanzar la solución de un problema. Es llamado diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de una operación y son también llamados flujo gramas. Utilizan diversos símbolos para representar operaciones específicas. En otras palabras los diagramas de flujo de datos es la solución de un problema haciendo uso de símbolos y estos símbolos están conectados mediante flechas.
RECOMENDACIONES PARA DFD. Se debe evitar el cruce de líneas utilizando los conectores. Se debe utilizar conectores solo cuando sea necesario. No debe quedar líneas de flujo sin conectar. Se debe trazar los símbolos de manera que se pueda leer de arriba hacia abajo o de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente evitando el uso de muchas palabras.
VENTAJAS DE USAR UN DFD. rápida comprensión. Analices de las diferentes secciones del programa. Puede usarse como modelo de trabajo en el diseño de nuevos programas o sistemas. Comunicación efectiva con el usuario. Documentación adecuada efectiva con el usuario. Codificación eficaz de los programas.
ďƒ˜ DepuraciĂłn y pruebas ordenadas de pruebas.
SIMBOLOS USADOS EN LOS ALGORITMOS.
SIMBOLOS GRAFICOS.
SOLUCIONANDO DIAGRAMAS DE FLUJO DE DATOS. 1. elaborar un dfd que te permita calcular e imprimir el รกrea de un triangulo.
Inicio
Ingresar b,h
A=(b*h)/2
Mostrar a
fin
2 elaborar un dfd que te indique si una persona es mayor de edad menor de edad.
inicio
Leer edad
Edad>=18
Mostrar
Mostra
“Menor de edad”
“Mayor de edad”
fin
3 elaborar un dfd que te permita calcular la suma, resta, multiplicaci贸n y divisi贸n de 2 n煤meros ingresados por teclado.
Inicio
ingresar n1,n2,s,r,m,d
S=n1+n2 r=n1-n2 m=n1*n2 d=n1/n2
Mostrar s,r,m,d
fin
UTILIZANDO EL SOFTWARE DFD. Un diagrama de flujo de datos es una técnica para representar soluciones a problemas del mundo real en forma visual, es decir, en forma gráfica. Esta técnica mediante graficas de flujo ilustra cómo diseñar los procedimientos o sentencias con coherencia lógica, que representan la solución al problema planteado. Los diagramas de flujo de datos se realizan utilizando símbolos y reglas bien definidas que representan los pasos del algoritmo y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y fin. Se puede de elaborar diagrama de flujo de datos utilizando el software DFD. Software desarrollado por el grupo Smart, de la Universidad del Magdalena (Santa Marta, Colombia) para apoyar la enseñanza de la lógica de programación a través de la utilización de los diagramas de flujo. Este
tipo software permite editar, ejecutar, correr y validar diagramas de flujo, que es el primer paso para hacer un programa. A continuación te invito a conocer el entorno gráfico del Software DFD.
El objetivo es que sepas como crear un diagrama de flujo haciendo uso del Software DFD de manera correcta y adecuada. Acá les dejo el link para poder descargar el software dfd es súper sencillo los y lo mejor es que no tiene virus y no pesa mucho y lo puedes llevar en tu USB. http://dfd.softonic.com/
Pasos para diseĂąar un Diagrama de Flujo de Datos: Primer paso: dar clic en sĂmbolo de lectura.
Segundo paso: dar clic en el s铆mbolo asignaci贸n.
Tercer paso: damos clic en salida para asĂ dar resultado.
EJEMPLOS DE DFD USANDO EL software: 1 calcular cuanto dinero ahorrara marina en una alcancía, durante un año, si cada semana ahorra n soles.
2 tres amigos hicieron una venta de libros y se reparten las ganancias de acuerdo al siguiente porcentaje: 25% para miguel, el 35% para Antonio yelm40% para Roberto. Si las ganancias fueron en soles, ÂżCuĂĄnto le corresponde a cada quien?
3 calcular cuanto va a pagar un estudiante por sus Ăştiles escolares, si se necesita 6 cuadernos cuyo precio es el mismo para todos , 2 libros del mismo valor y un millar de hojas.
“estructuras condicionales simples, dobles y múltiples”.
Existen tres tipos de estructuras condicionales Simples: Se les conoce tambi茅n como toma de decisi贸n. esta forma decisi贸n tiene la siguiente forma. Pseudoc贸digo:
Diagrama de flujo:
Dobles: Permiten elegir entre 2 opciones o alternativas posibles en funci贸n de cumplimiento o no de una determinada condici贸n. Se representa de la siguiente forma. Pseudoc贸digos:
Diagrama de flujo:
Múltiples o Anidadas: Las estructuras de comparación múltiples son tomas de decisión especializada que permite comparar por cada caso serie de instrucciones especificas la forma comunes es en sintaxis. Pseudocódigos:
Diagrama de flujo:
ESTRUCTURAS REPETITIVAS O CICLIAS. se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador)o puede ser variable (estar en función de algún dato dentro del programa). Los ciclos se clasifican en: Para. Mientras que. Repita hasta.
PARA: son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo.
MIENTRAS QUE: Esta es una estructura que repetirá un proceso durante “N” , donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando, cuando la condición ya no se cumple, entonces ya no se ejecuta el proceso.
REPITA HASTA: Esta es una estructura similar en algunas caracter铆sticas , a la anterior. Repito un proceso una cantidad de veces, pero a diferencia del mientras del MIENTRAS QUE, el REPITA HASTA lo hace hasta que la condici贸n se cumple y no mientras como en el mientras que. por otra parte , esta estructura permite realizar el proceso cuando menos una vez, ya que la condici贸n se eval煤a al final del proceso,
mientras que el MIENTRAS QUE puede ser que nunca llegue a entrar si la condici贸n no se cumple desde un principio.
EVALUACION FINAL. 1 DISEÑAR UN DFD QUE TE PERMITA SABER LA ESTATURA Y EL PESO DE UNA PERSONA Y EL CALCULO DEL INDICE DE MASA CORPORAL.
2 MARTHA DEPOSITA SUS AHORROS EN EL BANCO DE CREDITO , LE PAGAN UN INTERES DEL 3% MENSUAL 多CUANTO DINERO TENDRA A LOS SEIS MESES SI NO RETIRO NADA?. EL INTERES SIEMPRE SE APLICA SOBRE EL DEPOSITO INICIAL.
3 DOS PERSONAS DECIDEN INVERTIR SU DINERO PARA FUNDAR UNA EMPRESA CADA UNA DE EELA INVIERTE UNA CANTIDAD DIFERENTE, OBTENER EL % QUE CADA QUIEN INVIERTE CON RESPECTO A LA CANTIDAD TOTAL INVERTIDA.
4 realizar un dfd para determinar y deferenciar de una persona es o no mayor de edad.
5 realizar un dfd que nos permita determinar si ese numero es positivo o negativo.
BIBLIOGRAFIA. http://html.rincondelvago.com/algoritmos-y-diagramas-de-flujo.html
http://issuu.com/nerita1/docs/creandodiagramasdeflujo
http://bibliotecavirtualeive.files.wordpress.com/2008/09/manual-analisis-dealgoritmos.pdf
Agradecimiento. ME SIENTO MUY ORGULLOSO DE TENEREL APOYO DE MIS PADRES, HERMANOS Y TAMBIEN DE MI PROFESORA NERITA TARRILLO DAVILA QUE ME APOYARON EN TODO Y ASI HABER PODIDO CULMINAR ESTE LINDO TRABAJO. ESPERO QUE LES GUSTE.