jueves, 18 de septiembre de 2014

LA LÓGICA BOOLEANA


La lógica booleana o también conocida como lógica binaria se basa principalmente en circuitos digitales donde:

Encendido = 1 (detección de corriente eléctrica)
Apagado = 0

Con estás dos entradas diferentes se crean elecciones las cuales son AND, OR y NOT también conocidos como operadores lógicos.

NOT
para cualquier valor de entrada verdadero (1) o falso (0), el valor de salida o resultado será lo contrario.

AND
Se hacen comparaciones entre varias entradas y de resultado o salida va ser verdadero, solo si todas las entradas o comparaciones son verdaderas, de lo contrario el resultado será falso.



OR

En esta comparación basta con que una de las entradas o comparaciones sea verdadera, el resultado será verdadero.También todas las comparaciones pueden ser verdaderas para que esta se cumpla.





domingo, 14 de septiembre de 2014

HERRAMIENTAS PARA LA CREACIÓN DE DIAGRAMAS DE FLUJO





  • Gliffy, es una herramienta que permite la realización de diversos tipos de gráficos y diagramas, este software es ejecutado desde el navegador.





  • MicrosoftVisio, es un software que facilita visualizar y analizar procesos complejos, en donde los diagramas elaborados en Visio ayudan a mejorar la comprensión de sistemas y procesos.


  • DFD, es un software que construye y analiza algoritmos, creando diagramas de flujo donde se podrán ejecutar, analizar y depurar.Donde la interfaz del software facilita el trabajo con diagramas ya que simula la representación del diagrama, como se hace en hojas de papel.

  • Cacco, es una herramienta multi-propósito para la creación de diversos gráficos y diagramas, ejecutable desde el navegador.

  • LucitChart, herramienta ideal para la creación de gráficos, diagramas de venn, organigramas, diagramas de flujo y es ejecutable desde el navegador.

  • SmartDraw, es un software en el que se pueden crear fácilmente diagramas de flujo, esquemas de redes, organigramas empresariales y mucho mas.

  • Dia, es un editor de diagramas con las herramientas necesarias para su creacion.


DIAGRAMAS DE FLUJO DE LA CLASE

  • Representar en un diagrama de flujo, el proceso parea calcular el promedio de tres números.

  • Representar el diagrama anterior, pero que valide que los números sean positivos.

  • Desarrollar un diagrama que permita leer dos números diferentes, determinar cual es mayor e imprimirlo.

  • Desarrollar un algoritmo que permita leer tres números diferentes, determinar cual es el mayor e imprimirlo.Representarlo en diagrama de flujo.

  • Representar el diagrama anterior, pero mostrando cual es el número mayor y cual es el menor.


  • Desarrollar un algoritmo que determine la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus catetos.Representarlo en diagrama de flujo.


  • Determinar un algoritmo que realice la sumatoria de los números enteros entre el 1 y el 10.Representarlo en diagrama de flujo.


  • Desarrolle un algoritmo que permita ordenarlos de menor a mayor dos números.Probar el diagrama de flujo con tres entradas diferentes.




    • Desarrolle un algoritmo que permita ordenarlos de menor a mayor 4 números.



    Los diagramas de flujo fueron realizados con la herramienta gliffy: http://www.gliffy.com/

    domingo, 31 de agosto de 2014

    OPERADORES ARITMÉTICOS


    En el lenguaje de programación de java tiene diversos operadores aritméticos, para los datos numéricos, los cuales son los siguientes.


    OPERADORES ARITMÉTICOS INCREMENTALES


    Los operadores aritméticos incrementales son operador es que tienen un único operador (unarios).Este tipo de operadores pueden de dos formas dependiendo su posición con respecto al operando.


    OPERADORES ARITMÉTICOS COMBINADOS


    Los operadores aritméticos combinados, son la combinación de un operador aritmético con el de asignación (=) .


    OPERADORES DE RELACIÓN

    Realizan comparaciones entre datos compatibles teniendo siempre un resultado booleano (verdadero o falso).



    OPERADORES LÓGICOS O BOOLEANOS

    Los operadores lógicos realizan la comparación entre valores booleanos y teniendo como resultado un valor booleano.



    Para mejorar el rendimiento de ejecución del código es recomendable emplear el operador && en lugar del operador &. Colocando la condición propensa a ser falsa del lado izquierdo.
    De la misma manera es conveniente usar el operador || que el operador |. En este caso es conveniente colocar la condición más propensa a ser verdadera del lado izquierdo.
    Esta técnica reduce el tiempo de ejecución del programa.

    martes, 26 de agosto de 2014

    NOMENCLATURA DE LOS DIAGRAMAS DE FLUJO




    Los diagramas de flujo son una serie de pasos secuenciales que representan de una manera tradicional los detalles algorítmicos de los procesos.Los diagramas de flujo se basan en una nomenclatura de símbolos general.

    En su representación gráfica, se representa toda la solución de un algoritmo, donde los símbolos se interconectan para dar un sentido lógico
    el diagrama de flujo de datos ayuda a ilustrar los componentes de un proceso y la forma en que interactúan, de manera gráfica y entendible que a comparación verbal o totalmente escrita.
    De igual manera se puede mostrar el diagrama de flujo como un análisis estructurado de la transformación de datos de un sistema.


    Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos. Los símbolos estándares que se utilizan con frecuencia para diagramas de flujo de la programación en computadora son los siguientes:

    Inicio o fin del programa
    Pasos, procesos o líneas de instruccion de programa de computo
    Operaciones de entrada y salida
    Toma de desiciónes y Ramificación
    Conector para unir el flujo a otra parte del diagrama
    Cinta magnética
    Disco magnético
    Conector de pagina
    Líneas de flujo
    Anotación
    Display, para mostrar datos
    Envía datos a la impresora

    REGLAS PARA LA CORRECTA CREACIÓN DE UN DIAGRAMA DE FLUJO

    1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.
    2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).
    3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.
    4. No deben quedar líneas de flujo sin conectar
    5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de muchas palabras.
    6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
    7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.

    EJEMPLO: diagrama de flujo que encuentra los primeros 50 números naturales.




    PARADIGMAS DE PROGRAMACIÓN


    Siempre que hacemos un trabajo de investigación, seguimos un lineamiento, una metodología o un patrón. Para que así la investigación lleve un buen seguimiento, siguiendo distintas metodologías según el trabajo que se este realizando.

    En el ámbito de la programación los paradigmas son métodos tecnológicos,diferentes para llevar a cabo la programación. Los paradigmas de programación indican las diferentes formas, que a lo largo de la evolución de los lenguajes de programación han sido aceptadas como estilos para programar y resolver los problemas por medio de una computadora.

    Cada paradigma de programación posee sus propias características y tratan de solucionar los problemas del desarrollo de software.

                                                  Modelo Computacional del Paradigma Imperativo


    Existen diversas clasificaciones de los paradigmas de programación:
    • Paradigma imperativo o por procedimientos. 
    • Paradigma funcional. 
    • Paradigma lógico. 
    • Paradigma orientado a objetos. 
    PARADIGMA IMPERATIVO O POR PROCEDIMIENTOS

    Este es el paradigma original de la programación iniciando entre los años 50's. En este paradigma el programador se concentra en el procesamiento, en el algoritmo que resuelva el problema que se realice, es decir dar instrucciones al lenguaje para que realice el problema propuesto, teniendo como característica el uso de comandos y de variables.
    FORTRAN es el lenguaje imperativo original, C y pascal son posteriores a él, siguiendo la misma idea.
    La programación estructurada se considera como su principal componente de la programación por procedimientos.
    Lenguajes de programación como: Fortran, BASIC, C++,Pascal, PHP son ejemplos de lenguajes imperativos. 

    PARADIGMA FUNCIONAL

    Esta paradigma se basa en la utilización de funciones matemáticas, teniendo como objetivo conseguir lenguajes expresivos en base en las matemáticas.
    El cual no es necesario interactuar directamente con un lenguaje de bajo nivel.
    Los programas que son desarrollados en un lenguaje funcional se constituyen por definiciones de funciones matemáticas, otra característica que poseen los lenguajes funcionales es que no existe la asignación de variables y así mismo careciendo de estructuración.
    Teniendo lenguajes como LISP y ML.





    PARADIGMA LÓGICO O DECLARATIVO

    Es el paradigma contrario al imperativo, ya que este describe como es el problema para así encontrar una solución.

    La programación lógica comprende dos paradigmas que son el declarativo y funcional. la programación declarativa gira en torno a su relación entre elementos. La programación funcional es basada en las funciones matemáticamente anteriormente mencionado. En este paradigma se describe la lógica de computación necesaria para resolver un problema sin describir los pasos que se llevo, por lo que en la programación declarativa no es necesario la definición de algoritmos, ya que la solución del problema se detalla en lugar de como llegar a esa solución. En la programación declarativa, la solución es alcanzada a través de mecanismos internos de control pero no se especifica exactamente como llegar a ella. Como ya se menciono, dentro del paradigma lógico se encuentra la programación funcional cuyo lenguaje más expresivo es el lenguaje Haskell, la programación lógica donde el programa es Prolog (ampliamente usado en ambientes académicos) .

    En los lenguajes funcionales puros como Haskell, todas las funciones son puras, es decir, no tienen efectos secundarios, y los cambios de estado están solo representados como funciones que transforman el estado. Aunque no son imperativos, proporcionan algún mecanismo por el que describir el efecto de una función como una serie de pasos.


    PARADIGMA ORIENTADO A OBJETOS

    Es un paradigma de programación que usa objetos y sus interacciones para el diseño de programas de computadoras.Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.
    programas orientados a objetos:

    • ADA
    • C ++
    • C#
    • CLAIRON
    • OBJECT PASCAL (DELPHI)
    • JAVA
    • JAVASCRIPT
    Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino que son híbridos ( no son pertenecientes de un solo paradgma) que combinan la POO con otros paradigmas.

    PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA

    La programacion orientada a objetos en java, introducirá a los objetos, las clases, las herencias, los interfaz y los paquetes. Cada discusión se enfoca en cómo estos conceptos se relacionan con el mundo real, mientras simultáneamente proporciona una introducción para la sintaxis de lenguaje de programación de java.

    ¿Qué es un objeto?
    Un objeto es un conjunto de software del comportamiento y el estado relacionado.Los objetos de software son a menudo usados para modelar los objetos del mundo real que se encuentran en la vida cotidiana. Esta lección explica como el estado y el comportamiento son representados dentro de un objeto, introduce el concepto de encapsulación de datos y explica los beneficios de diseñar tu software de esta manera.

    ¿Qué es una clase?
     Una clase es un modelo o prototipo de que objetos son creados.Esta sección define una clase que modela el estado y comportamiento del mundo real.Se centra intencionalmente en los fundamentos, mostrando como aun una clase simple puede modelar limpiamente el estado y comportamiento.

    ¿Qué es herencia?
     Herencia proporciona un poderoso y mecanismo natural para la organización y estructuración de su software.Esta sección explica como las clases heredan estado y comportamiento de sus superclases y explica como derivar una clase de otra usando la sintaxis simple proporcionada por el lenguaje de programación de java.

    ¿Qué es un interfaz? 
    Un interfaz es un contrato entre una clase y el mundo externo.Cuando una clase implementa una interfaz, se compromete a proporcionar el comportamiento publicado por esa interfaz. Esta sección define una interfaz simple y explica los cambios necesarios para cualquier clase que lo implemente.

    ¿Qué es un paquete?
    Un paquete es un espacio de nombres para organizar las clases y los interfaces en una manera lógica. Colocar el código en paquetes hace proyectos grandes de software más fácil para controlar. Esta sección explica porque esto es útil, e introduce a la interfaz de programación de aplicaciones (API) proporcionado por la plataforma java.