Mundo
del Programador

Conceptos


Cuando afrontamos la construcción de una solución debemos tener en cuenta conceptos como:

  1. Abstracción se trata de realizar un unálisis del problema para descomponerlo en problemas más pequeños y de menor complejidad
  2. Encapsulación consiste en ocultar la información para implementarla de diferentes maneras sin que esto influya en el resto de elementos
  3. Modularidad es estructurar la información en módulos independientes , cada uno con su función

Algoritmo es una secuencia ordenada de pasos, descrita sin ambigúedades, que conducen a la solución de un problema dato.

Caracteristicas de un algoritmo:

  • debe ser preciso e indicar el orden de realización paso a paso
  • si se ejecuta mas de una vez debe obtener el mismo resultado
  • debe tener un numero finito de pasos

A los pasos que permiten resolver el problema, escirtos en un leguaje de programación, para que puedan ser ejecutados en el ordenador y asi obtener la solución, se les denomina programa.

Hay 2 tipos de programación:

  1. programación declarativa que se basa en el desarrollo de programas realizando una especificación o declaración de un conjunto de condiciones que describen el problema y detallan su solución. Las sentencias que se utilizan describen el problema que se requiere solucionar pero no las instrucciones necesarias para llevarlo a cabo. Este tipo de progración se divide en:
    • funcional que considera el programa como una función matemática, donde el dominio representaria el conjuto de todas las entradas posibles (input) y el rango seria el conjunto de todas las salidas posibles (output). El lenguaje LISP es un ejemplo de esta programación.
    • lógica que especifica que hay que hacer y no como hacerlo. Se utiliza en inteligencia artifical. Como ejemplo el lenguaje PROLOG.

  2. programación imperativa consiste en una serie de comandos que un pc ejecutara. Estos comandos detallan de forma clara el como hacer las cosas y llevaran el programa a traves de distintos estados. Se divide en:
    • convencional (no estructurada), no existian al principio los lenguajes que permitan estructurar el codigo para su modificación o reutilización. Los programas eran lineas y lineas de codigo que hacian dificil su lectura o modificación. Todo era basado en instrucciones de salto (Goto). El programa era un solo archivo, eran dificiles de mantener y de representar.
    • estructurada que nació para solventar los problemas y limitaciones de la programación convencional. Permite la modificaión, reutilización y lectura del código. Permitian el concepto de programación modular, que reutilizaba código en cualquier parte del programa las veces que se necesitaba.
    • oritentada a objetos, que los objetos tenian propriedades que con ellas realizaban acciones (metodos). Se basa en varias tecnicas como herencia, abstracción, polimorfismo y encapsulamiento. Ejemplos de lenguaje como JAVA, C, C++, PHP.
    • visual un conjunto de paradigmas que incluyen conceptos desarrolados en el resto de paradigmas presentados ante.


Siguiente