robot

jueves, 12 de junio de 2014

manual de dfd

INDICE

Pág.

1. Manual del dfd 1
1.1 Para que sirve el dfd 1
1.1.2 Componente básico de la ventana de dfd 1
2. Que es un algoritmo 2
3. Que es un diagrama de flujo 2
3.1 Inicio 2
3.2 Asignación 2
3.3 Ciclo mientras 3
3.4 Ciclo Para 3
3.5 Ciclo decisión 3
3.6 Lectura 4
3.7 Salida 4
3.8 Llamada 4
3.9 Anterior subprograma 5
3.10 Siguiente subprograma 5
3.11 Nuevo subprograma 5
3.12 Eliminar subprograma 6
4. Tipos de datos que se utilizan frecuentemente en un algoritmo 6
4.1 Real 6
4.2 Cadenas de caracteres 6
4.3 Lógicos 6
5. Funciones y operadores matemáticos que se utilizan en dfd 6
5.1 Funciones matemática 6
5.2 Valor absoluto 6
5.3 Arcocoseno 7
5.4 Arcoseno 7
5.5 Coseno 7
5.6 Coseno hiperbólico 7
5.7 Exponencial 7
5.8 Logaritmo natural 7
5.9 Logaritmo de base 10 7
5.10 Numero aleatorio 8
5.11 Convertir al entero más cercano 8
5.12 Seno 8
5.13 Seno hiperbólico 8
5.14 Raíz cuadrada 8
5.15 Tangente 8
5.16 Tangente hiperbólica 8
5.17 Extracción de la parte entera 9
6. Operadores matemáticos 9
6.1 Más unitario 9
6.2 Menos unitario 9
6.3 Suma 9
6.4 Resta 9
6.5 Exponenciación 9
6.6 Multiplicación 10
6.7 División 10
6.8 Modulo 10
7. Operadores lógicos relacionales 10
7.1 Mayor que 10
7.2 Menor que 10
7.3 Mayor o igual a 11
7.4 Menor o igual a 11
7.5 Igual a 11
7.6 Diferente a 11
8. Operadores lógicos Boleanos 12
8.1 Y lógico (conjunción) 12
8.2 Negación del nand 12
8.3 O lógico 12
8.4 Negación nor 13
8.5 O exclusivo 13
8.6 Negación xor 13
















1. MANUAL DEL DFD

1.1 PARA QUE SIRVE EL DFD?

El Dfd es un software que sirve para construir, realizar y analizar todo tipo de algoritmos con base a unos diagramas de flujo.

1.1.2 COMPONENTES BÁSICOS DE LA VENTANA
DE DFD QUE SON:

1. Barra de titulo: Muestra el nombre y la dirección donde esta ubicado el
Archivo.

2. Barra de menú: Muestra una lista de comandos básicos como: archivo, edición, objeto, ver, ejecución, depuración, opciones y ayuda.

3. Barra de herramientas: Son las opciones de comandos que se utiliza frecuentemente como: Nuevo, abrir, guardar, imprimir, cortar, copiar, pegar, eliminar, ejecutar, detener, pausar, paso simple, ejecutar hasta, depurador, alejar, acercar, cursor, asignación, ciclo mientras, ciclo para, decisión, lectura, salida, llamada, anterior subprograma, siguiente programa, nuevo subprograma, eliminar subprograma.

4. Áreas de trabajo: Esta área es donde se desarrolla por medio de diagrama de flujo.

5. Barra de desplazamiento (vertical y horizontal): Estas barras son las que se desplaza hacia o hacia o hacia la izquierda o derecha.


-1-
2. QUE ES UN ALGORITMO?

Es un procedimiento para el desarrollo o resolución de cualquier tipo de problemas de programación, llevando así una secuencia de pasos simples.


3. QUE ES EL DIAGRAMA DE FLUJO?

El diagrama de flujo son figuras conectadas por medio de flechas que van entre lazados por unos procedimientos a seguir, para la ejecución y resolución de problemas. Dentro de la figura de diagrama de flujo encontramos:

3.1 Inicio: Este el primer diagrama de flujo que inicia la ejecución del algoritmo.




3.2 Asignación: Esta asignación permite asignarle valores como variables o constantes.
Al darle doble clic izquierdo sobre el mouse, esta asignación abre una ventana de dialogo donde se coloca los valores a ejecutar
-2-
3.3 Ciclo Mientras: Su función es ejecutar un bloque de objetos mientras que la condición sea verdadera. Una condición es una expresión que al ser evaluada de cómo resultado un valor lógico.







3.4 Ciclo Para: Esta función permite ejecutar un bloque de valores que al ser evaluada por medio de un contador esta vaya incrementando hasta terminar el ciclo de cierre.



3.5 Ciclo Decisión: Esta función permite seleccionar el ciclo a seguir de acuerdo al valor lógico de la condición.




-3-
3.6 Lectura: Esta función permite la entrada de valores constantes que al ser evaluada vaya asignándolo a campos variables



3.7 Salida: Esta función que al ser evaluada los valores me muestre por pantalla el resultado que se ejecuto.



3.8 Llamada: Esta función permite realizar una llamada a un subprograma en el cual debe encontrarse los argumentos como (cantidad, orden y tipo) que debe coincidir con los parámetros del subprograma. Una vez haya realizado estos parámetros se ejecutara a la siguiente llamada.


-4-
3.9 Anterior Subprograma: Este comando visualiza en pantalla el subprograma anterior. Los subprogramas se encuentran organizados de acuerdo al orden en que fueron creados. Existen dos formas de acceder a este comando.



3.10 Siguiente Subprograma: Este comando visualiza en pantalla el subprograma siguiente. Existen dos formas de acceder a este comando.




3.11 Nuevo subprograma: Este es el primer objeto que al ser ejecutado cuando un subprograma es llamado. Al ser ejecutado, el objeto Subprograma transfiere el control al siguiente objeto.



El cuadro de nuevo subprograma contiene lo siguiente:
1. Nombre del subprograma: Es el nombre que desea que se llame. El nombre del subprograma debe comenzar por una letra o varias letras, números o el carácter permitido que es el subrayado (_).
2. Parámetros: Son restricciones. Si existen deben estar separados por comas.
3. Descripción: Es donde se describe o se comenta de lo que se va a realizar dentro del subprograma.
-5-
3.12 Eliminar Subprograma: Este comando se usa para eliminar todos los objetos que conforman un subprograma. Existen dos formas de acceder a este comando.


TIPOS DE DATOS QUE SE UTILIZA FRECUENTE EN UN ALGORITMO

Real: Son valores numéricos que van desde –1*10 ^ 2000 hasta 1*10 ^ 2000. Los valores más cercanos a 0 que se pueden manejar son 1*10 ^ -2000 y –1*10 ^ -2000.
Ejemplo: 1998, 1.0007, 0, 328721, -3242781.

Cadena de Caracteres: Es una secuencia de caracteres que va encerrada entre comillas simples.
Ejemplo: ‘Diagramar es fácil’ , ‘París’ , ‘1955’


Lógico: Son las letras V ó F encerrada entre puntos, para indicar verdadero ó falso respectivamente.
Ejemplo: .V. , .F.

FUNCIONES Y OPERADORES MATEMATICOS QUE SE UTILIZAN EN DFD

Funciones matemáticas: Estas son las funciones que se utilizan frecuentemente en cualquier situación de programación. Dentro de estas funciones matemáticas encontramos la siguiente:

& #61558; Valor Absoluto: Es el número que representa la cantidad prescindiendo del signo o sentido de la cantidad.

Sintaxis ABS(X)
Entrada X Valor de tipo de dato Real.
Resultado Valor absoluto de X.
Ejemplo: ABS (-3) da como resultado 3.

-6-
& #61558; Arcocoseno
Sintaxis ACOS(X)
Entrada X Valor de tipo de dato Real; -1<= X <= 1.
Resultado El ángulo cuyo coseno sea igual a X.

& #61558; Arcoseno
Sintaxis ASIN(X)
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuyo seno sea igual a X; -1<= X <= 1.

& #61558; Arcotangente
Sintaxis ATAN(X)
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuya tangente sea igual a X.

& #61558; Coseno
Sintaxis COS(X)
Entrada X Valor de tipo de dato Real.
Resultado Coseno de X.

& #61558; Coseno Hiperbólico
Sintaxis COSH(X)
Entrada X Valor de tipo de dato Real.
Resultado Coseno Hiperbólico de X.

& #61558; Exponencial
Sintaxis EXP(X)
Entrada X Valor de tipo de dato Real.
Resultado El exponencial de X; es decir el número e
(2.71828182...) elevado a la potencia X.
Nota: Esta es la función inversa de LN, por lo tanto LN( EXP( X ) ) = X.

Logaritmo natural
Sintaxis LN(X)
Entrada X Valor de tipo de dato Real; X>0.
Resultado Logaritmo Natural de X.

Logaritmo de base 10
Sintaxis LOG(X)
Entrada X Valor de tipo de dato Real ; X>0.
Resultado Logaritmo en base 10 de X.
-7-
Numero aleatorio
Sintaxis RANDOM(X)
Entrada X Valor de tipo de dato Real.
Resultado Genera un número aleatorio R, donde 0 <= R <= X-1 para todo
X>1 y R= 0 para todo X<=1.

Convierte al entero más cercano
Sintaxis ROUND(X)
Entrada X Valor de tipo de dato Real.
Resultado El entero más cercano a X.
Ejemplo: ROUND (3.3) retorna 3
ROUND (-4.7) retorna -5.

Seno
Sintaxis SIN(X)
Entrada X Valor de tipo de dato Real.
Resultado Seno de X.

Seno hiperbólico
Sintaxis SINH(X)
Entrada X Valor de tipo de dato Real.
Resultado Seno Hiperbólico de X.

Raíz cuadrada
Sintaxis SQRT(X)
Entrada X Valor de tipo de dato Real; X>=0.
Resultado Raíz Cuadrada de X.

Tangente
Sintaxis TAN(X)
Entrada X Valor de tipo de dato Real.
Resultado Tangente de X.
Nota: TAN (90º + K*180º) no esta definida para todo entero K .

Tangente hiperbólica
Sintaxis TANH(X)
Entrada X Valor de tipo de dato Real.
Resultado Tangente Hiperbólica de X.


-8-

Extrae l a parte entera
Sintaxis TRUNC(X)
Entrada X Valor de tipo de dato Real.
Resultado Parte entera de X.
Ejemplo: TRUNC (3.7) Retorna 3.
TRUNC (-4.5) -4.


OPERADORES MATEMATICOS

MÁS UNITARIO:

Sintaxis +X
Entrada X Valor de tipo Real.
Resultado X.

MENOS UNITARIO:

Sintaxis -X
Entrada X Valor de tipo Real.
Resultado 0-X.

SUMA

Sintaxis X+Y
Entrada X, Y Valores de tipo Real.
Resultado La suma de X e Y.

RESTA

Sintaxis X-Y
Entrada X, Y Valores de tipo Real.
Resultado La resta de X e Y.

EXPONENCIACION

Sintaxis X^Y
Entrada X, Y Valores de tipo Real.
Resultado Valor de X elevado a la potencia Y.


-9-
MULTIPLICACION

Sintaxis X*Y
Entrada X, Y Valores de tipo Real.
Resultado X Multiplicado por Y.

DIVISION

Sintaxis X/Y
Entrada X, Y Valores de tipo Real.
Resultado X dividido entre Y.

MODULO

Sintaxis X MOD Y
Entrada X, Y Valores de tipo Real.
Resultado El residuo de dividir X entre Y, definido como un valor
R, tal que: X= Y*K+R, donde K es un entero
y ABS(R) < ABS(Y).

OPERADORES LOGICOS RELACIONALES


MAYOR QUE (>)

Sintaxis X>Y
Entrada X, Y Valores del mismo tipo de dato y que no sean de
Tipo Lógico.
Resultado .V. (verdadero) si X>Y y .F. (falso) en caso contrario.
MENOR QUE (<)

Sintaxis X<Y
Entrada X, Y Valores del mismo tipo de dato y que no sean de
Tipo Lógico.
Resultado .V. (Verdadero) si X menor que Y .F. (Falso) en caso
Contrario.

-10-
MENOR O IGUAL A (< =)

Sintaxis X<=Y
Entrada X, Y Valores del mismo tipo de dato y que no
Sean de tipo Lógico.
Resultado .V. (Verdadero) si X menor igual a Y .F. (Falso) en
Caso contrario.

MAYOR O IGUAL A (> =)

Sintaxis X>=Y
Entrada X, Y Valores del mismo tipo de dato y que no
Sean de tipo Lógico.
Resultado .V. (Verdadero) si X es mayor o igual a Y y .F. (Falso)
En caso contrario.

IGUAL A (=)

Sintaxis X =Y
Entrada X, Y Valores del mismo tipo de dato.
Resultado .V. (Verdadero) si X es igual a Y y .F. (Falso) en caso
Contrario.

DIFERENTE DE (!=)

Sintaxis X!=Y
Entrada X, Y Valores del mismo tipo de dato.
Resultado .V. (Verdadero) si X es diferente de Y y .F. (Falso) en
Caso contrario.







-11-
OPERADORES LOGICOS BOOLEANOS



& #61692; Y Lógico (Conjunción)

Sintaxis X AND Y
Entrada X, Y Valores de tipo de dato Lógico.



& #61692; Negación del NAND

Sintaxis X NAND Y
Entrada X, Y Valores de tipo de dato Lógico.


& #61692; O Lógico
Sintaxis X OR Y
Entrada X, Y Valores de tipo de dato Lógico.






-12-
& #61692; Negación del NOR

Sintaxis X NOR Y
Entrada X, Y Valores de tipo de dato Lógico.


& #61692; Negación Lógica

Sintaxis NOT X
Entrada X Valor de Tipo de dato Lógico.


& #61692; O Exclusivo
Sintaxis X XOR Y
Entrada X, Y Valores de tipo de dato Lógico.


& #61692; Negación de XOR
Sintaxis X XNOR Y
Entrada X, Y Valores de tipo de dato Lógico.



-13-
pagina principal
 


miércoles, 11 de junio de 2014

algoritmo

Proceso de traducción y ejecución de un programa escrito en un lenguaje a alto nivel:
Usamos un editor y obtenemos el programa fuente, y el compilador es el que traduce el programa al lenguaje máquina. El compilador internamente ha sido diseñado para traducir.
El compilador obtiene el programa o el fichero objeto. El compilador tiene que buscar los errores.
Normalmente no sale un ejecutable, sino que necesita elementos, librerías, ...
Mediante un linkador juntamos el programa objeto y las librerías, y se forma un programa ejecutable.
Cuando se ejecuta el programa, el cargador lleva al programa a memoria para que éste pueda ser ejecutable.
Debbuger: Depura el programa ejecutándolo paso a paso, viendo la memoria paso a paso para encontrar el error.
Programa fuente (Editor)
Compilador
Error
Programa objeto Librerias
Linkador
Ejecutables
Para traducir puedo utilizar el compilador o un interprete, con el compilador cojo todo el programa al completo y el interprete lee cada instrucción y lo va ejecutando.
El interprete es más rápido, pero menos eficiente.
Todos los lenguajes tienen compiladores, pero no todos tienen interpretes.
LISP (Lenguaje de inteligencia artificial) : Sólo tiene interpretes.
4. DATOS, TIPOS DE DATOS Y OPERACIONES PRIMITIVAS:
- Dato: Es un objeto o elemento que tratamos a lo largo de diversas operaciones.
Tienen 3 caracteristicas:
  • Un nombre que los diferencia del resto.
  • Un tipo que nos determina las operaciones que podemos hacer con ese dato.
  • Un valor que puede variar o no a lo largo de la operación.
Existen diferentes tipos de datos.
- Caracteristicas de los tipos:
  • Cada tipo se representa o almacena de forma diferente en la computadora.
Bit:1/0; Byte=8 bits.
  • Un tipo agrupa a los valores que hacen las mismas operaciones.
  • Si tiene definida una relación de orden es un tipo escalar.
  • Cardinalidad de un tipo: Número de valores distintos que puede tomar un tipo.
Pueden ser finitos (caracteres), y si son infinitos el ordenador los toma como finitos porque esta limitado por el tamaño de los bytes en el que la cifra es almacenada.
- Los datos pueden ser:
  • Simples: Un elemento.
  • Compuestos: Varios elementos.
- Los tipos pueden ser:
  • Estandar: Que vienen en el sistema por defecto.
  • No estandar: Son los que crea el usuario.
- Los tipos simples más importantes son:
  • Numéricos.
  • Lógicos.
  • Caracteres.
  • Numéricos:
  • Entero: Subconjunto finito del conjunto matemático de los numéros enteros. No tiene parte decimal. El rango de los valores depende del tamaño que se les da en memoria.
  • Real: Subconjunto finito del conjunto matemático de los números reales. Llevan signo y parte decimal. Se almacenan en 4 Bytes (dependiendo de los modificadores). Si se utilizan números reales muy grandes, se puede usar notación científica que se divide en mantisa, base y exponente; tal que el valor se obtiene multiplicando la mantisa por la base elevada al exponente.
  • Lógicos o booleanos:
  • Aquel que sólo puede tomar uno de los dos valores, verdadero o falso (1/0).
  • Carácter:
  • Abarca al conjunto finito y ordenado de caracteres que reconoce la computadora (letras, digitos, caracteres especiales, ASCII).
Tipo de cadena o String: Conjunto de caracteres, que van a estar entre “”.
El propio lenguaje puede añadir más tipos, o se pueden añadir modificadores.
Entero : Int Long int
En algunos lenguajes se definen tipos especiales de fecha y hora, sobre todo en los más modernos.
5. CONSTANTES Y VARIABLES:
  • Constantes: Tienen un valor fijo que se le da cuando se define la constante y que ya no puede ser modificado durante la ejecución.
  • Variables: El valor puede cambiar durante la ejecución del algoritmo, pero nunca varia su nombre y su tipo.
Antes de usar una variable hay que definir la o declararla, al hacerlo hay que dar su nombre y su tipo. El nombre que le damos tiene que ser un nombre significativo, va a ser un conjunto de caracteres que dependiendo del lenguaje hay restricciones. Tiene que empezar por una letra, y el tamaño depende del lenguaje.
Identificador: Palabra que no es propia del lenguaje.
El valor de la variable si al declararla no se la inicia liza, en algunos lenguajes toma una por defecto. En cualquier caso el valor de la variable podemos darle uno inicial o podemos ir variando a lo largo de la ejecución.
Las constantes pueden llevar asociados un nombre o no, si no lo llevan, se llaman literales. Su valor hay que darlo al definir la constante y ya no puede cambiar a lo largo de la ejecución, y en cuanto al tipo, dependiendo de los lenguajes en algunos hay que ponerlo, y en otros no hace falta ponerlo porque toma el tipo del dato que se le asigna. Consta PI=3,1416.
Hay que inicial izar todas las variables.
< > Hay que poner algo obligatoria mente.
[ ] Puede llevar algo o no llevarlo.
La ventaja de usar constantes con nombre es que en cualquier lugar donde quiera que vaya la constante, basta con poner su nombre y luego el compilador lo sustituirá por su valor.
Las constantes sin nombres son de valor constante: 5, 6, `a', “hola”.
Cuando una cadena es de tipo carácter, se encierra entre `' `a'.
Relación entre variables y constantes en memoria:
Al detectar una variable o una constante con nombre, automáticamente se reserva en memoria espacio para guardar esa variable o constante. El espacio reservado depende del tipo de la variable.
En esa zona de memoria es en la que se guarda el valor asociado a la variable o constante y cuando el programa use esa variable, ira a esa zona de memoria a buscar su valor.  
Expresiones lógicas: Operadores relacionales y lógicos.
Una expresión lógica es aquella que sólo puede devolver dos valores (Verdadero o Falso). Los valores que pueden aparecer en una expresión lógica son de 2 tipos: lógicos y relacionales.
La particularidad de las expresiones lógicas es que mientras en una expresión numérica por devolver un valor numérico los operando solo pueden ser números, en una expresión lógica los operando no tienen porque ser booleanos aunque se devuelva un valor booleano. Esto es lo que ocurre cuando en la expresión lógica utilizamos operadores relacionales con lo cual se obtienen valores lógicos o booleanos a partir de otros que no lo son.
En cambio cuando los operadores son lógicos los operando obligatoria mente también tienen que ser lógicos.
Operadores relacionales:
<
>
=
<> en C: !=
"
"
< Operando> operador < Operando>
5 > 3 Verdadero
¿Cómo se evalúa una expresión relacional?:
  • Primero se evalúa el primer operando y se sustituye por su valor.
  • Luego se evalúa el segundo operando y se sustituye por su valor.
  • Finalmente se aplica el operador relacional y se devuelve el valor booleano correspondiente.
((3*2)+1-5^2) < (2-1)
-18 < 1 Verdadero.
El problema del tipo real:
Desde la informática, los números reales son finitos, ya que tenemos un máximo de cifras decimales. Cuando trabajamos con un =, matemáticamente da un valor exacto, pero informalmente no es exacto.
1/5 * 5 =1
1.0/5.0 *5.0 <>1.0
Soluciones:
  • La que nos aporte el propio lenguaje de programación. Se considera un valor de error.
  • Trabajar con números enteros siempre que sea posible.
  • Utilizar las comparaciones <> en vez de " " si es posible.
  • Si hay que preguntar por igual, cambiar la condición utilizando valores absolutos y un valor mínimo de error.
Si la diferencia < 0.00000001 y ABS (A-B)< min ; son iguales.
Operadores lógicos:
El problema es que a veces queremos preguntar o evaluar por más de una condición al mismo tiempo y para esto están los operadores lógicos.
Y and &&
O or !!
No not ~!
Y, O, son operadores binarios (necesitan 2 operando de tipo lógico).
Operando 1 Operador Operando 2
El No es uranio y se coloca primero el No, y después el operando.
El resultado es lógico y depende de:
Operando 1
Operando 2
AND
OR
V
V
V
V
V
F
F
V
F
V
F
V
F
F
F
F
El No niega :
NOT
1/0
V
F
F
V
Prioridades de los operadores:
  • Lo más prioritario es el NOT
  • Luego el Y y el O.
  • <, > =,...
Tabla de prioridades:
^ NO
/ div mod y
+ - O
<, >, =, <>,...