Inicios de la programación

Publicado por CPA-BLOG / Category: ,

En los inicios de la programación y hasta principios de los sesenta, no había estructuras bien definidas en la forma en que se escribía el código. Se disponía una línea tras otra de programación construyendo un único e inmenso bloque, que constituiría el programa.

Introducción del Go To

Publicado por CPA-BLOG / Category:

El control del flujo a través de gran cantidad de líneas de instrucciones, resultaba difícil de seguir no sólo por su tamaño, sino porque no siempre es posible programar siguiendo la secuencia de una línea tras otra. Por lo que, luego de los años 60 del siglo XX, se hizo frecuente el uso de la instrucción go to (vaya a) escrito como “goto” en el programa.


Esta instrucción goto, identifica una línea de programa, que puede estar varias líneas más abajo e incluso varias líneas más arriba, a la cual salta para cambiar el control del flujo. Si se piensa en un programa pequeño, tal vez no resulte tan engorroso el seguimiento de estos saltos. La cuestión cambia, si se trata de un programa de miles de líneas donde se generaliza el uso del goto, de modo que el programa va a presentar multitud de saltos. Entonces seguir el flujo del programa realmente se torna muy complicado e incluso imposible, aún para quien lo esté desarrollando.

Programación estructurada

Publicado por CPA-BLOG / Category:

Surge como la práctica de construir programas usando un conjunto de estructuras bien definidas. Esta programación evoluciona en los años sesenta y entre una de sus metas se encuentra, la eliminación de la instrucción goto dentro del código. Aún cuando la programación estructurada brindó mejoras, atribuyendo claridad y eficiencia en los programas, continuó existiendo la necesidad de hacer programas de manera más rápida y eficiente. Se reconoce en la reutilización del código, como un camino a la solución de acelerar la construcción de los programas. Las subrutinas, bloques constructores en la programación estructurada, son un paso más en la solución de este problema.

¿Qué es programación orientada a objeto?

Publicado por CPA-BLOG / Category: ,

En la programación orientada a objetos, los bloques constructores son unos componentes modulares y reusables, denominados objetos. Surge en los ochenta, afirmándose que llegará a ser el enfoque dominante de la programación. Este enfoque enriquece la programación estructurada, más que sustituirla. Los objetos están compuestos en sí mismos, por piezas de programa estructuradas, y la lógica de manipulación de objetos también es estructurada.

Características de la programación estructurada

Publicado por CPA-BLOG / Category: ,

1. La estructura secuencial: Está definida por el flujo de control automático de un programa. De manera natural, a menos que otra cosa se indique, la computadora ejecuta las líneas de código en el orden en que fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente.

2. Las estructuras de selección: Se basan en una declaración condicional. Si es verdadera, ciertas líneas de código son ejecutadas. Si tal declaración es falsa, esas líneas no serán ejecutadas. Las dos estructuras de selección más comunes son: Si-Entonces (If-Then) y Si-Entonces-de lo contrario (If-Then-Else).
3. Las estructuras de repetición (o de ciclos): Su construcción también hace uso de declaraciones condicionales. Si la condición evaluada es verdadera, un bloque de una o más instrucciones se repetirá, hasta que la condición sea falsa. La computadora prueba la condición una primera vez, si es verdadera, ejecuta el bloque de comandos. Entonces, finalizada la primera repetición, comprueba de nuevo la condición y si es verdadera se repite el bloque nuevamente, y así sucesivamente hasta que la condición sea falsa. Ya que este funcionamiento es cíclico, cada una de estas repeticiones es llamada también ciclo. Tres estructuras de este tipo son: Repita para (For-Next), Repita Mientras (While) y Repita Hasta (Do-While).


Características de la programación orientada a objetos

Publicado por CPA-BLOG / Category: ,

Objetos: En general cuando se observa o se piensa sobre un objeto, por ejemplo un carro, siempre se le percibe como un todo. No es común enfocarse en sus componentes de acero, vidrio o plástico, sino más bien, la mente lo percibe como unidad completa, como un objeto, como un todo. Si se desea describir el carro, se puede pensar en su color, tamaño y forma. Como todos los objetos, el carro posee atributos que permiten describirle. Se puede pensar además en las cosas que el carro puede hacer, como acelerar, retroceder, girar a derecha o izquierda.

El carro tiene un conjunto de funciones que puede realizar. Además, es fácil notar que el carro contiene elementos que le constituyen: Los cauchos, el chasis, el sistema de tracción, y otros. Pero esos elementos a su vez están formados por otros elementos. Como es el caso del motor y de las partes que le forman. De manera muy similar, en la POO se emplean módulos llamados objetos, que poseen atributos y funciones. Los objetos encapsulan o contienen otros objetos, que a su vez pueden ser también contenedores de objetos.


Clases y herencia de clases: Cuando se mira alrededor, es posible ubicar los objetos en clases o categorías abstractas de objetos afines. En un proceso similar, en POO por ejemplo, los autos de las diferentes marcas se agruparían en una clase llamada carros. Una clase consiste en atributos y funciones que son compartidas por más de un objeto. En el caso de los carros, todos cuentan con un volante y cuatro ruedas y pueden ir hacia delante, en reversa, detenerse o acelerar. Los atributos de clase se denominan miembros de datos y las funciones de la clase, se conocen como funciones de miembro o métodos. Las clases pueden ser divididas en subclases. Las subclases normalmente poseen todos los atributos de la clase predecesoras, a lo que se llama herencia de clase.


En POO crear un objeto se denomina instanciación. Al instanciar un objeto, éste adquiere de manera automática los atributos y métodos asociados a la clase a la cual pertenece. Normalmente no se espera que los carros operen por sí solos. Para que el carro vaya hacia delante se envía una señal, presionando el acelerador. En POO se utilizan los mensajes para indicar a los objetos que realicen una determinada función.

¿Qué es el lenguaje ensamblador?

Publicado por CPA-BLOG / Category: ,

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de computadoras legible por un programador.

¿Qué es una variable?

Publicado por CPA-BLOG / Category: ,

Las variables son los “contenedores” de los datos que se van a procesar, son un elemento común en la mayor parte de los lenguajes de computación. Físicamente, las variables son áreas designadas de memoria en donde se guarda el valor del dato. Supongamos que se escribe un programa en el cual se solicitan sueldos de empleados. Se debe contar con una variable que guarde ese dato. Puede escogerse nombrarla, por ejemplo, v_sueldo.

Pasos de la programación

Publicado por CPA-BLOG / Category:

Los programas son los bloques constitutivos del software del sistema de información. Para la elaboración de programas, se usa una adaptación del proceso del ciclo de vida de desarrollo de sistemas. Los pasos para la creación de programas son los siguientes:

Especificación del programa:

En este paso se identifica y se define la necesidad a resolver, que indicará los objetivos, salidas, entradas y requerimientos de procesamiento del programa. Los programadores, verifican si existe ya, una solución provista por alguien que haya encarado el problema con anterioridad y que lo ofrezca, bien en la propia organización o de manera comercial fuera de ella. Solamente si la solución no se encuentra disponible, o existen limitaciones para conseguirla, es cuando se comienza con la programación. En primer lugar, debe establecerse cuál es el problema que se intenta resolver, delimitándolo claramente. Se procede entonces, a determinar cuál es la salida de información que se desea genere el programa. La salida, se puede tratar de una salida impresa o una que se presente en el monitor, como por ejemplo, un reporte de facturación para cada mes. La determinación de entradas requiere identificar qué datos son necesarios para realizar el proceso y cuál es su origen. Seguidamente, se definen las tareas de procesamiento que deben realizarse para transformar los datos de entrada en salida.

Diseño del programa:

Es la etapa en la cual los programadores delinean cada componente del programa y las interfaces entre cada componente. Se cuenta con muchas herramientas para este proceso, entre las que se tiene, diagramas de flujos (para programación estructurada), círculos y canales de mensaje (programación orientada a objetos) y seudocódigo. Estas herramientas permiten presentar una documentación que describe la solución en términos gráficos y descripción de las instrucciones que conforman los procedimientos.

Codificación del programa:

En esta fase se realiza la generación del programa, usando un lenguaje de programación. Se obtendrá de la fase el código que ejecutará la computadora. Implica desde la escritura de las instrucciones en el llamado código fuente, hasta la realización de prueba del mismo. Para esta fase se hace uso de la lógica que se determinó en el paso anterior para realizar la generación del programa. Puede hacerse uso del código que ya fue escrito y probado anteriormente (probablemente en otros proyectos), en especial si se está usando la POO. La integración y adaptación de código existente a una nueva aplicación, puede ahorrar gran cantidad de tiempo.

Prueba del programa:

La aparición de errores en los programas es prácticamente inevitable. Existen dos tipos de errores principalmente: de sintaxis y lógica. Los errores de sintaxis violan las reglas del lenguaje de programación. Para afrontarlos se hace uso de un compilador que los detectará de forma automática. Los errores de lógica causan que el programa se ejecute de manera inesperada o incorrecta. El proceso para eliminar los errores de lógica se denomina depuración.

Documentación del programa:

Este paso resalta la necesidad de completar y revisar toda la documentación acumulada en el proceso y adaptarla, para quienes estarán relacionados con el programa en el futuro: Los usuarios finales y los programadores. La documentación contiene de manera escrita todas las descripciones y procedimientos, que surgen a lo largo del proceso, acerca de un programa y su modo de uso. La documentación para los usuarios les indica cómo utilizar el programa y cómo resolver los mensajes de error. Suele ir incluida dentro del programa, en una opción de ayuda, o separada en manuales impresos. Para los programadores, la documentación es valiosa por dos situaciones: al pasar el tiempo, un programador puede olvidar detalles de su producto, o también, cuando un programador debe actualizar, modificar o dar mantenimiento a un programa desarrollado por otro.

Mantenimiento del programa:

Esta fase se inicia inmediatamente después de instalado el producto. Está motivada, porque algunos defectos menores podrían haber sido pasados por alto y deberán ser solventados o porque los programadores podrían querer añadir mayor funcionalidad al mismo, como respuesta a las inquietudes de los usuarios finales. Debido a que todas las organizaciones experimentan cambios con el tiempo, los programas inevitablemente deben cambiar con ellas. De modo que deberán ser ajustados, para mejorar, estandarizarse o adecuarse a los cambios

Clasificación de los lenguajes de programación: Generaciones

Publicado por CPA-BLOG / Category: ,

  1. Primera generación: Lenguaje máquina Son los lenguajes más básicos. Los lenguajes de máquina se representan en bytes, los cuales, están compuestos de bits, que son números binarios o que consisten únicamente de ceros (0) o unos (1). Estos valores pueden corresponder a que la electricidad esté encendida o apagada en la máquina, o a la presencia o ausencia de carga magnética en un medio de almacenamiento. A partir de estos dos estados se forman los esquemas de codificación (como el código ASCII) que permiten generar letras, números, signos de puntuación y caracteres especiales.
  2. Segunda generación: lenguajes ensambladores: Están constituidos por nemotécnicos similares a palabras en idioma inglés. En primer lugar, se crea un archivo fuente con las instrucciones que se desea que la computadora ejecute, usando un editor, que es una especie de procesador de palabras. El código fuente es traducido al lenguaje máquina mediante programas traductores (compiladores). Los programadores rara vez escriben programas de tamaño relevante en este tipo de lenguajes, debido a que, a pesar que es mucho más fácil que utilizar código de máquina, siguen siendo altamente detallados (instrucciones muy básicas). Sólo se hace en los casos donde la velocidad es clave (como en la programación de juegos de video) y para afinar partes importantes de los programas que son escritos en lenguajes superiores.
  3. Tercera generación: Los programas de la tercera generación son capaces de soportar programación estructurada, es decir, permiten el uso de estructuras de programación específicas para ramificaciones y ciclos en el flujo del programa. Por otro lado, resultan más claros puesto que usan palabras o comandos semejantes al lenguaje normal, lo que permite compartir el desarrollo entre diferentes programadores. Los programadores que conforman un equipo pueden leer el código realizado por los demás y comprender la lógica y el flujo de control del programa.
  4. Cuarta generación: Lenguajes de propósito especial: Estos lenguajes de cuarta generación (4GL) son usados en programación, de propósitos específicos, caracterizados por una mayor facilidad de uso comparados con los de la tercera generación, permitiendo la creación de prototipos de una aplicación rápidamente. Los prototipos permiten tener una idea del aspecto y funcionamiento de la aplicación antes que el código sea terminado. Esto implica que quienes estén involucrados en el desarrollo de la aplicación pueden aportar retroalimentación en aspectos como, estructura y diseño desde el principio del proceso. A cambio de esta capacidad para trabajar más velozmente, debe sacrificarse parte de la flexibilidad con la que se disponía con los lenguajes anteriores.
  5. Quinta generación: Lenguajes naturales: Esta generación incluye la inteligencia artificial y sistemas expertos. En lugar de sólo ejecutar un conjunto de órdenes, el objetivo de estos sistemas es “pensar” y anticipar las necesidades de los usuarios. Estos sistemas se encuentran aún en desarrollo. Aunque los sistemas de inteligencia artificial han demostrado ser más complicados para desarrollar de lo que se anticipaba, los investigadores afirman que pronto serán capaces de tomar como entrada hechos y luego usar un procesamiento de datos que formule una respuesta adecuada, de modo similar a como responden los humanos.

 

Nuevas tendencias en programación

Publicado por CPA-BLOG / Category: ,

La disponibilidad de programas de calidad desarrollados más rápidamente, se ve acrecentada con el pasar del tiempo motivada por dos aspectos. Por un lado, la acumulación del conocimiento de cómo hacer las cosas, organizado mediante técnicas y metodologías bien definidas y estructuradas, que plantean alternativas como guías a seguir. Por otro lado, la disponibilidad de lenguajes de programación los cuales proveen mejores medios para que los desarrolladores sean capaces de aplicar su creatividad, ingenio y experiencia.

Una tendencia marcada desde hace algunos años, es la dependencia creciente de componentes de software reusable por parte de programadores y equipos de desarrollo. El enfoque de la programación orientada a objetos es muestra de ello, así como su incorporación en los lenguajes de programación. De tal modo, es muy probable que incluso lleguen a existir proveedores de objetos componentes de software, que los ofrezcan a los programadores, como en la actualidad se ofrecen componentes hardware. Entonces el enfoque del trabajo de los desarrolladores de software cambiará, tal vez, dividiéndolos en dos grupos.

Por un lado, quienes se encarguen de la integración de los objetos cuando se trata de desarrollar programas específicos, más que de desarrollar a detalle cada componente desde el principio. En tanto que los surtidores de tales componentes se especializan en desarrollar los objetos que les son demandados, que podrán ser componentes estándar o a la medida (con especificaciones únicas).

Otra gran influencia en el desarrollo de programas, es resultado de la expansión en el uso de Internet en lo personal y en lo comercial. Es posible que pronto se generalice el uso de programas los cuales se ejecuten en Internet y los desarrolladores produzcan programas que además de enviar y recibir mensajes y archivos, hagan uso de los inmensos recursos mundiales disponibles. Los programadores podrían estar desarrollando programas que se ejecuten en Internet, requiriendo entonces, lenguajes de programación más adaptados a este tipo de empresas.

Visual Basic

Publicado por CPA-BLOG / Category: ,

Es uno de los tantos lenguajes de programación que podemos encontrar hoy en día. Dicho lenguaje nace del BASIC (Beginner´s All-purpose Symbolic Instruction Code) que fue creado en su versión original en el Dartmouth College, con el propósito de servir a aquellas personas que estaban interesadas en iniciarse en algún lenguaje de programación. Luego de sufrir varias modificaciones, en el año 1978 se estableció el BASIC estándar. La sencillez del lenguaje ganó el desprecio de los programadores avanzados por considerarlo "un lenguaje para principiantes".

Primero fue GW-BASIC, luego se transformó en QuickBASIC y actualmente se lo conoce como Visual Basic y la versión más reciente es la 6 que se incluye en el paquete Visual Studio 6 de Microsoft. Esta versión combina la sencillez del BASIC con un poderoso lenguaje de programación Visual que juntos permiten desarrollar robustos programas de 32 bits para Windows. Esta fusión de sencillez y la estética permitió ampliar mucho más el monopolio de Microsoft, ya que el lenguaje sólo es compatible con Windows, un sistema operativo de la misma empresa.

Visual Basic ya no es más "un lenguaje para principiantes" sino que es una perfecta alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones compatibles con Windows.

Características del Visual Basic

Publicado por CPA-BLOG / Category: ,

  • Barra de título: muestra el nombre del proyecto y del formulario q se está diseñando actualmente
  • Barra de menús: agrupa los menús despegables que contienes todas las operaciones que pueden llevarse a cabo con Visual Basic 6.0.
  • Barra de herramientas estándar: contienen los botones que se utilizan con mayor frecuencia cuando se trabaja con un proyecto. Simplifica la elección de opciones de los menús Archivo, Edición, Ver y Ejecutar; además, en el área derecha presenta la ubicación (coordenadas) y el tamaño del objeto seleccionado
  • Ventana de formulario: es el área donde se diseña la interfaz gráfica, es decir, es donde se inserta electo gráficos, como botones, imágenes, casilla de verificación, cuadros de listas, etc.
  • Cuadro de herramientas: presenta todos los controles necesarios para diseñar una aplicación, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc.
  • Ventana de proyecto: muestra los elementos involucrados en el proyecto, como formularios, módulos, controles oxc, etc. Cada elemento puede seleccionarse en forma independiente para su edición.
  • Ventana de posición del formulario: muestra la ubicación que tendrá el formulario en la pantalla, cuando ejecute la aplicación. Esta ubicación puede cambiarse si se hace clic con el botón izquierdo del mouse.
  • La Ventana propiedades muestra todas las propiedades del control actualmente seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que abajo dice "Form1 Form", lo que está en negrita es el nombre del objeto, y lo que le sigue es el tipo de objeto, en este caso es un Formulario (Form).