martes, 27 de mayo de 2014

QUE ES EL DFD. 


El dfd es un software, que fue diseñado para analizar y construir los algoritmos. Se pueden crear diagramas de flujo de datos para representar de algoritmos de programación estructurada a partir de las herramientas de edición que es suministrado por el programa para este propósito. Después de haber ingresado podrá ejecutarlo, analizarlo y depurarlo en un entrono interactivo diseñado para este fin. Su interfaz gráfica facilita el trabajo con diagramas ya que simula la representación estándar de diagrama de flujo en hojas de papel. 



DIAGRAMA DE FLUJO DE DATOS 



Se define como una descripción gráfica de un procedimiento para resolver un problema. Se usan con frecuencia para describir algoritmos y programas de un computador. Están conformados por figuras conectadas con flechas. Para ejecutar un proceso descrito por este se comienza por el inicio y sigues las flechas figura a figura, ejecutando las acciones indicadas por cada figura; el tipo de figura indica el tipo de paso que representa. 
Frecuentemente los diagramas de flujos se usan debido a que pueden suprimir detalles innecesarios y tener un significado preciso, si se usan correctamente. 


Ciclo para : Ejecuta bloques de objetos mientras la variable contadora no se pase de su limite que se estableció en el valor final el contador va hacer de tipo dato real tendrá un valor asignado al comienzo del ciclo uno final y para incrementar. 

El cuadro de funciones del ciclo para contiene espacios para la variable contador, valor final y valor inicial y el valor de incremento en su respectivo orden. 


Decisión : Selecciona una secuencia a seguir de acuerdo con un valor lógico dado en una condición esta condición al ser evaluada de cómo resultado un valor de tipo dato lógico. 
La decisión se encuentra asociado en dos bloques ubicados a los lados y después contiene un cierre decisión que se encuentra en ambos bloques si al evaluar la condición se obtiene un valor lógico se ejecuta la decisión que tiene él si, en caso contrario se ejecuta la decisión negativa. 
Esta decisión contiene espacios para la expresión que conforma la condición y dos casillas por medio de las cuales se decidirá por donde se tomara la decisión. 


Lectura : Permite la entrada de valores constantes del teclado asignándolos a los campos de variables y podrá ser leída cualquier cantidad de variables dadas utilizando este objeto, cuando se ejecuta él obtiene un despliegue de dialogo por cada variable que se coloca en la lista este cuadro esperara hasta que el usuario le asigne un valor determinado. 
El cuadro de dialogo contiene un espacio para ingresar las variables, las variables se separan con comas debe existir por lo menos una variable. 


Salida : Muestra el valor en la pantalla y visualiza cualquier cantidad de valores utilizados por la salida. 
Cuando se evalúa un objeto este ejecuta las expresiones que contiene y despliega un cuadro de dialogo que muestra el valor obtenido en cada una de sus expresiones en un respectivo orden. 
La salida contiene un espacio donde se ingresa una lista de valores separados por comas y debe existir por lo menos una expresión. 


Llamada : la función es realizar una llamada al subprograma el cual tiene que encontrarse en el diagrama en edición. 
La llamada debe tener argumentos que se pasaran al subprograma la cantidad, tipo y orden de los argumentos tienen que coincidir con los parámetros del subprograma. 
Una vez ejecutado continuara en el objeto siguiente a la llamada. 
La llamada contiene el espacio para el nombre del subprograma y el espacio para la lista de argumentos los argumentos deben de estar separados por comas. 



¿ QUE ES UN ALGORITMO 

Es un procedimiento para la resolución de problemas de cualquier tipo por medio de determinada secuencia de pasos simples y no ambiguos. 
Este concepto fue utilizado para él calculo matemático pero ahora se utiliza para las ingenierías. 



DIALOGO A EVALUAR DEL DFD 


Se muestra con el comando depuración evaluar este cuadro nos permite evaluar una expresión que contenga constantes y variables involucradas en un algoritmo . 



DIFERENTE DE 

Posee una sintaxis X! = Y donde hay una entrada de xy valores del mismo tipo de datos con un resultado V ( VERDADERO ) donde x es diferente de y F ( FALSO ) en caso contrario. 



DIVISIÓN (/ ) 


Tiene una sintaxis de X/Y con una entrada de tipo real ( XY) con un resultado de X dividido Y . 


EDICIÓN DE UN DIAGRAMA EN DFD 


Es en el estado en que el diagrama de flujo donde se modifican y se crean las herramientas de edición del dfd en este diagrama se puede abrir, imprimir, o agustar. 



EDICIÓN DE OBJETO 


Se utiliza para editar los contenidos de un objeto seleccionado se dispone de este cuando este seleccionado un objeto editable y la acción actual sea edición. Algunas formas para acceder al comando: 
Teclado ENTER 
Mouse Doble clic sobre el objeto. 



EJECUCIÓN DE UN PROGRAMA EN DFD 


Es el funcionamiento del algoritmo echo por un diagrama con el cual esta trabajando. 
En la ejecución se pueden presentar errores en el algoritmo, en este caso se muestra un mensaje de error y se detiene la ejecución. 

EJECUTAR UN ALGORITMO 


Pone en funcionamiento el algoritmo y da paso a su ejecución. Si la acción actual es edición se realiza una revisión del diagrama para observar si se encuentran errores. 
Si se encuentra un error saldrá un mensaje indicando el tipo de error y donde se encuentra pero si el diagrama esta libre de error se ejecuta apartir de la iniciación. 
Otras formas de acceder al comando son : 
Barra de herramienta 
Teclado (f 9 ). 


ERROR EN SINTAXIS 

Son detectados en el tiempo de revisión cuando se intenta la ejecución los algoritmos que contienen expresiones incorrectas el mensaje de error ser mostrado y se indica el objeto donde se produjo el error. 



ESTRUCTURA DE CONTROL 

Ejercen control sobre la ejecución de bloques de objetos de acuerdo a una condición 


EVALUADOR DE EXPRESIONES 

Se ve con el comando de depuración permite evaluar una expresión que tengan constantes y variables involucradas en el algoritmo. 
El dialogo evaluador se utiliza en la depuración de algoritmos observando el valor que toma una expresión en determinado momento. 


EXP : EXPONENCIAL 

Tiene una sintaxis de EXP ( X ) 
Con una entrada X valor de tipo real con un resultado el exponencial de X es decir un numero (234678) evaluado a la potencia de X. 



ELIMINAR UN OBJETO O BLOQUES DE DFD 

Elimina los objetos del diagrama de flujo sin colocarlo en los porta papeles de dfd se encontrara disponible cuando un objeto a eliminar se encuentra seleccionado . 
Otra forma de acceder a este puede ser: 
Barra de herramientas 
Teclado ( supr ) 
Los objetos que forman las estructuras de control serán eliminados junto con su cuerpo. 
Si es un subprograma se ejecutara el comando eliminar subprograma. 


ELIMINAR UN SUBPROGRAMA 

Eliminan todos los objetos que conforman un subprograma. Se dispone de este cuando se encuentre visualizado un subprograma no el principal y la acción actual sea edición, otras formas de acceder a este es : 
Barra de herramientas 
Teclado ( ALT + E, S ) 



ERROR CARÁCTER ILEGAL 

Se presenta en tiempo de reversión cuando hay una carácter no valido en la expresión. 
Ejemplo: 

@3-2 


OBJETO FIN 


Esta junto con el objeto inicial delimita el cuerpo del objeto principal solo existe un objeto fin en el diagrama la ejecución finaliza la ejecución del algoritmo. 






Ciclo Mientras


El ciclo mientras, es una de las dos estructuras repetitivas con las que cuenta FreeDFD, está representada por este símbolo dentro del programa:
Boton Ciclo Mientras
Botón Ciclo Mientras
Para hacer uso de esta herramienta, basta con hacer clic en el botón de la imagen anterior, y luego hacer clic en la parte del diagrama en donde queremos poner nuestro ciclo, una vez hecho esto, aparecerá algo similar a la siguiente imagen en la zona de edición del programa:
Diagrama Ciclo Mientras
Diagrama Ciclo Mientras
Su funcionamiento es similar al de la decisión. Al insertar un nuevo ciclo mientras al DFD, aparecerán dos figuras.
En la primera aparecen las letras MQ, que son las siglas de “Mientras que“, se colocará una condición de tipo booleana (veroperadores lógicos y relacionales y tipos de datos booleanos) que de considerarse verdadera, ejecutara las instrucciones que se encuentren entre la primera figura y la segunda figura en la que aparece “Fin (MQ)“.
Al hacer doble clic sobre la primera figura, aparecerá un cuadro de dialogo como este:
Dialogo Ciclo Mientras
Dialogo Ciclo Mientras
En la imagen anterior, se observa el cuadro de dialogo que aparece al hacer doble clic sobre la figura que contiene la palabra MQ, allí podemos observar que se nos pide una condición, que como se escribió anteriormente, se validará y en caso de que sea verdadera, repetirá las instrucciones que se encuentren dentro de las dos figuras que representan el ciclo mientras.
Nota: Es importante tener en cuenta que las condiciones tienen que ser falsas en algún momento para que el ciclo se rompa y el programa pueda finalmente continuar y terminar en algún momento. En el ejemplo de la imagen se comete este error a propósito con el fin de evidenciar este caso, dado que 5, siempre será mayor que 3 y eso convertirá el programa en un ciclo infinito. No está de más recordar que en caso de que alguna vez un programa se quede en un bucle infinito, podemos parar su ejecución usando el botón de parada en la parte superior del programa o el botón de pausa que aparece en cada ventana que se nos muestra durante la ejecución.



jueves, 22 de mayo de 2014

DFD, clase11 – ciclo: para..


Bien, ya hemos ido viendo todos los simbolos usados en DFD, junto con sus respectivos ejercicios de muestra y luego unos ejercicios de aplicacion para reforzarlo. Ahora solo nos queda pendiente éste simbolo, el ciclo: “para..
Este simbolo, es parecido al anterior ( ciclo: mientras que.. ), solo que a éste le podemos agregar un inicioun fin y un incrementoPara la variable con la que trabajemos. Pero sus usos son muy parecidos. Entonces vamos a ver un ejercicio para dejar más claro como funciona el ciclo: “para..”
15.) Hacer un algoritmo que muestre la tabla de multiplicar de un numero ingresado por el usuario. Y que la muestre con el fomato: A x B = C
Bien, como dice el ejercicio simplemente hay que realizar una tabla de multiplicar de algun numero que ingrese el usuario. Recordando que la tabla de multiplicar lleva un formato general del 1 al 12. Comencemos:
- Abrimos DFD
- Colocamos el detalle del ejercicio:
- Declaramos las variables que vamos a usar, en éste caso 3 variables:
numero = cantidad que va a ingresar el usuario, del cual va a ser la tabla. Por ejemplo si ingresa el 4, se va a generar la tabla de multiplicar del 4.
ciclo = controlador que vamos a usar, como ya les dije en la introduccion el ciclo: “para..” sirve parecido al ciclo: “mientras que..” pero a diferencia que lleva un inicio, un fin, y un incremento. Entonces por eso siempre debemos crear una variable para hacer las condiciones. En éste caso la variable se va a llamar ciclo.
resp = respuesta, es en donde vamos a almacenar el valor de la multiplicacion, osea el resultado. Por ejemplo:
A x B = C
El valor de “C” es el que se almacenará en resp. Y es el que mostraremos.
- Ahora pedimos el dato, osea de que numero desea generar la tabla
- Mostramos un mensaje de comprobacion, para que al usuario observe que de ése numero que ingreso, se mostrará la tabla de multiplicacion
- Ahora vamos a abrir el “ciclo para..” porque el usuario/a, ya nos ha dado el numero para generar la tabla de multiplicar. Entonces decimos que:
EXPLICACION: el simbolo “para..” tiene la siguiente estructura:
De izquierda a derecha,
primer recuadro: ahi se coloca la variable controladora, es decir la variable que vamos a usar para el ciclo. En nuestro caso, la variable se llama: ciclo
segundo recuadro: es el valor inicial ( comienzo / partida ) que le daremos a la variable. Es decir que nuestra variable ciclo va a valer 1 al comienzo, por lo tanto la tabla de multiplicacion la comenzaremos con 1, lo cual está correcto porque las tablas de multiplicar llevan un formato:
2 x 1 = 2
2 x 2 = 4 …
tercer recuadro: es el valor final ( tope / meta ) que le daremos a la variable. Es decir que nuestra variable ciclo va a llegar a valer un maximo de 12 al final, por lo tanto la tabla de multiplicacion la terminaremos con 12
2 x 11 = 22
2 x 12 = 24
cuarto recuadro: es el incremento, es decir de cuanto en cuanto va a ir aumentando el ciclo. En éste caso de uno en uno. Porque la tabla de multiplicar va de uno en uno, demostracion:
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16 …
Ven que la tabla va incrementando, en 1. Porque 5,6,7,8 es el orden con que va avanzando la tabla, y asi seguirá hasta el tope, en éste caso el tope es 12
-  Ahora queda calcular la respuesta, ya tenemos expresado el ciclo que vamos a usar, osea desde 1 hasta 12 de uno en uno ( nuestra tabla de multiplicar ). Entonces solo nos queda expresar la respuesta, que es la multiplicacion de:
a) el numero ingresado ( que no va a cambiar ), por ejemplo arriba en la tabla del 2, el dos (2) no cambia en toda la tabla porque de él se trata.
b) el incremento ( de cuanto en cuanto va subiendo ), en éste caso de uno en uno, y como vimos arriba en el ejemplo de la tabla del 2, el incremento si va cambiando valia: 5, depsues 6, despues 7, etc..
Vamos a realizar la operacion, y como ya sabemos. Para realizar operaciones se usa el simbolo de “asignacion” porque le vamos a asignar a resp un valor ( la multiplicacion del numero y el incremento ). Así:
- Y por ultimo, solo nos queda mostrar la tabla con el formato: A x B = C
imagen8

Ciclo For (para) 


El ciclo for es el ciclo más adecuado cuando un conjunto de sentencias o instrucciones se ejecutan una 
vez por cada valor de un rango especificado. Es quizá la estructura más frecuente para crear ciclos en C. 
Esta sentencia incluye una expresión que especifica el valor inicial de un índice o contador, otra expresión 
que determina cuándo se continúa o no el ciclo y una tercera expresión que permite que el índice o 
contador se modifique al final de cada pasada. 

De forma general el ciclo FOR se representaría así: 

for ( [valor inicial]; [valor final]; [incremento o decremento]) 
sentencia(s); 

Ejemplo: Calcular la suma de los cuadrados de los primeros 100 números. 


PARTE 1: EJERCICIOS CON CICLO FOR 

1.- Mostrar la tabla de multiplicar del número que seleccione el usuario. Revisar que esté en el rango 
(1,10). 

2.- Calcular la suma siguiente: 100 + 90 + 80 + 70 + … 0 

3.- Calcular la suma siguiente: 100 - 90 + 80 - 70 + … 0 

4.- Leer un número entero N y calcular el resultado de la siguiente serie: 1 – 1/2+ 1/3 – 1/4 +.... +/- 1/N. 

5.- Leer un número entero N y calcular el resultado de la siguiente serie: 2/1 + 4/3+ 6/5 +8/7 +10/9 + 
12/11....

Ciclo Mientras (While) 

Se llama mientras al ciclo que se ejecuta mientras la condición evaluada resulte verdadera. Se evalúa la 
expresión y, si es cierta, se ejecuta la instrucción (instrucciones) especificada (s), llamada cuerpo del 
ciclo. Entonces se vuelve a evaluar la expresión y si todavía es cierta, se ejecuta de nuevo el cuerpo. Este 
proceso de evaluación de la expresión y ejecución del cuerpo se repite mientras la expresión sea cierta. 

Cuando se hace falsa, finaliza la repetición. 

miércoles, 21 de mayo de 2014

Los ciclos.
Un algoritmo se comporta de una manera secuencial, cada instrucción se lee desde inicio hasta fin. Esto nos da pie a pensar que para lograr repetir algo, será necesario copiarlo muchas veces. En el mundo de los algoritmos encontramos la forma de repetir las veces que deseamos una instrucción o un bloque de ellas, a este elemento lo denominamos ciclo. En la naturaleza y en el mundo real la mayoría de cosas son cíclicas, comer, dormir, respirar, trabajar, estudiar, descansar.... son cosas que se repiten con diferente periodicidad.
¿Qué son los ciclos? 
Son estructuras que permiten hacer  n repeticiones de un bloque de instrucciones.
En los algoritmos los ciclos son diversos, para el caso de estudio del curso seleccionaremos el ciclo mientas, en inglés while y en DFD MQ. El ciclo funciona de modo que: mientras la expresión de control sea verdadera se ejecuta todo el bloque que contienen y cuando llega al final, se devuelve a la expresión de control y nuevamente pregunta, de ser verdad, sigue repitiendo este proceso mientras sea verdad dicha expresión y cuando no, termina saltando el bloque y continuando con las demás acciones programadas en el algoritmo.
 
El ciclo mientras.
Ya conocemos que la finalidad de un ciclo es hacer un número de repeticiones y en dichas repeticiones denominadas iteraciones realizar otras instrucciones que permitan dar respuesta al problema originalmente planteado.
El ciclo mientras se fundamenta en un expresión relacional o lógica al igual que lo hacen las decisiones.
El ciclo mientras funciona preguntado por una expresión lógica o relacional si es verdad ingresa al ciclo y cuando es falsa salta el bloque y continua en la siguiente instrucción después del bloque mientras.
En esta forma genérica, si la expresión es verdadera se ejecuta inst1, inst2, inst3, inst4 tantas veces como sea verdad la expresión, es decir se deja de repetir cuando la expresión sea falsa. Un dato muy importante es que de alguna forma la expresión  tenga elementos que cambien al interior del ciclo.Cuando los elementos no cambian, se puede generar un ciclo que nunca termina o denominado infinito.
Empezaremos por definir una forma general de usar el ciclo mientras, nos concentraremos en lograr que el ciclo realice n repeticiones. 
La forma general de hacer esto, es definir cuántas repeticiones se desean hacer, crear una expresión que sea verdadera mientras no se cumpla el total de las repeticiones y dentro del ciclo modificar la variable de control del ciclo.

El concepto de contador.

¿Qué es un contador? 
Es una variable, cuya finalidad es la de permitir guardar un conteo sobre algo que se necesita. Desde el punto de vista de la programación es lo siguiente.
variable = variable + K
donde K es una constante numérica que puede ser entera o decimal.

martes, 20 de mayo de 2014

Ciclo Mientras


El ciclo mientras, es una de las dos estructuras repetitivas con las que cuenta FreeDFD, está representada por este símbolo dentro del programa:



Para hacer uso de esta herramienta, basta con hacer clic en el botón de la imagen anterior, y luego hacer clic en la parte del diagrama en donde queremos poner nuestro ciclo, una vez hecho esto, aparecerá algo similar a la siguiente imagen en la zona de edición del programa:


Su funcionamiento es similar al de la decisión. Al insertar un nuevociclo mientras al DFD, aparecerán dos figuras.

En la primera aparecen las letras MQ, que son las siglas de “Mientras que“, se colocará una condición de tipo booleana (veroperadores lógicos y relacionales y tipos de datos booleanos) que de considerarse verdadera, ejecutara las instrucciones que se encuentren entre la primera figura y la segunda figura en la que aparece “Fin (MQ)“.

Al hacer doble clic sobre la primera figura, aparecerá un cuadro de dialogo como este:

Dialogo Ciclo Mientras


Explicacion.

El CICLO MIENTRAS ejecuta un bloque de acciones ‘mientras’ que una condición dada se cumpla, es decir, cuando la condición evalúa a verdadero. La condición es evaluada antes de ejecutar el bloque de acciones y si la condición no se cumple, el bloque no se ejecuta.

En el ciclo mientras-haga la condición se evalúa antes de la ejecución del bloque, en el ciclo HAGA-MIENTRAS la condición se evalúa después de ejecutar el bloque de acciones, por lo tanto, el bloque se ejecuta por lo menos una vez.

CICLO DESDE es similar al para, se empieza a funcionar desde que el programador asigna una variable hasta que esta se cumpla. 


CICLO MIENTRAS: se ejecuta un número indeterminado de veces, requiere de una evaluación de una condición para ejecutarse. Este ciclo está definido para ejecutarse MIENTRAS dicha condición sea verdadera. En el momento en que la condición es evaluada como falsa el ciclo termina y se continúa con la siguiente instrucción fuera. Naturalmente, entre las instrucciones del ciclo debe haber alguna que provoque un cambio de la evaluación... de otro modo se tendría un ciclo infinito

CICLO HACER MIENTAS: Es el proceso que se realiza para ejecutar un bloque por lo menos una sola vez, si la condicion de proceso es falsa no se ejuca mas el bloque pero si la condicion es verdadera se ejecuta nueva mente el bloque.

CICLO DESDE: Utilizamos el ciclo desde cuando conocemos previamente el número de
veces que deseamos ejecutar un conjunto de instrucciones.