Anda di halaman 1dari 6

Servi ci o Naci onal de Aprendi zaje

LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 1 de 6

LOS LENGUAJES DE PROGRAMACION

Para que un procesador o microcontrolador realice un proceso, se le debe suministrar en primer lugar un
algoritmo adecuado. El procesador debe ser capaz de interpretar el algoritmo, lo que significa

- Comprender las instrucciones de cada paso
- Realizar las operaciones correspondientes

Cuando el procesador es una computadora, el algoritmo se ha de expresar en un formato que se denomina
programa. Un programa se escribe en un lenguaje de programacin y las operaciones que conducen a
expresar un algoritmo en forma de programa se llaman programacin. As pues, los lenguajes utilizados para
escribir programas de computadoras son los lenguajes de programacin y programadores son los escritores y
diseadores de programas.

Los principales tipos de lenguajes utilizados en la actualidad son tres:

- Lenguaje mquina.
- Lenguaje de bajo nivel (ensamblador).
- Lenguajes de alto nivel.

I nstrucciones a la computadora
Los diferentes pasos (acciones) de un algoritmo se expresan en los programas como instrucciones,
sentencias o proposiciones (normalmente el trmino instruccin se suele referir a los lenguajes mquina y bajo
nivel, reservando la sentencia o proposicin para los lenguajes de alto nivel). Por consiguiente, un programa
consta de una secuencia de instrucciones cada una de las cuales especifica ciertas operaciones que debe
ejecutar la computadora.

La elaboracin de un programa requerir conocer el juego o repertorio de instrucciones del lenguaje. Las
instrucciones bsicas y comunes a casi todos los lenguajes de programacin se pueden condensar en cuatro
grupos:

- I nstrucciones de entrada/salida.
Instrucciones de transferencia de informacin y datos entre dispositivos perifricos (teclado, impresora,
unidad de disco, etc.) y la memoria central.

- I nstrucciones aritmtico-lgicas.
Instrucciones que ejecutan operaciones aritmticas (suma, resta, multiplicacin, divisin, potenciacin),
lgicas (operaciones and, or, not, etc.).

- I nstrucciones selectivas.
Instrucciones que permiten la seleccin de tareas alternativas en funcin de los resultados de diferentes
expresiones condicionales.

- I nstrucciones repetitivas.
Instrucciones que permiten la repeticin de secuencias de instrucciones un nmero determinado o
indeterminado de veces.

Servi ci o Naci onal de Aprendi zaje




LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 2 de 6

Lenguajes mquina.

Los lenguajes mquina son aquellos que estn escritos en lenguajes directamente inteligibles por la mquina,,
ya que sus instrucciones son cadenas binarias (cadenas o series de caracteres - dgitos 0 y 1) que especifican
una operacin, y las posiciones (direccin) de memoria implicadas en la operacin se denominan
instrucciones de mquina o cdigo mquina. El cdigo mquina es el conocido cdigo binario.

Posiciones
de
Memoria
Memoria
Direccin Contenido
0100 0010 0000 0000 0100
0101 0100 0000 0000 0101
0102 0011 0000 0000 0110
. . . . .
. . . . .
Figura 1. Instrucciones en lenguaje mquina.

Las instrucciones en lenguaje mquina dependen del hardware del procesador y, por tanto, diferirn de una
computadora a otra.
Las ventajas de programar en lenguaje mquina son la posibilidad de cargar (transferir un programa a la
memoria) sin necesidad de traduccin posterior, lo que supone una velocidad de ejecucin superior a
cualquier otro lenguaje de programacin.

Los inconvenientes superan a las ventajas, lo que hace prcticamente no recomendables a los lenguajes
mquina. Estos inconvenientes son:

- Dificultad y lentitud en la codificacin.
- Poca fiabilidad.
- Dificultad grande para verificar y poner a punto los programas
- Los programas slo son ejecutables en el mismo procesador

Para evitar los lenguajes mquina desde el punto del usuario se han creado otros lenguajes que permiten
escribir programas lenguaje humano (casi siempre ingls), stos lenguajes son los de alto nivel y bajo nivel.

Lenguajes de Bajo Nivel .

Los lenguajes de bajo nivel son ms fciles de utilizar que los lenguajes mquina, pero, al igual que ellos,
dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador (assembler
language). Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotcnicos
(mnemonics). Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingls, ADD, SUB, DIV,
etc en espaol, SUM, RES, DIV, etc. Una instruccin tpica de suma sera:

ADD M, N, P

Esta instruccin podra significar sumar el nmero contenido en la posicin de memoria M al nmero
almacenado en la posicin de memoria N y situar el resultado en la posicin de memoria P. Evidentemente es
mucho ms sencillo recordar la instruccin anterior con un nemotcnico que su equivalente en cdigo
mquina.
Servi ci o Naci onal de Aprendi zaje




LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 3 de 6


Cdigo de mquina Lenguaje ensamblador
0110 1001 1010 1011 equivale a ADD M, N, P

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora, en
esto se diferencia esencialmente del mquina, sino que requiere una fase de traduccin al lenguaje mquina.

El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido
en lenguaje mquina se conoce como programa objeto, ya directamente entendible por la computadora.

El traductor de programas fuente a objeto es un programa llamado ensamblador (assembler), existente en
casi todos las computadoras (Figura 1.2).

Programa
Ensamblador
(assembler)
Programa
fuente
en
ensamblador
(assembly)
Programa
objeto
en
cdigo mquina

Figura 1.2 Programa ensamblador.

No se debe confundir aunque en espaol adoptan el mismo nombre el programa ensamblador (assembler),
encargado de efectuar la traduccin del programa fuente escrito a lenguaje mquina, con el lenguaje
ensamblador (assembly language), lenguaje de programacin con una estructura y gramtica definidas.

Los lenguajes ensambladores presentan la ventaja frente a los lenguajes mquina de su mayor facilidad de
codificacin y, en general, su velocidad de clculo.
Los inconvenientes ms notables de los lenguajes ensambladores son:

- Dependencia total de la mquina lo que impide la portabilidad de los programas (posibilidad de ejecutar
un programa en diferentes mquinas). El lenguaje ensamblador del PC es distinto del lenguaje
ensamblador del Apple Macintosh.
- La formacin de los programadores es ms compleja que la correspondiente a los programadores de
alto nivel, ya que exige no slo las tcnicas de programacin, sino tambin el conocimiento del interior
de la mquina.

Hoy da los lenguajes ensambladores tienen sus aplicaciones muy reducidas en la programacin de
aplicaciones y se centran en aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos,
etc.

Lenguajes de alto nivel

Los lenguajes de alto nivel son los ms utilizados por los programadores. Estn diseados para que las
personas escriban y entiendan los programas de un modo mucho ms fcil que los lenguajes mquina y
ensambladores. Otra razn es que un programa escrito en un lenguaje de alto nivel es independiente de la
mquina; esto es, las instrucciones del programa de la computadora no dependen del diseo del hardware o
de una computadora en particular. En consecuencia, los programas escritos en lenguajes de alto nivel son
Servi ci o Naci onal de Aprendi zaje




LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 4 de 6

portables o transportables, lo que significa la posibilidad de poder ser ejecutados con poca o ninguna
modificacin en diferentes tipos de computadoras; al contrario que los programas en lenguaje mquina o
ensamblador que slo se pueden ejecutar en un determinado tipo de computadora.

Los lenguajes de alto nivel presentan las siguientes ventajas:

- El tiempo de formacin de los programadores es relativamente corto comparado con otros lenguajes.
- La escritura de programas se basa en reglas sintcticas similares a los lenguajes humanos. Nombres de
las instrucciones tales como READ, WRITE, PRINT, OPEN, etc
- Las modificaciones y puestas a punto de los programas son ms fciles.
- Reduccin del costo de los programas.
- Portabilidad.

Los inconvenientes se concretan en:
- Incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente
para conseguir el programa definitivo.
- No se aprovechan los recursos internos de la mquina que se explotan mucho mejor en lenguajes
mquina y ensambladores.
- Aumento de la ocupacin de memoria.
- El tiempo de ejecucin de los programas es mucho mayor.

Al igual que sucede con los lenguajes ensambladores, los programas fuente tienen que ser traducidos por
programas traductores, llamados en este caso compiladores e intrpretes.

Los lenguajes de programacin de alto nivel existentes en la actualidad son muy numerosos, aunque la
prctica demuestra que su uso mayoritario se reduce a

C C++ COBOL FORTRAN Pascal Basic

de uso en el mundo profesional

Borland Delphi Borland C++ VisualBasic SQL Power Builder .Net

aunque hoy en da el mundo de Internet consume gran cantidad de recursos en forma de lenguajes de
programacin, tales como: Java HTML, XML, JavaScript Visual J y ltimamente C#, PHP, Ajax, Phyton, entre
otros.




Traductores de lenguaje
Los traductores de lenguajes son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a cdigo mquina. Los traductores se dividen en:

- Compiladores.
- Intrpretes.

Servi ci o Naci onal de Aprendi zaje




LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 5 de 6

I ntrpretes
Un intrprete es un traductor que toma un programa fuente, lo traduce y a continuacin lo ejecuta. Un lenguaje
que soporte un traductor de tipo intrprete se denomina lenguaje interpretado. BASIC es el modelo por
excelencia de lenguaje interpretado. Los programas fuente en BASIC se escriben con ayuda de un programa
denominado editor que suele venir incorporado al programa intrprete.
Programa Fuente
Intrprete
Traduccin y
ejecucin linea a linea

Figura 1.3 Interprete.

Los programas interpretes clsicos prcticamente ya no se utilizan, aunque han vuelto a renacer con la
aparicin de JAVA, ya que para entender el cdigo en bytes (bytecode) al que traduce el compilador Java se
necesita un intrprete.

Compiladores.
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel C, C++,
Pascal, FORTRAN, VisualBasic. a lenguaje mquina.
Los programas escritos en lenguajes de alto nivel se llaman programa fuente y el programa traducido
programa objeto o cdigo objeto. El compilador traduce sentencia a sentencia el programa fuente.

Programa Fuente
Compilador
Programa Objeto

Figura 1.4 Compilacin de programas

La compilacin es el proceso de traduccin de programas fuente a programas objeto.
El programa objeto obtenido de la compilacin no ha sido traducido normalmente a cdigo mquina sino a
ensamblador.

Para conseguir el programa de mquina real se debe utilizar un programa llamado montador o enlazador
(linker). El proceso de montaje conduce a un programa en lenguaje mquina directamente ejecutable (Figura
1.5).
Servi ci o Naci onal de Aprendi zaje




LENGUAJES DE PROGRAMACI N

Model o de l a
Mejora Cont i nua

Este documento impreso se considera COPIA NO CONTROLADA Versi n 2. 0 F08 9227 040 Pgi na 6 de 6

Programa Fuente
Compilador
(traductor)
Programa Objeto
Montador
(linker)
Programa
ejecutable

Figura 1.5. Fases de Compilacin

El proceso de ejecucin de un programa escrito en lenguaje de programacin (por ejemplo, C) suele tener
los siguientes pasos:

1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar der
modo similar a una mquina de escribir electrnica) y guardarlo en un dispositivo de almacenamiento
(por ejemplo, un disco).
2. Introducir el programa fuente en memoria (abrir el archivo).
3. Compilar el programa con el compilador C
4. Verificar y corregir errores de compilacin (listado de errores).
5. Obtencin del programa objeto.
6. El enlazador (linker) obtiene el programa ejecutable.
7. Se ejecuta el programa y si no existen errores, se tendr la salida del pr ograma.



Tomado con fines educativos de:
Fundamentos de Programacin. Algoritmos y Estructuras de Datos. [Joyanes]

Desarrollado por:
Andrey Julin Rentera Scarpetta

Anda mungkin juga menyukai