miércoles, 26 de noviembre de 2014

Programación básica de computadores

Programación

Se conoce como programación en ciencias de la computación a los pasos que se abordan para crear el código fuente de un programa informático. De acuerdo con estos pasos, el código se escribe, se prueba y se perfecciona. La programación es una de las actividades más determinantes en el desarrollo de sistemas eficientes, rápidos y amigables para todo tipo de usuarios.

Lenguajes de programación

Cuando se programa, se indica una serie de instrucciones para que la computadora las ejecute. Para asegurarse que la computadora entienda las instrucciones, se han establecido lenguajes bien definidos para especificar y poder generar la comunicación con la computadora. Estos lenguajes tienen características similares a los lenguajes comunes que utilizan las personas para comunicarse unas con otras, pues cuentan con reglas y estructuras que deben seguirse.
Un lenguaje de programación es cualquier lenguaje artificial, el cual, se utiliza para definir adecuadamente una secuencia de instrucciones que puedan ser interpretadas y ejecutadas en una computadora. Se asume que las instrucciones así escritas son traducidas luego a un código que la máquina pueda comprender. El proceso de traducción es realizado normalmente por la computadora, usando un programa especializado para tal fin. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.

Tipos de lenguajes de programación

En computación se suele hablar de niveles y generaciones de los lenguajes de programación. Respecto al nivel, se clasifican en lenguajes de bajo y alto nivel. Los lenguajes de bajo nivel, son aquellos que se asemejan al lenguaje empleado por la computadora, mientras que los lenguajes de alto nivel, son aquellos que se asemejan al lenguaje humano.

Niveles de los lenguajes de programación
Los lenguajes de alto nivel son resultado de una evolución, desde los lenguajes de bajo nivel. La computadora sólo es capaz de comprender su lenguaje máquina. Pero para las personas no es fácil entender y manejar este código máquina de combinaciones binarias. Las investigaciones dieron un primer paso que llevó a la evolución desde las hileras de números binarios del código máquina, a un lenguaje ensamblador, que las representaba como una serie de comandos más entendibles. Los lenguajes de nivel superior están orientados más hacia lo que se quiere realizar, que en la manera como se ejecutarán los comandos.

- Lenguajes de bajo nivel:
A nivel de circuitos, los microprocesadores sólo son capaces de procesar señales electrónicas binarias. Estas instrucciones binarias que se envían al microprocesador, se componen de series de unos y ceros, espaciadas en el tiempo de una forma determinada. Esta secuencia de señales se denomina código máquina. El código representa normalmente datos y números, así como instrucciones para manipularlos. Para hacer más fácil el manejo del código máquina, se dio a cada instrucción un mnemónico, como por ejemplo STORE (Almacenar), ADD (Adicionar) o JUMP (Saltar). Tal abstracción da como resultado el ensamblador, que es un lenguaje de muy bajo nivel basado en mnemónicos y que es específico para cada microprocesador.

De esta forma, son llamados lenguajes de bajo nivel, a aquellos constituidos por instrucciones en lenguaje máquina o próximos a él. Tales lenguajes permiten crear programas muy rápidos y eficientes, pero en contrapartida, estos lenguajes suelen ser difíciles de aprender, programar y depurar. Un hecho importante es, que los programas escritos en un bajo nivel, son prácticamente específicos para cada procesador, lo que implica, que si se quiere ejecutar el programa en otra máquina de arquitectura diferente, es necesario volver a escribir el programa desde el principio.

- Lenguajes de alto nivel:
Al pensar en una computadora, normalmente se concibe como una máquina que realiza tareas de procesamiento de texto y cálculos. Esta es una percepción bastante sintética y esquemática de entender la computadora. Existe un alto nivel de abstracción entre lo que se pide a la computadora y lo que realmente comprende. De un modo paralelo se presenta una relación compleja entre los lenguajes de alto nivel y el código máquina. Un programa escrito en un lenguaje de alto nivel, debe ser compilado o interpretado para traducir su código, en otro de bajo nivel (lenguaje máquina). Como ejemplo de lenguajes de alto nivel se tienen Pascal, BASIC, FORTRAN, COBOL, Java, C y C++.

En los lenguajes de alto nivel las instrucciones son independientes de la máquina, son más fáciles de aprender porque están formados por elementos de lenguajes naturales (del inglés). En BASIC, comandos como "IF CONTADOR = 10 THEN STOP" son usados para ordenar a la computadora, que pare si CONTADOR es igual a 10. Pero aunque las computadoras parecieran comprender el lenguaje natural, lo hacen de una manera bastante rígida y sistemática, lo cual podría parecer un poco frustrante e inspira la búsqueda de lenguajes más cercanos aún al natural.

Compiladores e Intérpretes

Se ha señalado que la computadora sólo puede ejecutar instrucciones en código de máquina, por lo cual, todos los programas escritos en cualquiera de los lenguajes de programación deben ser convertidos o traducidos. Este proceso es llevado a cabo por unos programas especiales, los compiladores y los intérpretes.
La traducción del código fuente, escrito en lenguaje ensamblador, a código máquina (o código objeto), no representa un proceso complicado y se lleva a cabo mediante un compilador. De manera similar, la traducción de código fuente de lenguajes de alto nivel puede ser realizada por un compilador, o también mediante un intérprete. Con base en el código fuente suministrado, el compilador crea una lista de instrucciones de código máquina.

Instrucciones

Las instrucciones son los comando que le indican a un programa o procesador que hacer con cierta información. Una instrucción puede estar compuesta por una única línea de código que finaliza en un punto y coma o por una serie de instrucciones de una línea incluidas en un bloque.se puede agrupar un grupo de instrucciones para hacer mas cosas. El orden en que se ejecutan las instrucciones en un programa se denomina flujo de control o flujo de ejecución. El flujo de control puede variar cada vez que se ejecuta un programa, dependiendo de cómo reacciona éste a la entrada que recibe en tiempo de ejecución.
-Instrucciones declarativas
Sirven para declarar librerías, variables, constantes, arreglos, punteros, estructuras.
-Instrucciones de asignación
Sirven para dar valores a las variables, y llevan éste formato. nombre_variable = expresión
-Instrucciones selectivas
Son mediante las cuales podemos ejecutar diferentes acciones, como resultado de una expresión que estemos evaluando en ese momento.
-Instrucciones repetitivas
Sirven para repetir una condición N veces, siempre y cuando la condición sea verdadera.
-Instrucciones de entrada y salida de datos
Son palabras reservadas para ingresar o mostrar datos, sin embargo a veces se usa para ello recursos que se encuentran en librerías.
-Instrucciones de bifurcación

Interrumpen el flujo normal de un programa, es decir que evitan que se ejecute alguna instrucción del programa y salta a otra parte del programa.

No hay comentarios:

Publicar un comentario