martes, 25 de marzo de 2014

Lenguajes de Programación



Un lenguaje de programación es el último recurso que utiliza el programador, ya que es la herramienta que nos permite transformar un algoritmo en un programa. Joyanes (1992), lo define como el “conjunto de reglas, símbolos y palabras especiales que permiten construir un programa” (p. 48). Dichos lenguajes, como ocurre con el lenguaje humano, poseen una estructura (gramática o sintaxis) y un significado (semántica). De igual forma, como en el lenguaje humano (con el español, inglés, alemán, italiano…), se han desarrollado gran cantidad de lenguajes de programación (Assembler, Cobol, Fortran, Basic, Pascal, Logo, Pilot, C, Java…). 

El más primitivo de ellos es el lenguaje Assembler o lenguaje ensamblador. En él, refiere Joyanes (1992), se utilizaban símbolos reconocibles llamados nemotécnicos para representar las instrucciones. Su semejanza al lenguaje de máquina (también llamado código máquina), donde las instrucciones se asignaban bajo una secuencia de unos y ceros (sistema binario) comprendidos por la máquina como impulsos eléctricos positivos y negativos (por demás muy complejos, largos, complicados y difíciles de escribir), lo convierte en un tipo de lenguaje de programación llamado por los especialistas de bajo nivel. 

El tiempo y los avances, requirieron de lenguajes más fáciles de manejar y con  mayores semejanzas al lenguaje natural, surgiendo los lenguajes de alto nivel. Explica Joyanes (1992), que “los lenguajes de alto nivel utilizan instrucciones muy potentes (normalmente entendibles en idioma inglés) […] independientes de la máquina sobre la que operan” (p. 58). Esta característica marcó una gran diferencia que dio origen a los que hoy conocemos como lenguajes de programación.


Referencias:
  • Joyanes, L. (1992). Metodología de la Programación. México: McGraw Hill.

Programación de computadoras


Un programa informático es una secuencia de instrucciones que indica las acciones que debe ejecutar un computador. La Ley Especial contra Delitos Informáticos (2001) -ley que regula el uso adecuado de las tecnologías basadas en la informática en Venezuela- en el Literal j de su Art. 2 establece que un programa es un “plan, rutina o secuencia de instrucciones utilizados para realizar un trabajo en particular o resolver un problema dado a través de un computador”. Esta serie de instrucciones es la traducción de un algoritmo en un lenguaje comprensible para el computador para que éste ejecute las acciones (ver Gráfico 3).



Gráfico 3. Fases de la programación. Tomado de “Metodología de la Programación” por L. Joyanes, 1992 (p. 46).

Con base a lo anterior, la programación es el “proceso de planificar” estas secuencias. Joyanes (1992), señala que dicha planificación requiere del cumplimiento de una serie de pasos:
  • Planificación del programa: donde se deberán analizar sus entradas, procedimiento y salidas.

  • Desarrollo de las especificaciones del programa: para lo cual se puede utilizar como recurso los diagramas de flujo y pseudocódigos.

  • Codificación: paso fundamental en el que se escribe el “código fuente” del programa, haciendo uso de un lenguaje de programación.

  • Depuración: donde se detectarán y corregirán fallos en el “código fuente” del sistema.

  • Verificación: con el programa sin fallos en su codificación, deberá probarse para asegurarse que produce las salidas o respuestas requeridas por el usuario.

  • Documentación: descripción del funcionamiento y uso del programa una vez finalizado.

  • Mantenimiento: una vez implementado el sistema, es de suma importancia mantener la comunicación con el usuario final a fin de que indique si existen fallos no percibidos en el proceso de construcción de la herramienta o se requiere de alguna modificación.

Referencias:
  • Joyanes, L. (1992). Metodología de la Programación. México: McGraw Hill. 
  • Ley Especial contra Delitos Informáticos (2001). Gaceta Oficial de la República de Venezuela N° 37.313 (Extraordinario). 30-10-2001.

lunes, 24 de marzo de 2014

Pseudocódigos

Según Joyanes (1992), un pseudocódigo es “una técnica para expresar en lenguaje natural la lógica de un programa” (p. 39). Molero (s/f), por su parte, lo define como “una serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial” (p. 21). De acuerdo a ello, no es un código real bajo un lenguaje de programación real, pero su estructura facilita su comprensión y su transformación a cualquier lenguaje de programación de alto nivel. Es la representación narrativa (sin reglas sintácticas estrictas) de un algoritmo escrita en lenguaje natural, lo que hace que su comprensión sea simple pero siempre bajo ciertos parámetros. 

En tal sentido, así como los diagramas de flujo cumplen con una serie de estructuras simbólicas, los pseudocódigos deben responder a una serie de estructuras de control. A saber:
  • Estructura secuencial: consiste en colocar una instrucción tras otra, de manera que se van ejecutando de arriba abajo.
  • Estructura selectiva o condicional: permiten ejecutar un conjunto de instrucciones en función de si se cumple o no una condición.
  • Estructura iterativa o de repetición: permite repetir una instrucción o grupo de ellas un número finito de veces. Para ésta estructura, se describen tres (3) subestructuras:
  • Estructura Para: permite realizar una o más acciones un número determinado de veces.
  • Estructura Mientras: permite realizar una o más acciones mientras se cumpla con una condición.

  • Estructura Hasta: permite realizar una o más acciones hasta que se cumpla con una condición dada.
Para ilustrar todo lo estudiado hasta este punto, obsérvese el siguiente video:




Referencias:

sábado, 22 de marzo de 2014

Diagramas de Flujo o Flujogramas


Los diagramas de flujo o flujogramas son representaciones gráficas de los pasos necesarios que conllevan a la solución algorítmica de un problema. Joyanes (1992), lo define como “la representación gráfica de la solución de un problema o de un procedimiento” (p. 14). Contienen en su interior los pasos del algoritmo, y unas flechas que los unen indicando la secuencia en la que se deben ejecutar. Los símbolos representan acciones y las flechas el flujo del algoritmo (Universidad de Huelva, s/f).

Según Barbosa y otros (2012), existen cuatro (4) normas aceptadas para la creación de flujogramas:

  • Norma ASME: desarrollada por la American Society of Mechanical Engineers (Sociedad Americana de Ingenieros Mecánicos), se relaciona más con factores tales como: actividades, puestos de trabajo, tiempo y trabajo, siendo de gran utilidad para áreas de índole administrativo (ver Gráfico 1).
 

Gráfico 1. Símbolos para realización de Flujograma según Norma ASME. Tomado de “Flujogramas o Fluxogramas” por K. Barbosa y otros, 2012 (p. 11).

  • Norma ANSI: desarrollada por la American National Standards Institute (Instituto Nacional Estadounidense de Estándares), organización privada  que administra y coordina la normalización voluntaria, es la de mayor uso en el campo de la informática, ya que dispone de simbologías para procedimientos electrónicos en el manejo de datos (ver Gráfico 2).
 Gráfico 2. Símbolos para realización de Flujograma según Norma ANSI. Tomado de “Flujogramas o Fluxogramas” por K. Barbosa y otros, 2012 (p. 14).
  • Norma DIN: desarrolado por la Deutsches Institut für Normung (Instituto Alemán de Normalización).

Gráfico 3. Símbolos para realización de Flujograma según Norma DIN. Tomado de “Flujogramas o Fluxogramas” por K. Barbosa y otros, 2012 (p. 15).
  • Norma ISO 9000: desarrollada por la International Organization for Standarization (Organización Internacional de Normalización).
 
Gráfico 4. Símbolos para realización de Flujograma según Norma ISO 9000. Tomado de “Flujogramas o Fluxogramas” por K. Barbosa y otros, 2012 (p. 16).


De todas ellas, la más común en la informática es la norma ANSI. En ella se refleja cada uno de los símbolos y figuras a ser empleadas en la elaboración de un diagrama de flujo


Referencias: