Manual de algoritmos

Page 1


INSTITUCIÓN EDUCATIVA: My. PNP. “Félix Tello Rojas”

ÁREA: Educación Para el Trabajo

PROFESORA: Nérita Tarrillo Dávila

ALUMNO: Salazar Aurich, Miguel

AÑO y SECCIÓN: 4° “D”



I. II.

III. IV. V. VI. VII. VIII. IX.

Presentación Sesión 1: “Conociendo los Algoritmos” Sesión 2: “Variables, Constantes, Tipos de Datos, Expresiones, Operadores y Operandos” Sesión Extra: “Pseudocódigos” Sesión 3: “Diagramas de Flujo de Datos” Sesión 4: “Solucionando Problemas con Diagramas de Flujo de Datos” Sesión 5: “Integrando los Aprendizajes I” Sesión 6: “Creando Diagramas de Flujo de Datos con el Software Free DFD” Sesión 7: “Estructuras Condicionales Simples, Dobles y Múltiples” Sesión 8: “Integrando los Aprendizajes II”


Este Manual de Algoritmos tiene como objetivo expresar todos los conocimientos que he ido adquiriendo en clases del “Área de Educación Para el Trabajo”, a cargo de la profesora Nérita Tarrillo Dávila, de la Institución Educativa My. PNP. “Felix Tello Rojas”. El Manual contiene una vasta información acerca de lo que es un algoritmo, sus características, forma de desarrollarlos a través de Pseudocódigos y Diagramas de Flujo de Datos, entre otras cosas importantes. Espero poder satisfacer las necesidades del lector y solucionar las dudas que tenga acerca de Algoritmos.


1. Definiciones de Algoritmo En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida). 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. 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 caos al resultado que le corresponde.

Además: Un algoritmo de transforma en una herramienta de computadora cuando se han preparado instrucciones adecuadas para que la computadora pueda llevarlos a cabo. Estas instrucciones deberán comunicarse a la computadora en un lenguaje que pueda “entenderse”, tal lenguaje de conoce como lenguaje de programación.

2. Características de un Algoritmo Las características fundamentales que debe cumplir todo algoritmo son: 

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.


Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.

Un algoritmo debe ser finito. el algoritmo se debe terminar en algún momento; o sea, debe tener un número finito de pasos.

Un algoritmo debe ser legibles: El texto que lo describe debe ser claro, tal que permita entenderlo y leerlo fácilmente.

Un algoritmo debe definir tres partes: Entrada, Proceso y Salida. Ejemplo: el algoritmo de receta de cocina se tendrá: 

Entrada: ingrediente y utensilios.

Proceso: elaboración de la receta en la cocina.

Salida: terminación del plato (por ejemplo, Pollo al horno)

3. Medios de Expresión de un Algoritmo Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico. La descripción de un algoritmo usualmente se hace en tres niveles: 1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. 2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución. 3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones. También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.


4. Propiedades de un Algoritmo Las propiedades de un algoritmo son puntos guía a seguir para su elaboración. Sus propiedades son:

4.1. Enunciado del Problema El enunciado del problema debe de ser claro y completo. Es importante que conozcamos exactamente lo que deseamos que haga el computador. Mientras esto no se comprenda, no tiene caso pasar a la siguiente etapa.

4.2 Análisis de la Solución General Entendido el problema, para resolverlo es preciso analizar: 

  

Los datos de entradas que nos suministran. El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados. Los datos o resultados que se esperan. Áreas de trabajo, fórmulas y otros recursos necesarios. Definir condiciones si las hay

4.3 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 y costo.

5. Elaboración de un Algoritmo Los conocimientos adquiridos anteriormente son las herramientas necesarias para llevar a cabo la elaboración de un algoritmo a través de un problema. Se recomienda tomar en cuenta cada una de las propiedades de un algoritmo, ya que de ahí se inicia el proceso de elaboración.

Ejemplo 1: Supongamos que se necesita calcular e imprimir el área de un triángulo cuya base y altura se suministrarán en un disco.


Procedimiento: Escribir correctamente el enunciado del problema. “Calcular e imprimir el área de un trapecio cuya base mayor, base menor y altura se suministrarán de un disco”.

I.

Análisis: 1.  ¿Qué se quiere? Calcular el área de un Trapecio  ¿Cómo se quiere? Se quiere calcular a través de una fórmula. Área del Trapecio = (Base Mayor + Base Menor) x Altura 2  ¿Qué deseo obtener? Imprimir el área del Cuadrado y suministrar los resultados en un disco

2. Solución: Variables utilizadas en esta solución: De Lectura

Para almacenar

Base Mayor

- El valor correspondiente a la base mayor del rombo. -El valor correspondiente a la base menor del rombo. - El valor correspondiente a la altura del cuadrado.

Menor Altura

II.

Buscar Diferentes Alternativas de Solución al Resultado del Problema. Ejemplo: El problema pide imprimir el área del Rombo como resultado, un disco.

Algoritmo: Problema para calcular el área de un rombo.


Ejemplo 2: Se necesita calcular e imprimir el perímetro de un cuadrado cuyo lado se suministrará en un disco.

Procedimiento: Escribir correctamente el enunciado del problema. “Calcular e imprimir perímetro de un cuadrado cuyo lado se suministrará en un disco”.

III.

Análisis: 2.  ¿Qué se quiere? Calcular el perímetro de un cuadrado  ¿Cómo se quiere? Se quiere calcular a través de una fórmula. Perímetro del Cuadrado = 4 x Lado  ¿Qué deseo obtener? Imprimir el Perímetro del Cuadrado y suministrar los resultados en un disco

2. Solución: Variables utilizadas en esta solución:

De Lectura Lado

IV.

Para almacenar - El valor correspondiente al lado del cuadrado.

Buscar Diferentes Alternativas de Solución al Resultado del Problema. Ejemplo: El problema pide imprimir el área del cuadrado como resultado, un disco.


Algoritmo: Problema para calcular el área de un cuadrado.

1. Variables y Constantes 1.1. 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.

Otro concepto de Variables: Son características, cualidades, propiedades, atributos de hechos, fenómenos, procesos, seres vivos, y son observables, medibles cualitativa como cuantitativamente y susceptibles de adoptar distintos valores.

1.2. Constantes: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Ejemplo: Área del Círculo = pi * radio ^ 2  Las variables son: el radio y el área  La constate es : pi


2. Características de las Variables  Las variables son observables y no imaginables.  Las variables son cambiantes porque asumen diferentes valores, categorías, ubicación.  Las variables son medibles cuantitativamente como cualitativamente.  Las variables tienen un referente conceptual porque emanan del conocimiento teórico, de la realidad.

Además: Para los nombres de variable se aplican las siguientes normas: El nombre debe comenzar por una letra. Los nombres de variable no pueden terminar en punto. No se pueden utilizar espacios en blanco ni caracteres especiales. Cada nombre de variable debe ser único; no se permiten duplicados. Los nombres de variable se pueden definir combinando de cualquier manera caracteres en mayúsculas y en minúsculas, esta distinción entre mayúsculas y minúsculas se conserva en lo que se refiere a la presentación.

3. Clasificación de las Variables


A) 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: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).

b) 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.

4. Tipo de Datos Debido a que las variables contienen o apuntan a valores de tipos determinados, las operaciones sobre las mismas y el dominio de sus propios valores están determinadas por el tipo de datos en cuestión. Algunos tipos de datos usados:


Tipo de dato lógico. Tipo de dato entero. Tipo de dato de coma flotante (real, con decimales). Tipo de dato carácter. Tipo de dato cadena

Tipo de Dato Lógico: El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, valores que normalmente representan falso o verdadero. Se utiliza normalmente en la programación, estadística, electrónica, matemáticas(Álgebra booleana), etc. Para generar un dato o valor lógico a partir de otros tipos de datos, típicamente, se emplean los operadores relacionales (u operadores de relación), por ejemplo: 0 es igual a falso y 1 es igual a verdadero.

Tipo de Dato Entero: Un tipo de dato entero en computación es un tipo de dato que puede representar un subconjunto finito de los números enteros. El número mayor que puede representar depende del tamaño del espacio usado por el dato y la posibilidad (o no) de representar números negativos. Los tipos de dato entero disponibles y su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión.

Tipo de Dato de Coma Flotante(real, con decimales): La representación de coma flotante (en inglés floating point, „punto flotante‟) es una forma de notación científica usada en los CPU,GPU, FPU, etc, con la cual se pueden representar números reales extremadamente grandes y pequeños de una manera muy eficiente y compacta, y con la que se pueden realizar operaciones aritméticas.

Tipo de Dato Carácter: Es una unidad de información que corresponde aproximadamente con un grafema o con una unidad o símbolo parecido, como los de un alfabeto o silabario de la forma escrita de un lenguaje natural. Un ejemplo de carácter es una letra, un número o un signo de puntuación.

Tipo de Dato Cadena: En programación, una cadena de caracteres, palabra, ristra de caracteres o frase(string en inglés) es una secuencia ordenada de longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto lenguaje formal o alfabeto análogas a una frase o a una oración. En general, una cadena de caracteres es una sucesión de caracteres(letras, números u otros signos o símbolos). Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía; en teoría de autómatas es común denotar a la misma por medio de la letra griega .


5. 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 operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en: Aritméticas Relacionales Lógicas

6. Operadores y Operandos Los operadores son elementos que relacionan de forma diferente, los valores de una o más variables y/o constantes. Es decir, los operadores nos permiten manipular valores. Un operando es un valor (un argumento) con el cual la instrucción, nombrada por un mnemónico, opera. El operando puede ser un registro, una dirección de memoria, una constante literal, o una etiqueta.

A) Operadores Aritméticos Los operadores aritméticos permiten la realización de operaciones matemáticas con los valores (variables y constantes).


Los operadores aritméticos pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real.

Operadores Aritméticos + Suma Resta * Multiplicación / División mod Modulo (residuo de la división entera) Ejemplos: Expresión 7/2 12 mod 7 4+2*5

Resultado 3.5 5 14

B) Operadores Relacionales Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Tipos de operadores Relacionales > Mayor que < Menor que > = Mayor o igual que < = Menor o igual que < > Diferente = Igual Ejemplos: Si a = 10, b = 20, c = 30


a+b>c a-b<c a-b=c a*b<>c

Falso Verdadero Falso Verdadero

Ejemplos no lógicos: a<b<c 10 < 20 < 30 T > 5 < 30 (no es lógico porque tiene diferentes operandos)

C) Operadores Lógicos Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional. Tipos de operadores Lógicos And Y Or O Not Negación Ejemplo: Para los siguientes ejemplos T significa verdadero y F falso.

Operador Not Operador Not Operando T F

Resultado F T


Operador And Operador And Operand o1 T

Operad or AND

Operand o2 T

Resulta do T

T

F

F

F

T

F

F

F

F

Operador Or Operador Or Operand o1

Operad or

Operand o2

Resulta do

T T F F

Or

T F T F

T T T F

7. Prioridad de los Operadores  Prioridad de los Operadores Aritméticos Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden: 1. ^ Exponenciación 2. *, /, mod Multiplicación, división, modulo. 3. +, - Suma y resta. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha. Ejemplos:


4 + 2 * 5 = 14 3 + 5 * (10 - (2 + 4)) = 23

23 * 2 / 5 = 9.2 2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98

 Prioridad de los Operadores Relacionales Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación. Los operadores relaciónales tiene menor prioridad que los aritméticos.

 Prioridad de los Operadores Lógicos 1. Not 2. And 3. Or

Prioridad de los Operadores en General 1. 2. 3. 4. 5.

() ^ *, /, Mod, Not +, -, And >, <, > =, < =, < >, =, Or

Ejemplos: Sea: a = 10 b = 12 c = 13 d =10


1. Conceptos de Pseudocódigos El pseudocódigo (o falso lenguaje) es una descripción informal1 de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. El lenguaje de programación se complementa, donde sea conveniente, con descripciones detalladas en lenguaje natural, o con notación matemática compacta. Se utiliza pseudocódigo pues este es más fácil de entender para las personas que el código de lenguaje de programación convencional, ya que es una descripción eficiente y con un entorno independiente de los principios fundamentales de un algoritmo. A veces, es considerado como un “Boceto” de lo que posteriormente será programado, y hasta es utilizado para poder difundir un diseño o una estructura de un programa, utilizándose algunas palabras en Lenguaje de Programación, pero predominando más que nada las que se utilizan en forma coloquial, de uso cotidiano. Se trata entonces de un “Paso Previo” a la utilización del Software de Programación, sin tener un formato o una composición que debe ser seguida indefectiblemente, sino que se trata de realizar un diseño general, que a veces hasta es más exacto de lo que posteriormente será volcado en el Lenguaje de Alto Nivel. En pseudocódigo se describen los algoritmos utilizando una mezcla de lenguaje común, con instrucciones de programación, palabras claves, etc. El objetivo es que el programador se centre en la solución lógica del algoritmo y no en la implementación en un lenguaje de programación concreto (con las posibles complicaciones en las reglas sintácticas), o en otras palabras, sólo ayudan a "pensar" un programa antes de escribirlo en


un lenguaje de programación formal.

2. Aplicación Un programador que tiene que aplicar un algoritmo específico, sobre todo uno desfamiliarizado, generalmente comienza con una descripción en pseudocódigo, y luego "traduce" esa descripción en el lenguaje de programación meta y lo modifica para que interactúe correctamente con el resto del programa. Los programadores también pueden iniciar un proyecto describiendo la forma del código en pseudocódigo en el papel antes de escribirlo en su lenguaje de programación. La finalidad de la utilización entonces de un Pseudocódigo está ligada simplemente a la agilización, entonces, ya que no tiene que tener en cuenta su utilización las distintas Normativas y Reglamentaciones que tiene en cuenta un Lenguaje de Programación determinado o la aplicación que se utiliza para programar y posterior compilación (es decir, no tiene en cuenta la utilización de un Lenguaje de Alto Nivel)

3. Características de los Pseudocódigos Las principales características de este lenguaje son: 1. Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX, Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y Algor) 2. Es una forma de representación sencilla de utilizar y de manipular. 3. Facilita el paso del programa al lenguaje de programación. 4. Es independiente del lenguaje de programación que se vaya a utilizar. 5. Es un método que facilita la programación y solución al algoritmo del programa. Todo documento en pseudocódigo debe permitir la descripción de: 1. Instrucciones primitivas. 2. Instrucciones de proceso.... 3. Instrucciones de control.


4. Instrucciones compuestas. 5. Instrucciones de descripción.

4. Partes de un Pseudocódigo Estructura a seguir en su realización: 1. Cabecera. 1. Programa. 2. Módulo. 3. Tipos de datos. 4. Constantes. 5. Variables. 2. Cuerpo. 1. Inicio. 2. Instrucciones. 3. Fin.

5. Ventajas de los Pseudocódigos Los pseudocódigos presentan los siguientes beneficios: 1. Ocupan mucho menos espacio en el desarrollo del problema. 2. Permite representar de forma fácil operaciones repetitivas complejas. 3. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal. 4. Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa. 5. En los procesos de aprendizaje de los alumnos de programación, éstos están más cerca del paso siguiente (codificación en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo). 6. Mejora la claridad de la solución de un problema.


6. Desarrollo de un Algoritmo Calcular e imprimir el área de un triángulo, cuya base y altura son ingresados por teclado.

Análisis: Imprimir el Área del triángulo Área del Triángulo = Base x Altura 2 Base = b → Datos

Altura = h → Área = a → Variables

Desarrollo: Inicio Declaración de Variables

b, h, a es real

Ingreso de Datos

Ingresar “La base es:”, b Ingresar “La altura es:”, h

Cálculo

a= (b*h)/2

Mostrar Resultado

Mostrar “El área del triángulo es:”, a Fin


7. Actividades 1. Diseña un algoritmo para hallar en área de un círculo. Análisis: Hallar el área de un círculo Área del Círculo =

Radio = Área

=

r

x radio2

a →

Desarrollo: Inicio r, a es real Ingresar “El radio del círculo es:”, r a= *r^2 Mostrar “El área del círculo es:”, a Fin

2. Diseña un algoritmo correspondiente a un programa que pida por teclado dos números enteros y muestre su suma, resta, multiplicación. Análisis: Hallara la Suma, Resta y Multiplicación de Dos Números Enteros.


Suma = Número 1 + Número 2 Resta = Número 1 – Número 2 Multiplicación = Número 1 x Número 2 Número 1

=

a

Número 2

=

b

Suma

=

s

Resta

=

r

Multiplicación = m →

Desarrollo: Inicio a, b, s, r, m es real Ingresar “El Número 1 es:”, a Ingresar “El Número 2 es:”, b s=a+b r=a–b m=a*b Mostrar “La Suma de los Números es:”, s Mostrar “La Resta de los Números es:”, r Mostrar “La Multiplicación de los Números o es:”, m Fin


1. Conceptos de Diagrama de Flujo de Datos Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados. El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. Es una serio de pasos ordenados para solucionar un problema haciendo uso de símbolos, cada símbolo conectado mediante una flecha de flujo. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

2. Recomendaciones para el diseño de Diagramas de Flujo Se deben usar solamente líneas de flujos horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores sólo cuando sea necesario. No deben quedar líneas de flujo sin conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.


3. Ventajas de Usar Diagramas de Flujo Rápida comprensión de las relaciones. Análisis efectivo de las diferentes secciones del programa. Pueden 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 ordenadas de programas.

4. Símbolos Usados en los Algoritmos


5. Ejemplo con Diagramas de Flujo de Datos. Elaborar un DFD que te permita calcular e imprimir el รกrea de un cuadrado. Inicio

b, h, a es real

Ingresar b y h

a=b*h

Mostrar a

Fin


1. Introducción: Para la solución de diversos problemas que se presentan en nuestras vidas se necesita de los Algoritmos que es una serie de pasos organizados que describe el proceso que se debe seguir. Los algoritmos pueden representarse a través de Pseudocódigos y Diagramas de Flujo de Datos. En esta sesión trabajaremos los Diagramas de Flujos de Datos (DFD). Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre sí mediante líneas que indican el orden en que se deben ejecutar los procesos.

2. Características 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.

3. Desarrollo de Ejercicios Propuestos de la WebQuest:”Solucionando Problemas con Diagramas de Flujo de Datos”





1. “Conociendo los Algoritmos” a) ¿Qué son los Algoritmos? 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 caos al resultado que le corresponde.

b) ¿Cuáles son las Propiedades de un Algoritmo? Enunciado del Problema Análisis de la Solución General Diferentes alternativas de solución

c) ¿Cómo se elabora un Algoritmo? Para elaborar un algoritmo se deben tomar en cuenta las propiedades de estos, ya que de ahí se inicia el proceso de elaboración. Comprende las siguientes partes: 1. Análisis: ¿Qué se quiere? ¿Cómo se quiere? ¿Qué deseo obtener? Solución:

2. Buscar Diferentes Alternativas de Solución al Resultado del Problema.

2. “Variables, Constantes, Tipos de Datos, Expresiones, Operadores y Operandos” a) ¿Qué es una Variable? 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.


b) ¿Qué es una Constante? Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

c) ¿Qué es una Expresión? Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.

d) ¿Cuáles con los tipos de Operadores? Operadores Aritméticos Operadores Relacionales Operadores Lógicos

3.”Pseudocódigos” a) ¿Qué son Pseudocódigos? El pseudocódigo (o falso lenguaje) es una descripción informal1 de alto nivel de un algoritmo informático de programación, compacto e informal, que utiliza las convenciones estructurales de un lenguaje de programación verdadero , pero que está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

b) ¿Cuáles son las ventajas de trabajar con Psudocódigos? 1. Ocupan mucho menos espacio en el desarrollo del problema. 2. Permite representar de forma fácil operaciones repetitivas complejas. 3. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de programación formal. 4. Si se siguen las reglas de identación se puede observar claramente los niveles en la estructura del programa. 5. En los procesos de aprendizaje de los alumnos de programación, éstos están más cerca del paso siguiente (codificación en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo). 6. Mejora la claridad de la solución de un problema.


c) Resuelve el Siguiente Problema con ayuda de Pseudocódigos: Calcular e imprimir el área de un Rombo, cuya base y altura son ingresados por teclado.

Análisis: Imprimir el Área del Rombo Área del Rombo = Diagonal Mayor x diagonal menor 2 Diagonal Mayor = m → Datos

Diagonal Menor =

n →

Área

a →

=

Variables

Desarrollo: Inicio Declaración de Variables

m, n, a es real

Ingreso de Datos

Ingresar “La diagonal mayor es:”, m Ingresar “La diagonal menor es:”, n

Cálculo

a= (m*n)/2

Mostrar Resultado

Mostrar “El área del triángulo es:”, a Fin


4. “Diagramas de Flujo de Datos” a) ¿Qué es un Diagrama de Flujo de Datos? Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de cómo deben realizarse los pasos en la computadora para producir resultados.

b) ¿Cuáles son las Ventajas de Utilizar los Diagramas de Flujo de Datos? Rápida comprensión de las relaciones. Análisis efectivo de las diferentes secciones del programa. Pueden 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 ordenadas de programas.

c) Escribe el Nombre de los Siguientes Símbolos Terminador

Conector

Condicional

Proceso

Datos


5. “Solucionando Problemas con Diagramas de Flujo de Datos” a) ¿Cuáles son las Acciones Previas a la Realización del Diagrama de Flujo de Datos? 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.

b) ¿Cuáles son los pasos para Construir un Diagrama de Flujo de Datos? 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.


c) Resuelve el Siguiente Problema con la Ayuda de un Diagrama de Flujo de Datos. Dise単ar un Diagrama de Flujo que te permita calcular e imprimir el promedio de 5 notas ingresadas por teclado.

Inicio

N1, N2, N3, N4, N5, p es real

Leer N1, N2, N3, N4, N5

P = (N1 + N2 + N3 + N4 + N5)/5

Mostrar P

Fin


1. Introducción 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.

2. ¿Qué es el Programa Free DFD? El dfd es un programa, diseñado para analizar y construir los algoritmos. Sepueden crear diagramas de flujo de datos para representar algoritmos; estos son problemas planteados que se pueden solucionar a través de un proceso específico, teniendo en cuenta que el mismo proceso aplica solo para el mismo problema, entonces podríamos decir que para cada problema algorítmico se aplica una solución diferente. El programa posee una serie de herramientas y comandos para utilizar en la construcción de algoritmos.


3. Ventana Principal de DFD


4. Barra de Menús de DFD

Aquí encontramos las siguientes opciones:

Archivo: Este menú se encarga del manejo del archivo que estemos trabajando. Están los siguientes comandos: Nuevo: Para crear un nuevo archivo DFD. Abrir: Para abrir un archivo DFD guardado. Guardar: Para guardar el archivo que se está utilizando. Guardar como: Para guardar con un nombre diferente el DFD que se está utilizando. Imprimir: Para imprimir el archivo DFD abierto. Salir: Para terminar la sesión.

Edición: Este menú es el encargado de manejar los comandos de Edición del Archivo dfd: Cortar: Para quitar un elemento del archivo Copiar: Para copiar el elemento marcado en el archivo Pegar: Para pegar en el diagrama el elemento copiado o cortado anteriormente. Eliminar: Para borrar el elemento marcado en el archivo. Editar Objeto: Para cambiar el contenido del elemento marcado. Objeto: En este menú se utilizan todos los comandos que están representados en iconos en la misma ventana principal.

Ver: Este menú habilita los siguientes comandos: Zoom: Para ampliar o disminuir la vista general del archivo. Anterior Subprograma: Para ver el archivo del anterior subprograma cuando exista. Siguiente Subprograma: Para ver el archivo del siguiente subprograma cuando exista.


Ejecución: Este menú activa la ejecución del diagrama, contiene los siguientes comandos: Ejecutar: Para iniciar la ejecución del archivo. Pausar: Para pausar la ejecución. Detener: Para interrumpir la ejecución.

Depuración: Controla las actividades de avance del archivo. Se compone de los siguientes comandos: Paso Simple: Analiza cada elemento paso a paso e indica el recorrido delineando la zona con un color. Ejecutar Hasta: Permite marcar un elemento dentro del archivo y realizar la ejecución del diagrama solo hasta ese punto. Detener: Para interrumpir el avance.

4. La Barra de Botones

(Nuevo): Crea un nuevo archivo dfd

(Abrir): Abre un archivo dfd existente.

(Guardar): Guarda el archivo que se está trabajando.

(Imprimir): Imprime el archivo que se está trabajando.

(Cortar): Quita un elemento del archivo y se guarda para pegarlo después.

(Copiar): Copia un elemento seleccionado para pegar en otra ubicación


(Pegar): Pega un elemento en una ubicación seleccionada.

(Eliminar): Borra el elemento marcado en el archivo.

(Ejecutar): Inicia la ejecución del archivo.

(Detener): Interrumpe la ejecución.

(Pausar): Pausa la ejecución.

(Paso simple): Analiza cada elemento del archivo y lo marca o delinea con un color para saber la ubicación de análisis. (Ejecutar hasta): Realiza la ejecución solo hasta un punto marcado.

(Depurador): Activa el depurador del diagrama.

(Alejar): Aleja la vista y la reduce. (Acercar): Acerca la vista o la aumenta

(Cursor): Activa el puntero del mouse para moverse en el archivo y marcar elementos.

(Asignación): Inserta un elemento de asignación en el archivo.

(Ciclo mientras): Inserta un elemento mientras en el diagrama.

(Ciclo para): inserta elemento de ciclo para en el diagrama.

(Decisión): Inserta bloque de decisión en el archivo.


(Lectura): Inserta bloque de lectura en el diagrama.

(Salida): Inserta los datos que se verán en la pantalla cuando se ejecute el programa.

5. Desarrollo de Ejercicios Propuestos de la WebQuest:”Creando Diagramas de Flujo de Datos con DFD”





1. Concepto de Estructuras Condicionales 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.

2. Tipos de Estructuras Condicionales Existen tres tipos básicos, las simples, las dobles y las múltiples.

2.1. Estructuras Condicionales 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:


2.2. Estructuras Condicionales Dobles: 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:

Donde: 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.

2.3. Estructuras Condicionales Múltiples Las estructuras de comparación múltiples, son tomas de decisión especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas.


La forma común es la siguiente: Pseudocódigo:

Diagrama de flujo:

2.3.1. Estructuras Condicionales 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 especificas. La forma es la siguiente:

Pseudocódigo:

Diagrama de flujo:


1. “Creando Diagramas de Flujo de Datos con el Software Free DFD” a) ¿Qué es el Software DFD? El DFD es un programa desarrollado por el grupo Smart, de la Universidad del Magdalena (Santa Marta, Colombia), diseñado para analizar y construir los algoritmos. El DFD ha sido diseñado 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.

b) Indique la Función de los Siguientes Botones del Programa DFD Inserta un elemento de asignación en el archivo.

Inserta un elemento mientras en el diagrama.

Inserta elemento de ciclo para en el diagrama.

Inserta bloque de decisión en el archivo.

Inserta bloque de lectura en el diagrama.

Inserta los datos que se verán en la pantalla cuando se ejecute el programa.


c) Resuelve el Siguiente Problema Utilizando el Software DFD “Calcular cuánto dinero recibirá un profesor en 1 año, si trabaja 12 horas semanales y gana x soles por hora.”

2. “Estructuras Condicionales Simples, Dobles y Múltiples” a) ¿Qué son Estructuras Condicionales? 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.


b) ¿Cuáles son los tipos de estructuras Condicionales que Existen? Estructuras Condicionales Simples Estructuras Condicionales Dobles Estructuras Condicionales Múltiples

c) Resuelve el Siguiente Problema utilizando Estructuras Condicionales Simples y Dobles: Elaborar un DFD que te permite imprimir si una persona es mayor o menor de edad. Estructura Condicional Simple: Inicio

b, h, a es real

Ingresar b y h

Edad >= 18

V

Imprimir “Mayor de Edad”

Fin


Estructura Condicional Doble:

Inicio

b, h, a es real

Ingresar b y h

F

Edad >= 18

Imprimir “Menor de Edad”

V

Imprimir “Mayor de Edad”

Fin


https://es.wikipedia.org/wiki/Algoritmo http://informaticafrida.blogspot.com/2009/03/algoritmo.html http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo http://www.alegsa.com.ar/Dic/pseudocodigo.php http://es.slideshare.net/NatyBarrera/algoritmo-pseudocodigo-y-diagrama-de-flujo http://www.mastermagazine.info/termino/6428.php http://es.wikipedia.org/wiki/Variable_(programaci%C3%B3n) http://www.alegsa.com.ar/Dic/variable.php http://www.desarrolloweb.com/articulos/2164.php http://es.wikipedia.org/wiki/Operando http://www.desarrolloweb.com/articulos/2165.php http://issuu.com/nerita1/docs/diagramadeflujodedatos http://issuu.com/nerita1/docs/creandodiagramasdeflujo https://es.wikipedia.org/wiki/Diagrama_de_flujo http://www.desarrolloweb.com/articulos/2225.php http://makeyna2.angelfire.com/Manual_DFD.pdf


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.