Translate

jueves, 28 de agosto de 2014

OPERADORES LÓGICOS PRINCIPALES EN JAVA

 En Java disponemos de los operadores lógicos habituales en lenguajes de programación como son “es igual”, “es distinto”, menor, menor o igual, mayor, mayor o igual, and (y), or (o) y not (no). La sintaxis se basa en símbolos como veremos a continuación y cabe destacar que hay que prestar atención a no confundir == con = porque implican distintas cosas.

El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el número 1 simultáneamente. Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un término no se evalúa el resto de la operación. Por ejemplo: (a == b && c != d && h >= k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condición, el resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores. En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se cumple esta condición el resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores. El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión como (!esVisible) devuelve false si (esVisible == true), o true si (esVisible == false). En general existen expresiones equivalentes que permiten evitar el uso de este operador cuando se desea. ORDEN DE PRIORIDAD, PRELACIÓN O PRECEDENCIA Los operadores lógicos y matemáticos tienen un orden de prioridad o precedencia. Este es un esquema general que indica el orden en que deben evaluarse en la 
mayoría de los lenguajes de programación:











Pharrell Williams - Happy (Official Music Video)


SIMBOLOGIA DE DIAGRAMA DE FLUJO


SímboloSímbolo Nombre
(Alias)
Símbolo Descripción
Proceso / Símbolos Operación
proceso de símboloProceso
Mostrar un proceso o paso de acción. Este es el símbolo más común en los diagramas de flujo de procesos y mapas de procesos de negocio.
predefinidos símbolo de procesoProceso predefinido
(Subrutina)
Un símbolo predefinidos proceso es un marcador de otra etapa del proceso o una serie de medidas de flujo del proceso que están formalmente definidos en otros lugares. Esta forma normalmente representa subprocesos (o subrutinas en diagramas de flujo de programación). Si el sub-proceso que se considera "conocida", pero en realidad no se define en un procedimiento de proceso, instrucciones de trabajo, o algún otro proceso de diagrama de flujo o la documentación, entonces es mejor no utilizar este símbolo, ya que implica un proceso definido formalmente.
símbolo de proceso alternativoSuplente Proceso
Como su nombre lo sugiere la forma, este símbolo de diagrama de flujo se utiliza cuando el paso de flujo del proceso es una alternativa a la etapa del proceso normal. líneas de flujo en un paso de flujo de procesos alternativos son generalmente discontinuas.
retraso símboloRetrasoEl símbolo de diagrama de flujo de retardo representa un período de espera que es parte de un proceso. Hay un atraso de las formas comunes de mapeo de procesos.
preparación símboloPreparación
Como dice el nombre, cualquier paso del proceso que es un proceso de preparación de caudal, como una puesta a punto la operación.
manual de símbolo de la operaciónManual de Operación
Manual de las formas de diagrama de flujo de operaciones que se muestran los pasos del proceso no están automatizados. En los diagramas de flujo de proceso de datos, esta forma de flujo de datos indica una operación de bucle junto con un símbolo de límite de bucle (que no es compatible con Microsoft Office, sino un símbolo Manual de Operación de girar 180 ° hará el truco.)
y Control de ramificación de los símbolos de flujo
conector de flechaFlow Line
(Flecha, conector)
Conectores de flujo línea de mostrar la dirección que el proceso de los flujos.
terminador símboloTerminator
(Terminal Punto de óvalo)
Terminators mostrar los puntos de inicio y fin de un proceso. Cuando se utiliza como un símbolo en Inicio, terminadores representan un grupo de disparo, que establece el flujo de proceso en marcha.
símbolo de la decisiónDecisión
Indica una pregunta o una sucursal en el flujo del proceso. Por lo general, una forma de diagrama de flujo Decisión se utiliza cuando hay dos opciones (Sí / No, No / No-Go, etc)
conector de nodoConector (Inspección)Diagrama de flujo: En los diagramas de flujo, este símbolo suele ser pequeño y se utiliza como un conector para mostrar un aumento de un punto en el flujo de proceso a otro. Los conectores son usualmente marcadas con letras mayúsculas (A, B, AA) para mostrar los puntos de coincidencia salto. Son útiles para evitar el flujo de las líneas que se cruzan otras formas y líneas de flujo. Ellos también son útiles para el salto y de un sub-procesos definidos en la zona para que el diagrama de flujo principal.
Proceso de Asignación: En los mapas de procesos, este símbolo es de tamaño completo y muestra un punto de inspección en el flujo del proceso.

[Sólo para confundir más las cosas, algunas personas utilizan un círculo para indicar una operación y un cuadrado para indicar una inspección. Es por eso que es importante incluir una clave de símbolo en el diagrama de flujo.]
conector fuera de página nodoConector fuera de página
Fuera de la página Conector muestra la continuación de un organigrama de proceso en otra página. Cuando se utilizan en combinación con conectores, lo mejor es para diferenciar las etiquetas, por ejemplo, números de uso para Off-Page Conectores y letras mayúsculas para conectores.En la práctica, la mayoría de los diagramas de flujo sólo tiene que utilizar la forma de conectar dos referencias en la página y fuera de la página.
símbolo de almacenamientoCombinación
(Almacenamiento)
Diagrama de flujo: Muestra la fusión de varios procesos y la información en una sola.
Proceso de asignación: por lo general indica que el almacenamiento de materias primas.
almacenamiento o extracto de símboloExtracto (medición)
Diagrama de flujo: Aparece cuando un proceso se divide en caminos paralelos. También indica una frecuencia de medición, con "M" mayúscula dentro del símbolo. 
Proceso de asignación: por lo general indica que el almacenamiento de productos terminados.
lógica o símboloO
La muestra o símbolo lógico cuando un proceso se aparta - por lo general durante más de dos ramas. Cuando se utiliza este símbolo, es importante etiquetar las líneas de flujo saliente para indicar los criterios a seguir cada rama.
sumando símbolo de conexionesEn resumen la salida
La lógica Resumiendo forma de diagrama de flujo de conexiones se muestra cuando convergen varias ramas en un solo proceso. El símbolo de combinación es más común para este uso, sin embargo.Este símbolo y el símbolo O son realmente más relevantes en el procesamiento de datos de diagramas de flujo que en los diagramas de flujo del proceso.
Entrada y símbolos de salida
datos o de entrada / salida de símboloDatos
(E / S)
La forma de diagrama de flujo de datos indica que las entradas y salidas de un proceso. Como tal, la forma es más a menudo se conoce como E / S que forma una forma de datos.
signaturaDocumento
Muy explica por sí mismo - el símbolo de diagrama de flujo de documentos es para una fase del proceso que produce un documento.
multi-signaturaMulti-DocumentoIgual que el documento, excepto, bueno, varios documentos. Esta forma no es tan de uso general como la forma de diagrama de flujo de documentos, incluso cuando están implicados varios documentos.
indicación de símbolosMostrar
Indica una etapa del proceso donde la información se muestra a una persona (por ejemplo, los usuarios de PC, operador de la máquina).
manual de símbolos de entradaManual de Entrada
Manual de las formas de diagrama de flujo de entrada muestra los pasos del proceso donde se le pide al operador / usuario para obtener información que deben introducir manualmente en un sistema.
tarjeta de símboloTarjeta
Esta es la compañía de las formas de diagrama de flujo de cinta perforada. Esta forma se utiliza raramente.
símbolo de cinta perforadaPerforadas de cintaSi eres muy bueno en todos los estiramientos de la vida de una máquina, usted todavía puede tener el uso del símbolo de cintas perforadas - se usa para la entrada en ordenadores antiguos y máquinas CNC.
Archivo y Almacenamiento de símbolos de información
símbolo de los datos almacenadosLos datos almacenados
Un general de almacenamiento de datos forma de diagrama de flujo utilizado para cualquier etapa del proceso que almacena los datos (a diferencia de las formas más específicas a seguir al lado de este cuadro).
base de datos de símboloDisco magnético (base de datos)
El símbolo más universalmente reconocibles para una ubicación de almacenamiento de datos, esta forma de diagrama de flujo representa una base de datos.
acceso directo símbolo de almacenamientoAlmacenamiento de acceso directo
Direct Access Storage es una manera elegante de decir unidad de disco duro.
símbolo de almacenamiento internoDe almacenamiento interno
Se utiliza en los diagramas de flujo de programación en el sentido de la información almacenada en la memoria, en lugar de en un archivo.
de almacenamiento de acceso secuencialDe almacenamiento de acceso secuencial
(Cinta magnética)
A pesar de que parece una "Q", el símbolo se supone que se vea como un rollo de cinta.
Símbolos de datos de procesamiento
cotejarCotejar
La forma de diagrama de flujo Intercalar indica una fase del proceso que requiere la organización de los datos, información o materiales de acuerdo a un formato estándar o el arreglo.
tipo símboloOrdenarIndica la clasificación de datos, información, materiales en un orden pre-definido.

PARADIGMAS DE PROGRAMACION


  1. Programación Imperativa:La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador)
  2. Programación lógica :
    La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica computacional. 
    La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación basada en restricciones, programas DSL (de dominio específico) e híbridos. La programación lógica gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.
  3. Programación Funcional:En ciencias de la computación, la programación funcional es un paradigma de programación declarativa basado en la utilización de funciones aritméticas que no maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en contraste con el estilo de programación imperativa, que enfatiza los cambios de estado. La programación funcional tiene sus raices en el cálculo lambda, un sistema formal desarrollado en los 1930s para investigar la definición de función, la aplicación de las funciones y la recursión. Muchos lenguajes de programación funcionales pueden ser vistos como elaboraciones del cálculo lambda. 
    En la práctica, la diferencia entre una función matemática y la noción de una "función" utilizada en la programación imperativa es que las funciones imperativas pueden tener efectos secundarios, al cambiar el valor de calculos realizados previamente. Por esta razón carecen de transparencia referencial, es decir, la misma expresión lingüística puede resultar en valores diferentes en diferentes momentos dependiendo del estado del programa siendo ejecutado. Con código funcional, en contraste, el valor generado por una función depende exclusivamente de los argumentos alimentados a la función. Al eliminar los efectos secundarios se puede entender y predecir el comportamiento de un programa mucho más fácilmente, y esta es una de las principales motivaciones para utilizar la programación funcional. 
  4. Programación declarativa:La Programación Declarativa, es un paradigma de programación que está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla (tan sólo se le indica a la computadora que es lo que se desea obtener o que es lo que se está buscando). No existen asignaciones destructivas, y las variables son utilizadas con Transparencia referencial
  5. Programación estructurada :
    La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). 
    Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones.


  6. Programación dirigida por eventos 
    La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen. 
    Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa. Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la
    programación dirigida por eventos.
  7. Programación modular :
    La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible y manejable. 
     Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver. 
     Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top-Down). 


  8. Programación orientada a objetos :
    La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

  9. Programación con restricciones :
    La Programación con restricciones es un paradigma de la programación en informática, donde las relaciones entre las variables son expresadas en términos de restricciones (ecuaciones). Actualmente es usada como una tecnología de software para la descripción y resolución de problemas combinatorios particularmente difíciles, especialmente en las áreas de planificación y programación de tareas (calendarización). 
    Este paradigma representa uno de los desarrollos más fascinantes en los lenguajes de programación desde 1990 y no es sorprendente que recientemente haya sido identificada por la ACM (Asociación de Maquinaria Computacional) como una dirección estratégica en la investigación en computación. 
    Se trata de un paradigma de programación basado en la especificación de un conjunto de restricciones, las cuales deben ser satisfechas por cualquier solución del problema planteado, en lugar de especificar los pasos para obtener dicha solución.
  10. Programación a nivel funcional :
     La programación a nivel funcional es unos de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los Programas como objetos matemáticos, siendo el otro la programación a nivel de valores. 
     En su discurso de aceptación del Premio Turing en 1977, Backus describió lo que considera como la necesidad de un cambio a una filosofía diferente en el diseño de lenguajes de programación: 
     "Pareciera existir un problema en el diseño de los lenguajes de programación. Cada nuevo lenguaje incorpora, luego de algo de limpieza, todas las características de los lenguajes anteriores más algunas otras. [...] Cada nuevo lenguaje presenta nuevas características de moda... pero el hecho es que pocos lenguajes hacen que la tarea de programar sea más económica, o más segura como para justificar el costo de producirlo y aprender a utilizarlo." 
    El lenguaje de programación FP fue el primer lenguaje diseñado específicamente para dar soporte al estilo de programación a nivel funcional. 


  11. Programación a nivel de valores 
    La programación a nivel de valores es unos de los dos paradigmas contrastantes identificados por John Backus en su trabajo sobre los Programas como objetos matemáticos, siendo el otro la programación a nivel funcional. El término inicialmente utilizado por Backus fue el de programación a nivel de objetos, pero en la actualidad ese término traería confusión con la programación orientada a objetos. 
    Los programas a nivel de valores describen como combinar diferentes valores (por ejemplo, números, caracteres, etc.) para formar nuevos valores hasta obtener el resultado final. Los nuevos valores se obtienen como resultado de la aplicación de operaciones que transforman valores en otros valores, como por ejemplo, la suma, la concatenación, la inversión de matrices, etc. 
    Los lenguajes que siguen el estilo de von Neumann son de nivel de valores: las expresiones a la derecha de una asignación tienen por objeto la creación del nuevo valor a asignar.

  12. Programación orientada a componentes 
    La programación orientada a componentes (que también es llamada basada en componentes) es una rama de la ingeniería del software, con énfasis en la descomposición de sistemas ya conformados en componentes funcionales o lógicos con interfaces bien definidas usadas para la comunicación entre componentes. 
    Se considera que el nivel de abstracción de los componentes es más alto que el de los objetos y por lo tanto no comparten un estado y se comunican intercambiando mensajes
    que contienen datos.

  13. Programación Orientada a Aspectos:
    La Programación Orientada a Aspectos (POA) es un paradigma de programación relativamente reciente cuya intención es permitir una adecuada modularización de las aplicaciones y posibilitar una mejor separación de incumbencias. Gracias a la POA se pueden encapsular los diferentes conceptos que componen una aplicación en entidades bien definidas, eliminando las dependencias entre cada uno de los módulos. De esta forma se consigue razonar mejor sobre los conceptos, se elimina la dispersión del código y las implementaciones resultan más comprensibles, adaptables y reusables. Varias tecnologías con nombres diferentes se encaminan a la consecución de los mismos objetivos y así, el término POA es usado para referirse a varias tecnologías relacionadas como los métodos adaptativos, los filtros de composición, la programación orientada a sujetos o la separación multidimensional de competencias.