Conociendo los algoritmos claudia diaz

Page 1

CONOCIENDO LOS ALGORITMOS

 Becerra Bonilla Angie  Cruzado Ramos Ariana  Díaz Barrientes Claudia  Vásquez Ymán Mayra

1


DEDICATORIA Este trabajo está dedicado para nuestra profesora Nerita Tarrillo por su interés de que todos nosotros aprendamos y sin duda alguna para nuestros padres también por su amor y la comprensión que ellos tienen para con nosotras. Agradecemos a Dios por todo lo bueno que nos ha dado hasta ahora.

2


INDICE Conociendo los Algoritmos………………

(5)

“Variables, Constantes, Tipos de Datos, Expresiones, Operadores”……………. (14) “Diagramas de Flujo de Datos”………… (24) “Solucionando problemas con Diagramas de Flujo de Datos”………. (29) “Integrando los Aprendizajes I”………………………………………………… (35) “Creando Diagramas de Flujo de datos con el software Free DFD”... (40) “Estructuras condicionales simples, dobles y múltiples”………………… (50) “Integrando los Aprendizajes II”………………………………………………. (57) Bibliografía………………………………………… (61)

3


PRESENTACIÓN Este manual está elaborado para toda persona que esté interesada en el tema; nos hemos esforzado por elaborar un manual didáctico ya que sabemos que será más fácil de aprender más aún si se trata de algoritmos ya que no solo planteamos algoritmos en la computadora sino que también se aplica en nuestra vida diaria como por ejemplo: al encender una licuadora. Entonces muy cordialmente esperamos que este trabajo les sirva de ayuda para su aprendizaje.

4


Conociendo los Algoritmos

LOS ALGORITMOS I. HISTORIA El origen del término "algoritmo" se remonta al siglo IX y se le atribuye su invención al matemático árabe Abu Ja’far Muhammad ibn Musa al-Khwarizmi La palabra algoritmo se refería originalmente sólo a las reglas de la aritmética con números arábigos. Recién en el siglo XVIII se expandió su significado para abarcar en su definición a toda clase de procedimientos utilizados con el propósito de resolver problemas o realizar determinadas tareas. El primer caso de un algoritmo escrito para una computadora se considera que son las notas escritas por Ada Byron en 1842 para el motor analítico de Charles Babbage. Por esta razón, se considera a Ada Byron como la primera programadora de la historia. Sin embargo, dado que Babbage nunca terminó su motor analítico, el algoritmo jamás llegó a implementarse.

5


II.

CONCEPTO

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ĂĄlculo que, partiendo de diversos datos iniciales, conduce en todos los casos al resultado que le corresponde. Es el conjunto de operaciones y procedimientos que deben de seguirse para resolver un problema.

6


III. PROPIEDADES DE UN ALGORITMO Las propiedades de un algoritmo son puntos guias a seguir para su elaboración ,ya que estos llevan un mejor desarrollo del problema del computador Sus propiedades son:

ENUNCIADO DEL PROBLEMA: El enunciado del problema debe ser claro y completo. Es importante que conozcamos exactamente que se desea del computador .Mientras esto no se comprenda ,no tiene caso pasar a la siguiente etapa. ANALISIS DE LA SOLUCION GENERAL: Entendido el problema, para resolver el preciso analizar. Los datos o resultados que se espera. Los datos de entradas que nos suministran. El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados. DIFERENTES ALTERNATIVAS DE SOLUCIÓN: Analizando el problema, posiblemente tengamos varias formas de resolverlo. Lo importante es determinar cuál es la mejor alternativa: la que produce los resultados esperados en el menor tiempo o al menor costo.

IV.ANALISIS DE ALGORITMOS Como medida de la eficiencia de un algoritmo, se suelen estudiar los recursos (memoria y tiempo) que consume el algoritmo. El análisis de algoritmos se ha desarrollado para obtener valores que de alguna forma indiquen (o especifiquen) la evolución del gasto de tiempo y memoria en función del tamaño de los valores de entrada. El análisis y estudio de los algoritmos es una disciplina de las ciencias de la computación y, en la mayoría de los casos, su estudio es completamente abstracto sin usar ningún tipo de lenguaje de programación ni cualquier otra implementación; por eso, en ese sentido, comparte las características de las disciplinas matemáticas. Así, el análisis de los algoritmos se centra en los principios básicos del algoritmo, no en los de la implementación particular. Una forma de plasmar (o algunas veces "codificar") un algoritmo es escribirlo en pseudocódigo o utilizar un lenguaje muy simple tal como Léxico, cuyos códigos pueden estar en el idioma del programador.

7


Algunos escritores restringen la definición de algoritmo a procedimientos que deben acabar en algún momento, mientras que otros consideran procedimientos que podrían ejecutarse eternamente sin pararse, suponiendo el caso en el que existiera algún dispositivo físico que fuera capaz de funcionar eternamente. En este último caso, la finalización con éxito del algoritmo no se podría definir como la terminación de este con una salida satisfactoria, sino que el éxito estaría definido en función de las secuencias de salidas dadas durante un periodo de vida de la ejecución del algoritmo. Por ejemplo, un algoritmo que verifica que hay más ceros que unos en una secuencia binaria infinita debe ejecutarse siempre para que pueda devolver un valor útil. Si se implementa correctamente, el valor devuelto por el algoritmo será válido, hasta que evalúe el siguiente dígito binario. De esta forma, mientras evalúa la siguiente secuencia podrán leerse dos tipos de señales: una señal positiva (en el caso de que el número de ceros sea mayor que el de unos) y una negativa en caso contrario. Finalmente, la salida de este algoritmo se define como la devolución de valores exclusivamente positivos si hay más ceros que unos en la secuencia y, en cualquier otro caso, devolverá una mezcla de señales positivas y negativas.

8


IV.

EJERCICIOS DE ALGORITMOS

9


10


11


VI.TIPOS DE ALGORITMOS Existen dos tipos y son llamados asi por su naturaleza:  CUALITATIVOS: Son aquellos en los que se describen los pasos utilizando palabras.  CUANTITATIVOS: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. VII.CARACTERÍSTICAS DE LOS ALGORITMOS Un algoritmo debe ser preciso en indicar el orden de la realización de cada paso. Un algoritmo debe está definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún momento, o sea debe tener un número finito de pasos.

VIII.LENGUAJES ALGORITMICOS Un lenguaje algorítmico es una serie de símbolos reglas que se utilizan para describir de manera explícita un proceso.  TIPOS DE LENGUAJES Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

12


No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocòdigo) INICIO Edad: Entero Escriba: (¿Cuál es tu edad?) Lea Edad SI Edad:>=18 entonces ESCRIBA:( “Eres mayor de Edad”) FINSI ESCRIBA: fin del algoritmo

FIN

13


Variables, Constantes, Tipos de Datos, Expresiones, Operadores

VARIABLES 1.CONCEPTO 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.

2. Clasificación de las Variables

Por su contenido Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva = 0.15 pi = 3.1416 costo = 2500 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos. Variables Alfanuméricas: Está formada por caracteres alfanuméricos (letras, números y caracteres especiales). Ejemplo: letra = ’a’ apellido = ’López’ dirección = ’Av. Libertad #190’

14


Por su uso Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.

CONSTANTES Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Ejemplo: pi = 3.1416 Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del algoritmo o durante la ejecución del programa. Es un objeto de valor invariable. Para expresar una constante se escribe explícitamente su valor.

Tipos de Constantes: 

Constantes Numéricas (Enteras y Reales)

Constantes Alfanuméricas

Constantes Lógicas (Boolenas) Las constantes pueden ser: 

Constantes sin nombre: Es una expresión numérica donde se puede utilizar directamente el valor.

Constantes con nombre: Se hace una reserva de memoria en la cual se guarda el valor que será utilizado como constante. Ejemplo:

a) PI = 3.1416

b) E = 2.718228

c) Iva = 0.13

15


TIPOS DE DATOS A. Tipos de datos simples Es uno de los conceptos fundamentales de cualquier lenguaje de programación. Estos definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha información ha de ser interpretada. a.) Tipos de datos enteros Se usan para representar números enteros con signo. Hay cuatro tipos: byte, short, int y long. Tipo

Tamaño

byte

1Byte (8 bits)

short

2 Bytes (16 bits)

int

4 Bytes (32 bits)

Long

8 Bytes (64 bits)

Literales enteros Son básicos en la programación en Java y presentan tres formatos: Decimal: Los literales decimales aparecen como números ordinarios sin ninguna notación especial. Hexadecimal: Los hexadecimales (base 16) aparecen con un 0x ó 0X inicial, notación similar a la utilizada en C y C++. Octal: Los octales aparecen con un 0 inicial delante de los dígitos. Por ejemplo, un literal entero para el número decimal 12 se representa en Java como 12 en decimal, como 0xC en hexadecimal, y como 014 en octal. Los literales enteros se almacenan por defecto en el tipo int, (4 bytes con signo), o si se trabaja con números muy grandes, con el tipo Long, (8 bytes con signo), añadiendo una L o l al final del número. La declaración de variables enteras es muy sencilla. Un ejemplo de ello sería: Long numero Largo = 0xC; // Por defecto vale 12

16


b.) Tipos de datos en coma flotante Se usan para representar números con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un número de precisión simple de 4 bytes y el segundo lo hace para un número de precisión doble de 8 bytes. Tipo

Tamaño

float

4 Byte (32 bits)

double

8 Bytes (64 bits)

OPERADORES Y OPERANDO OPERADOR Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos para alcanzar un resultado. Los operadores se clasifican en tres grupos: OPERADORES ARITMETICOS Son aquéllos que permiten la realización de cálculos aritméticos. Utilizan operandos numéricos y proporcionan resultados numéricos.

Operador

Operación

+

Suma

-

Resta

*

Multiplicación

/

División real

17


Div

División entera

Mod

Residuo

^

Exponenciación

Ejemplos: 7+3 = 10 10 Div 4 = 2 7-3 = 4 20 Mod 3 = 2 7*3 = 21 5 Mod 7 = 5 10/4= 2.5 4 ^ 2 = 16 En la expresión 7+3, los valores 7 y 3 se denominan operándoos. El valor de la expresión 7+3 se conoce como resultado de la expresión. Todos los operadores aritméticos no existen en todos los lenguajes de programación, por ejemplo, en Fortran no existen Div y mod. OPERADORES Div Y Mod El símbolo / se utiliza para la división real, y el operador Div representa la división entera. Expresión

Resultado

Expresión

Resultado

10.5/3.0

3.5

10 Div 3

3

1/4

0.25

18 Div 2

9

2.0/4.0

0.5

30 Div 30

1

30/30

1.0

10 Mod 3

1

6/8

0.75

10 Mod 2

0

OPERADORES RELACIONALES

18


Permiten realizar comparaciones de valores de tipo numérico o carácter. Estos operadores sirven para expresar las condiciones en los algoritmos. Proporcionan resultados lógicos.

Operador

Significado

<

Menor que

>

Mayor que

=

Igual que

<=

Menor o igual que

>=

Mayor o igual que

<>

Diferente de

Los operadores de relación se pueden aplicar a cualquiera de los cuatro tipos de datos estándar: enteros, real, lógico y carácter. ‘A’ < ‘K’ = Verdadero ‘A’ > ‘a’ = Falso ‘MARIA’ < ‘JUAN’ = Falso (se considera la primera letra) ‘JAIME’ > ‘JORGE’ = Falso Nota: La comparación de cadenas se rige por el código ASCII. PRIORIDAD DE OPERADORES ARITMETICOS Y RELACIONALES Determina el orden en que habrán de realizarse las operaciones en una expresión determinada.

Operador

Prioridad

19


^

Alta

*, /, Div +, -, Mod Relacionales

Baja

En caso de coincidir varios operadores de igual prioridad en una expresión o sobrexpresión encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha. Cuando se desea realizar una operación con baja prioridad por adelantado, debe agruparse a los operandos involucrados. 4 + 12 /2 = 10 (sin agrupar) (4 + 12) /2 = 8 (con agrupador) Ejemplo: Obtener los resultados de las expresiones: -4 * 7 + 2 ^ 3 / 4 - 5 Solución: -4 *7 + 2 ^ ¾ Resulta: -4 * 7+ 8/4 -5 -28 + 8/4 -5 -28 + 2 - 5 -26 - 5 -31 Los paréntesis tienen prioridad sobre el resto de las operaciones. A * (B+3) La constante 3 se suma primero al valor de B, después este resultado se multiplica por el valor de A. (A*B) +3 A y B

Se multiplican primero y a continuación se suma 3.

20


A + (B/C) + D

Esta expresión equivale a A+ B/C + D

OPERADORES LOGICOS Son aquéllos que permiten la combinación de condiciones para formar una sola expresión lógica. Utilizan operandos lógicos y proporcionan resultados lógicos también.

Operador

Relación

not

Negación (No)

and

Conjunción (Y)

or

Disyunción (O)

xor

Disyunción Exclusiva (O/SOLO)

Se obtiene Verdadero si: NOT

El operando es falso

AND

Ambos operandos son verdaderos

OR

Al menos un operando es verdadero

XOR

Solo uno de los operandos son verdadero

X

Y

NOT(X)

NOT(Y)

X AND Y

X OR Y

X XOR Y

F

F

V

V

F

F

F

V

F

F

V

F

V

V

21


F

V

V

F

F

V

V

V

V

F

F

V

V

F

PRIORIDAD DE LOS OPERADORES LOGICOS Los operadores aritméticos seguían un orden específico o de prioridad cuando existía más de un operador en las expresiones. De modo similar los operadores lógicos y relacionales tienen un orden de prioridad. Ejemplos:

Not 4 > 6

Produce un error, ya que el operador not se aplica a 4.

Not (4 > 14)

Produce un valor verdadero.

(1.0<x) And (x<z +7.0)

Si x vale 7 y z vale 4, se obtiene un valor falso.

EXPRESIONES EXPRESIONES Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo:(x + y)/2 Cada expresión produce un resultado que se determina tomando los valores delas variables y constantes implicadas y la ejecución de las operaciones indicadas. Una expresión consta de operadores y operandos. Un operando es una de las entradas (argumentos) de un operador. Por ejemplo, en 5+2=7 Los operandos son 5 y 2, el signo +, es el operador y 7 es el resultado de la expresión. Todo operador debe estar entre 2 operandos.

22


Según sea el tipo de datos que manipulan, las expresiones se clasifican en: Aritméticas Relaciónales o condicionales Lógicas Expresiones Aritmética: Son aquellas en donde los operadores que intervienen ella son numéricos, el resultado es un número y los operadores son aritméticos. NOMBRE Suma Resta Multiplicación División Exponenciación Módulo División Entera

SIMBOLO ARITMETICO + X ÷ bª …….

SIMBOLO EN ALGORITMO + * / ^, **,↑ mod div

Cuando los operandos son valores enteros y la operación no es una división el resultado es un número entero, pero, si al menos uno de ellos es real, el resultado es un valor real.

23


DIAGRAMAS DE FLUJO DE DATOS

INTRODUCCIÒN El diagrama de flujo de datos, Ilustra una de las técnicas 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. Hasta la presente década para el desarrollo de cursos, tales como algoritmos y estructura de datos, no ha existido un software que permita implementar el diagrama de flujo y en especial permita su ejecución (compilación) y ver los resultados dentro del mismo diagrama de flujo, según el objetivo del problema; es decir, puede comprobar la lógica de su algoritmo o lenguaje de programación especifico (Turbo Pascal, Borland C++50, etc.). Usando el software DFD (Diagrama de Flujo de Datos).Este producto, cubre en forma eficiente la ejecución de programas usando Estructuras de control, vectores, matrices y programación modular dependiente, pero el software tiene limitaciones para implementar problemas usando Registros, Archivos, Punteros y Diseño de Programación Independiente.

1. CONCEPTO Es un gráfico lógico del plan de trabajo que se ejecutara para la solución de un determinado problema. A través de él, se planifica la solución del problema independiente del lenguaje de computación a usar. De esta manera se separa loas instrucción es un lenguaje determinado con todas las reglas. Las capacidades humanas necesarias para elaborar un diagrama de flujo correcto son: Lógico, Prácticas, y Atención. El empleo de la maquina en las funciones del procediendo de datos han hecho necesario un flujo ordenado de la información. La secuencia en que deberán ejecutarse las operaciones tendrá que definirse claramente, y cuando se combine con los datos a los que debe aplicarse, esa secuencia creara el flujo de información. No puede hacerse mucho hincapié en documentación, ósea el registro de Información .Sin Instrucciones escritas y sin representación gráfica del flujo de trabajo sería muy difícil de llevar una tarea de procediendo de datos en forma apropiada. Hay varios métodos más eficientes organizados y normalizados, es el de los diagramas de Flujo que el Futuro programador comprenda la necesidad de los diagrama de flujo.

2. OBJETIVOS a. Estructura la solución del problema independiente del lenguaje a utilizar. b. Separar la solución lógica de programación de la parte de reglas y sintaxis de codificación con esta división del trabajo se obtiene mayor eficiencia. c. Dar una visión completa del problema al programador ya que pierde en un programa ya codificado. d. Permitir una compresión más rápida del programa a otros programadores.

24


3. CARACTERISTICAS

Un diagrama de flujo siempre tiene un único punto de inicio y un único punto de término. Las siguientes son acciones previas a la realización del diagrama de flujo: Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el autor o responsable del proceso, los autores o responsables del proceso anterior y posterior y de otros procesos interrelacionados, así como las terceras partes interesadas. Definir qué se espera obtener del diagrama de flujo. Identificar quién lo empleará y cómo. Establecer el nivel de detalle requerido. Determinar los límites del proceso a describir. Los pasos a seguir para construir el diagrama de flujo son: Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente. Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico. Si el nivel de detalle definido incluye actividades menores, listarlas también. Identificar y listar los puntos de decisión. Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos. Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

4. TIPOS DE DIAGRAMAS DE FLUJO Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito. Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha. Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aún para personas no familiarizadas. Registra no solo en línea vertical, sino

25


también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra. Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.

5. RECOMENDACIONES PARA EL DISEÑO DE DIAGRAMAS DE FLUJO     

Se debe de usar líneas de flujo horizontal y/o vertical. Se debe evitar el cruce de líneas uzando los conectores Se debe usar 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.

6. VENTAJAS DE USAR DIAGRAMAS DE FLUJO       

Rápida comprensión de las relaciones Análisis efectivo de las diferentes secciones de programas Puede usarse como modelos de trabajo en el diseño de nuevos programas o sistemas Comunicación con el usuario Documentación adecuada de los programas Codificación eficaz de los programas Depuración y pruebas del programa

7. SÍMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO

Este se utiliza para representar el inicio o el fin de un algoritmo. También puede representar una parada o una interrupción programada que sea necesaria realizar en un programa.

26


Este se utiliza para un proceso determinado, es el que se utiliza comúnmente para representar una instrucción, o cualquier tipo de operación que origine un cambio de valor.

Este símbolo es utilizado para representar una entrada o salida de información, que sea procesada o registrada por medio de un periférico.

Este es utilizado para la toma de decisiones, ramificaciones, para la indicación de operaciones lógicas o de comparación entre datos.

Este es utilizado para enlazar dos partes cualesquiera de un diagrama a través de un conector de salida y un conector de entrada. Esta forma un enlace en la misma página del diagrama.

27


Este es utilizado para enlazar dos partes de un diagrama pero que no se encuentren en la misma pagina.

Este es utilizado para indicar la secuencia del diagrama de flujo, es decir, para indicar el sentido de las operaciones dentro del mismo.

Este es utilizado para representar la salida de informaci贸n por medio de la impresora.

Este es utilizado para representar la salida o para mostrar la informaci贸n por medio del monitor o la pantalla.

28


Solucionando problemas con Diagramas de Flujo de Datos”

PASOS PARA REALIZAR DIAGRAS DE FLUJO DE DATOS - Primero lee el problema detenidamente para poder llegar a una solución - Luego se analiza para sacar los datos que se insertaran en el DFD - Después se abre el DFD - Lo siguiente es selecciona el símbolo con el que se va a iniciar y se arrastra para insertarlo. - El siguiente paso es el proceso en el cual se ponen las variables que aparecerán en todo el diagrama, el símbolo del proceso es el rectángulo. - Luego se pedirán el valor para las variable, las cuales se piden por medio del símbolo de un cono - Después se les da un valor a las variables, el símbolo de este es un trapecio - Enseguida se vuelve a poner otro símbolo de proceso en el cual se pondrá alguna formula la que sea necesaria, la cual les ayudara a llegar a la solución del problema - Por último se imprime el resultado.

REGLAS EN LA ELABORACIÓN DE DFD - En los identificadores no debe de haber un número al principio. - No debe contener espacios o caracteres no válidos. - Escoger nombres con significado para los procesos, flujos, almacenes y terminadores. - Numerar los procesos. - Evitar los DFD excesivamente complejos, podrían generar más problemas que los que ya hay. - Redibujar el DFD tantas veces como sea necesario estéticamente.

29


PROBLEMAS RESUELTOS CON DIAGRAMAS DE FLUJO PROBLEMA 1: Realizar un diagrama de flujo de un programa que permita escribir en pantalla los 100 primeros nĂşmeros pares.

PROBLEMA 2:

Realizar el algoritmo y diagrama de flujo para calcular el volumen de un prisma recto.

Diagrama de flujo:

30


El volumen de un prisma recto es el producto del ĂĄrea de una de las bases por la distancia entre ellas (altura) PROBLEMA 3 Realizar el diagrama de flujo de un algoritmo que lea N nĂşmeros e imprima el porcentaje de nĂşmeros pares e impares.

31


PROBLEMA 4

Realizar el diagrama de flujo para hallar el perĂ­metro de un triangulo, el valor de los lados del triangulo se debe ingresar por teclado.

32


PROBLEMA 5

Realizar un diagrama de flujo de un programa que permita la carga de 10 valores por teclado y muestre la suma de los valores ingresados y su promedio.

33


Integrando los Aprendizajes I

EJERCICIOS TRABAJADOS 1. Realizar un diagrama de flujo de datos que permita calcular el promedio del área de Educación para el trabajo, teniendo cuenta que esta cuenta con 04 capacidades.

2. Diseñar un diagrama de flujo correspondiente a un programa que calcule el área y el perímetro de un triángulo rectángulo dada la base y la altura.

34


3. Desarrollar un diagrama de flujo de datos que permita realizar las cuatro operaciones con dos nĂşmeros ingresados por teclado.

35


–

4. Desarrollar un diagrama de flujo que nos permita cambiar una cantidad de soles a dĂłlares.

36


5. Desarrollar un diagrama de flujo que nos permita calcular el importe a pagar por un determinado artĂ­culo el cual se conozca su precio unitario.

37


38


Creando Diagramas de Flujo de datos con el software Free DFD

SOFTWARE FREE DFD I.CONCEPTO: Es una aplicación que permite crear diagramas de flujo, que se pueden utilizar para representar gráficamente una amplia gama de algoritmos, ejecutarlos y depurarlos si se encuentran errores. Con este programa, usted será capaz de guardar los diagramas en el disco duro o imprimirlos.

Fue pensado para la enseñanza de algoritmos básicos, pero se puede usar para construir algoritmos complejos usando recursión y arreglos de varias dimensiones. Dfd es un software diseñado para construir y analizar algoritmos. Usted puede crear diagramas de flujo de datos para la representación de algoritmos de programación estructurada a partir de las herramientas de edición que para éste propósito suministra el programa. Después de haber ingresado el algoritmo representado por el diagrama, podrá ejecutarlo, analizarlo y depurarlo en un entorno interactivo diseñado para éste fin. La interfaz gráfica de Dfd, facilita en gran medida el trabajo con diagramas ya que simula la representación estándar de diagramas de flujo en hojas de papel.

39


CREACIÓN DE DIAGRAMAS DE FLUJO EN DFD Para crear un diagrama de flujo en Dfd deben seleccionarse los tipos de elementos a utilizar pulsando sobre el botón de los siguientes:

Después de seleccionar el elemento a utilizar se arrastra hasta el lugar de trabajo y se suelta en el punto del diagrama que debe ir, para editar el elemento se le da doble clic sobre el mismo. -Cuando se da doble clic sobre el bloque de lectura (

) aparece la siguiente

ventana:

Dentro de la casilla leer, se deben especificar las variables que van a ser leídas separadas por coma (, ) y pulsar el botón “Aceptar”. -Para editar un elemento de asignación (

), dando doble clic aparece la

siguiente ventana:

40


En la casilla de la izquierda se coloca la variable que va a recibir la asignación y en la casilla de la derecha, el valor, la variable o la operación que se va a asignar, y después se pulsa el botón “Aceptar”. -Para editar bloque de salida ( ) damos doble clic y aparece la siguiente ventana:

Dentro de la casilla mostrar, se deben especificar las variables que van a ser mostradas en pantalla separadas por coma (,) y encerradas entre comillas simples (‘) para que se vean en la pantalla ya que es la información que se muestra durante la ejecución del diagrama. Luego pulsar el botón “Aceptar”. -Para editar el elemento decisión (

) damos doble clic y aparece la siguiente

Ventana:

En la casilla escribimos la condición que vamos a evaluar, señalar si la condición verdadera será a la derecha o la izquierda y posteriormente presionamos aceptar. A continuación mostraremos el proceso para crear un diagrama de flujo; a manera de instrucción para que se entienda y aprenda cómo hacerlo. Como podemos observar en la imagen, esta impresión es la que aparece al Instante de abrir el programa; con un circulo que indica “inicio” y otro que indica “fin”. Tal idea se muestra ya que el programa dfd está encargado de crear diagramas de flujo; los diagramas de flujo se basan en problemas algorítmicos los cuales tienen un proceso; dicho proceso es desarrollado y solucionado a través del programa, y como tal tendrá un inicio y un final; o sea la parte inicial y el momento donde termina el diagrama de flujo o cuando se llega a la solución del problema algorítmico.

41


A continuación insertaremos un bloque de salida entre la línea que une el circulo “inicio” con el circulo “fin”.

Para insertar tal bloque nos desplazaremos con el puntero del mouse hasta la barra de botones y haremos clic sobre el botón salida.

Seleccionamos el bloque dando clic y para colocarlo sobre la línea; nos ubicamos sobre ella y nuevamente clic.

42


Entonces quedara allí el bloque de “salida” que sirve para ingresar los datos que se mostraran durante la ejecución del programa. Para editar la información que se mostrara durante la ejecución damos doble clic sobre este bloque de salida recién insertado y nos aparecerá una ventana como esta:

Como podemos observar la información que se escribe en este bloque va entre comillas simple („Bienvenido‟) para poder que se muestre; de lo contrario no se verá en la pantalla posteriormente a la ejecución. Insertado y editado este bloque el proceso va así:

Ahora insertaremos un bloque de lectura; este bloque permite al programa asignar una variable que será utilizada posteriormente en un bloque de asignación para arrojar un dato o resultado a través de una operación.

43


Para colocar el bloque de “lectura” se sigue el mismo proceso que utilizamos para colocar el de “salida”. Para editar este bloque de igual manera damos doble clic y aparecerá una ventana como esta:

Al aparecer la ventana ingresamos el nombre de la variable que puede ir sola. En este caso no hay necesidad de las comillas ya que no es información de salida. El ejercicio va así:

Ahora insertaremos otro bloque de lectura con el objetivo de sumar dos valores

De igual forma escribimos el contenido entre comillas simples para que se muestre durante la ejecución.

44


Luego insertamos otro bloque de lectura donde ira el otro valor representado por el que ingrese el usuario

El ejercicio va as铆:

Ahora para que los valores ingresados por el usuario obtengan un resultado satisfactorio insertaremos un bloque de asignaci贸n, el cual hace la operaci贸n utilizando las dos variables que ya insertamos (suma y suma2).

45


El siguiente paso que arroja el resultado de la operación lo hacemos en un bloque de salida; el cual permite leer la información que va entre comillas simples y los datos, arrojados por el resultado de la suma van colocados sin comillas de la siguiente manera:

Tras haber conocido estos pasos; a continuación mostraremos como se ejecuta el ejercicio, cuando damos clic en el botón “ejecutar”.

Primera ventana:

46


Segunda ventana:

(Se ingresa el valor)

Tercera ventana:

Cuarta ventana:

(Se ingresa el segundo valor)

Quinta ventana:

47


Sexta ventana:

As铆 termina la ejecuci贸n del programa

48


Estructuras condicionales simples, dobles y múltiples

ESTRUCTURAS CONDICIONALES O DE SELECCIÓN Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. Simples: Las estructuras condicionales simples se les conocen como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:

Pseudocódigo:

Diagrama de flujo:

Dobles:

49


Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:

Pseudocódigo:

Diagrama de flujo:

Dónde: Si: Indica el comando de comparación Condición: Indica la condición a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condición Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición si no :Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente:

Pseudocódigo:

Diagrama de flujo:

50


Múltiples (En caso de): Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma es la siguiente:

Pseudocódigo:

Diagrama de flujo:

Veamos algunos ejemplos donde se aplique todo lo anterior:

51


Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y Diagrama de flujos.

Pseudocódigo:

Diagrama de flujo:

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: INICIO Not1, Not2, Not 3 : REAL Def: REAL LEA Nota1, Nota2, Nota3 Def ß (Not1 + Not2 + Not3) /3 Si Def < 3 entonces Escriba “Reprobó el curso” Sino Escriba “Aprobó el curso” Fin-Si FIN

52


Diagrama de flujo:

Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo: INICIO Altura: ENTERO ESCRIBA “Cuál es tu altura? ” LEA Altura Si Altura <=150 entonces ESCRIBA “persona de altura baja” Sino Si Altura <=170 entonces ESCRIBA “persona de altura media”

53


Sino Si Altura>170 ENTONCES ESCRIBA “persona alta” Fin-Si Fin- Si Fin-Si FIN ¡Es importante ser ordenado en el código que se escribe! Diagrama de flujo:

Dado un numero entre 1 y 7 escriba su correspondiente día de la semana así: 1- Lunes 2- Martes 3- Miércoles 4- Jueves 5- Viernes 6- Sábado 7- Domingo

54


Exprese el algoritmo usando Pseudocódigo y diagrama de flujos. Pseudocódigo INICIO Día: ENTERO ESCRIBA “Diga un número para escribir su día” LEA Día En-caso-de Día haga Caso 1: ESCRIBA “Lunes” Caso 2: ESCRIBA “Martes” Caso 3: ESCRIBA “Miércoles” Caso 4: ESCRIBA “Jueves” Caso 5: ESCRIBA “Viernes” Caso 6: ESCRIBA “Sábado” Caso 7: ESCRIBA “Domingo” SINO: ESCRIBA “Escribió un numero fuera del rango 1-7” Fin-Caso FIN Diagrama de flujo:

55


Integrando los Aprendizajes II

EJERCICIOS PLANTEADOS 1.Martha deposita sus ahorros en el Banco de Crédito, le pagan un interés del 3% mensual ¿Cuánto dinero tendrá a los seis meses si no retiró nada?. El interés siempre se aplica sobre el depósito inicial.

56


2.Tres amigos hicieron una venta de libros y se reparten las ganancias de acuerdo al siguiente porcentaje: el 25% para Miguel, el 35% para Antonio y el 40% para Roberto. Si las ganancias fueron en soles, ¿Cuánto le corresponde a cada quién?

4. Calcular cuánto dinero ahorrará Marina en una alcancía, durante un año, si cada semana ahorra n soles.

57


4.Diseñar un DFD que te permita saber la estatura y el peso de una persona y el cálculo del índice de masa corporal. La información que necesitas investigar es cuál es la fórmula para calcular el índice de masa.

58


59


BIBLIOGRAFIA http://www.buenastareas.com/ensayos/Historia-DeLos-Algoritmos/2230289.html http://www.monografias.com/trabajos/algoritmo/algo ritmo.shtml https://es.wikipedia.org/wiki/Algoritmo#Medios_de_e xpresi.C3.B3n_de_un_algoritmo http://www.slideshare.net/angelfg/ejemplos-dealgoritmos http://es.wikipedia.org/wiki/Diagrama_de_flujo http://www.monografias.com/trabajos59/diagramaflujo/diagrama-flujo.shtml http://www.tututorial.com/2013/02/tutorial-comohacer-un-diagrama-de.html http://pastranamoreno.files.wordpress.com/2012/05/ ejercicios-resueltos.pdf http://masterdfd.blogspot.com/ http://makeyna2.angelfire.com/Manual_DFD.pdf http://www.desarrolloweb.com/articulos/2225.php

60


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.