Anda di halaman 1dari 9

Caractersticas del lenguaje de programacin.

Un lenguaje de programacin es un lenguaje formal diseado para


realizar procesos que pueden ser llevados a cabo por mquinas como
las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y
lgico de una mquina, para expresar algoritmos con precisin, o como modo de
comunicacin humana.1
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso
por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el cdigo fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos lgicos, a
travs de los siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular.


Escritura de la lgica del programa empleando un lenguaje de
programacin especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de
mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.

Permite especificar de manera precisa sobre qu datos debe operar una


computadora, cmo deben ser almacenados o transmitidos y qu acciones debe
tomar bajo una variada gama de circunstancias. Todo esto, a travs de
un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural.
Una caracterstica relevante de los lenguajes de programacin es precisamente
que ms de un programador pueda usar un conjunto comn de instrucciones que
sean comprendidas entre ellos para realizar la construccin de un programa de
forma colaborativa.

Variables y vectores
Las variables son ttulos asignados a espacios en memoria para almacenar datos
especficos. Son contenedores de datos y por ello se diferencian segn el tipo de
dato que son capaces de almacenar. En la mayora de lenguajes de programacin
se requiere especificar un tipo de variable concreto para guardar un dato
especfico. Por ejemplo, en Java, si deseamos guardar una cadena de texto
debemos especificar que la variable es del tipo String. Por otra parte, en lenguajes
como PHP este tipo de especificacin de variables no es necesario. Adems,

existen variables compuestas llamadas vectores. Un vector no es ms que un


conjunto de bytes consecutivas en memoria y del mismo tipo guardadas dentro de
un variable contenedor. A continuacin, un listado con los tipos de variables y
vectores ms comunes:

Condicionales
Las sentencias condicionales son estructuras de cdigo que indican que, para que
cierta parte del programa se ejecute, deben cumplirse ciertas premisas; por
ejemplo: que dos valores sean iguales, que un valor exista, que un valor sea
mayor que otro... Estos condicionantes por lo general solo se ejecutan una vez a
lo largo del programa. Los condicionantes ms conocidos y empleados en
programacin son:

If: Indica una condicin para que se ejecute una parte del programa.
Else if: Siempre va precedido de un "If" e indica una condicin para que se
ejecute una parte del programa siempre que no cumpla la condicin del if
previo y si se cumpla con la que el "else if" especifique.
Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe
ejecutarse cuando no se cumplan las condiciones previas.

Bucles
Los bucles son parientes cercanos de los condicionantes, pero ejecutan
constantemente un cdigo mientras se cumpla una determinada condicin. Los
ms frecuentes son:

For: Ejecuta un cdigo mientras una variable se encuentre entre 2


determinados parmetros.
While: Ejecuta un cdigo mientras que se cumpla la condicin que solicita.

Hay que decir que a pesar de que existan distintos tipos de bucles, ambos son
capaces de realizar exactamente las mismas funciones. El empleo de uno u otro
depende, por lo general, del gusto del programador.

Estructura bsica de un programa.


Bloques de un programa
Bloque de declaraciones: en l se especifican todos los objetos que utiliza el
programa (constantes, variables, tablas, registros, archivos, etc.).
Bloque de instrucciones: constituido por el conjunto de operaciones que se han de
realizar para la obtencin de los resultados deseados.
Partes principales de un programa
Dentro del bloque de instrucciones de un programa se pueden diferenciar tres
partes fundamentales. En algunos casos, estas tres partes estn perfectamente
delimitadas, pero en la mayora sus instrucciones quedan entremezcladas a lo
largo del programa, si bien mantienen una cierta localizacin geomtrica impuesta
por la propia naturaleza de las mismas.

Entrada de datos: la constituyen todas aquellas instrucciones que toman


datos de un dispositivo externo, almacenndolos en la memoria central para
que puedan ser procesados.
Proceso o algoritmo: est formado por las instrucciones que modifican los
objetos a partir de su estado inicial hasta el estado final, dejando stos
disponibles en la memoria central.
Salida de resultados: conjunto de instrucciones que toman los datos finales
de la memoria central y los envan a los dispositivos externos.

Clasificacin de las Instrucciones.


Una instruccin se caracteriza por un estado inicial y final del entorno. El estado
final de una instruccin coincide con el inicial de la siguiente. No siempre una
instruccin modifica el entorno, pues su cometido puede limitarse a una mera
observacin del mismo o a un cambio en el orden de ejecucin de otras. Las
instrucciones pueden ser:

Instrucciones de declaracin: Se utilizan en aquellos lenguajes de


programacin que no tienen declaracin explcita de los objetos. Su misin
consiste en indicar al procesador que reserve espacio en la memoria para
un objeto del programa, indicando asimismo su nombre, tipo y
caractersticas.
Instrucciones primitivas: Son aquellas que ejecuta el procesador de
modo inmediato. Las principales son asignacin, entrada y salida.
Instruccin de asignacin: Consiste en calcular el valor de una expresin
y almacenarlo en una variable. En algn lenguaje es preciso calcular

previamente el resultado de la expresin, pues la instruccin de asignacin


slo permite el movimiento de un valor simple.
Instruccin de entrada: Toma un dato de un dispositivo de entrada y lo
almacena en un objeto. En algn lenguaje, los datos de entrada no
provienen de un dispositivo externo, sino que han sido colocados
previamente en el mismo programa.
Instruccin de salida: Toma el valor de una expresin u objeto y lo lleva a
un dispositivo externo.
Instrucciones compuestas: Son aquellas que el procesador no puede
ejecutar directamente, sino que realiza una llamada a un subprograma,
subrutina o prrafo.
Instrucciones de control: Son aquellas de controlar la ejecucin de otras
instrucciones.
Instruccin alternativa: Controla la ejecucin de unas u otras
instrucciones segn una condicin. Puede ser simple o doble (SI y SINO).
Instruccin de salto incondicional: Altera la secuencia normal de
ejecucin de un programa, continuando la misma en la lnea indicada en la
propia instruccin (IR A).
Instruccin de salto condicional: Altera la secuencia normal de ejecucin
de un programa nicamente en el caso de cumplimiento de una condicin
asociada a la propia instruccin (SI ... IR A).
Instruccin repetitiva: Hace que se repitan una o varias instrucciones un
nmero determinado o indeterminado de veces (PARA, MIENTRAS, HASTA
e ITERAR).

Elementos auxiliares de un programa


Son variables que realizan funciones especficas dentro de un programa, y por su
gran utilidad, frecuencia de uso y peculiaridades, conviene hacer un estudio
separado de las mismas. Las ms importantes son:

Contadores: Un contador es un campo de memoria cuyo valor se


incrementa en una cantidad fija, positiva o negativa, generalmente asociado
a un bucle. Toma un valor inicial antes de comenzar su funcin, y cada vez
que se realiza el suceso, incrementa su valor. Se utiliza en los siguientes
casos:
Para contabilizar el nmero de veces que es necesario repetir una accin
(variable de control de un bucle).
Para contar un suceso particular solicitado por el enunciado del problema
(asociado a un bucle o independientemente).
Acumuladores: Un acumulador es un campo de memoria cuyo valor se
incrementa sucesivas veces en cantidades variables. Se utiliza en aquellos
casos en que se desea obtener el total acumulado de un conjunto de
cantidades, siendo preciso inicializarlo con el valor 0. Tambin en las

situaciones en que hay que obtener un total como producto de distintas


cantidades se utiliza un acumulador, debindose inicializar con el valor 1.
Interruptores (switches): Un interruptor es un campo de memoria que puede
tomar dos valores exclusivos (0 y 1, -1 y 1, FALSO y CIERTO, etc.). Se
utiliza para:
Recordar en un determinado punto de un programa la ocurrencia o no de
un suceso anterior, para salir de un bucle o para decidir en una instruccin
alternativa qu accin realizar.
Para hacer que dos acciones diferentes se ejecuten alternativamente dentro
de un bucle.

Tipos de programas
Un programa, por lo general, estar compuesto por una secuencia de
acciones, algunas de las cuales sern alternativas o repetitivas. En
determinados programas sencillos, no se da esta mezcla de acciones, en
cuyo caso se pueden clasificar como sigue:

Programas lineales: consisten en una secuencia de acciones


primitivas (su ejecucin es lineal en el orden en que han sido
escritas).
Programas alternativos: consisten en el anidamiento de
acciones alternativas (las tablas de decisin se realizan mediante
programas alternativos).
Programas cclicos: son aquellos en los que un conjunto de
acciones se repiten un nmero determinado o indeterminado de
veces (un programa de este tipo se denomina bucle).

Otra clasificacin relativa a la aplicacin desarrollada por el programa


es:

Programas de gestin: se caracterizan por el manejo de gran


cantidad de datos con pocos clculos (resuelven problemas de
gestin).
Programas tcnicos-cientficos: al contrario que los anteriores,
realizan gran cantidad de clculos con pocos datos (revuelven
problemas matemticos, fsicos, etc.).
Programas de diseo (CAD): se caracterizan por la utilizacin
de tcnicas grficas para resolver problemas de diseo.
Programas de simulacin: intentan reflejar una situacin real,
para facilitar su estudio.
Programas educativos (EAO): utilizan las ventajas del
ordenador para la docencia.
Programas de inteligencia artificial: se utilizan para simular el
razonamiento humano.

Traduccin de un programa: compilacin, enlace de un


programa, errores en tiempo de compilacin.
Un compilador es un programa informtico que traduce un programa escrito en
un lenguaje de programacin a otro lenguaje de programacin, generando un
programa equivalente que la mquina ser capaz de interpretar. Usualmente el
segundo lenguaje es lenguaje de mquina, pero tambin puede ser un cdigo
intermedio (bytecode), o simplemente texto. Este proceso de traduccin se conoce
como compilacin.
Un compilador es un programa que permite traducir el cdigo fuente de un
programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior
(tpicamente lenguaje de mquina). De esta manera un programador puede
disear un programa en un lenguaje mucho ms cercano a cmo piensa un ser
humano, para luego compilarlo a un programa ms manejable por una
computadora.
Partes de un compilador
La construccin de un compilador involucra la divisin del proceso en una serie de
fases que variar con su complejidad. Generalmente estas fases se agrupan en
dos tareas: el anlisis del programa fuente y la sntesis del programa objeto.

Anlisis: Se trata de la comprobacin de la correccin del programa fuente,


e incluye las fases correspondientes al Anlisis Lxico (que consiste en la
descomposicin del programa fuente en componentes lxicos), Anlisis
Sintctico (agrupacin de los componentes lxicos en frases gramaticales)
y Anlisis Semntico (comprobacin de la validez semntica de las
sentencias aceptadas en la fase de Anlisis Sintctico).
Sntesis: Su objetivo es la generacin de la salida expresada en el lenguaje
objeto y suele estar formado por una o varias combinaciones de fases de
Generacin de Cdigo (normalmente se trata de cdigo intermedio o de
cdigo objeto) y de Optimizacin de Cdigo (en las que se busca obtener
un cdigo lo ms eficiente posible).

Alternativamente, las fases descritas para las tareas de anlisis y sntesis se


pueden agrupar en Front-end y Back-end:

Front-end: es la parte que analiza el cdigo fuente, comprueba su validez,


genera el rbol de derivacin y rellena los valores de la tabla de smbolos.
Esta parte suele ser independiente de la plataforma o sistema para el cual
se vaya a compilar, y est compuesta por las fases comprendidas entre
el Anlisis Lxico y la Generacin de Cdigo Intermedio.
Back-end: es la parte que genera el cdigo mquina, especfico de una
plataforma, a partir de los resultados de la fase de anlisis, realizada por
el Front End.

Esta divisin permite que el mismo Back End se utilice para generar el cdigo
mquina de varios lenguajes de programacin distintos y que el mismo Front
End que sirve para analizar el cdigo fuente de un lenguaje de
programacin concreto sirva para generar cdigo mquina en varias plataformas
distintas. Suele incluir la generacin y optimizacin del cdigo dependiente de la
mquina.
El cdigo que genera el Back End normalmente no se puede ejecutar
directamente, sino que necesita ser enlazado por un programa enlazador (linker).
Preproceso
Lo primero que el compilador de C hace es pasar nuestro programa por el
preprocesador. El preprocesador se encarga de interpretar cada una de las
directivas que aparecen en el programa y de expandir las macros. Respecto a las
directivas, son todos a aquellas lneas que comienzan con un smbolo #. Hay un
conjunto de directivas que son parte del estndar ANSI se comentan en el
apndice.
Compilacin del programa.
Una vez que el programador acaba de escribir el programa en su terminal y lo
almacena en un archivo debe traducirlo a cdigo ejecutable por la mquina. Este
proceso se llama en su conjunto compilacin del cdigo fuente en C.
#include<stdio.h>
Hace que se inserte el fichero stdio.h en el lugar donde aparece esa lnea. Como
el lector puede ver si examina el fichero stdio.h, lo que hay en el son declaraciones
de prototipos de funciones y de tipos de datos, perfectamente validos en C.
El compilador se encarga de la etapa de preproceso, justo antes de iniciar la
compilacin. Por lo tanto, esta etapa pasa normalmente desapercibida, aunque
puede indicrsele al compilador que solo efectu el preproceso, para ver cmo
queda el programa despus de l. La forma de solicitrselo depende de cada
compilador en concreto. Una vez finalizado el preproceso, nuestro programa que
da listo para que pueda comenzarse su traduccin a cdigo ejecutable.

Enlace
La siguiente etapa de compilacin es el enlace con las funciones presentes en las
libreras de funciones. Si nuestro programa utiliza solo funciones ANSI, no suele
ser necesario indicarle al compilador en que libreras estn esas funciones. Sin
embargo hay excepciones. Por ejemplo si utilizamos funciones matemticas de la
librera estndar en nuestro programa (es decir en el programa aparece #include
<math.h>, opcin lm. Sin embargo, si utilizamos funciones definidas en una
librera propia o bien en una librera no estndar, debemos indicrselo al
compilador mediante algn parmetro.
Errores en tiempo de compilacin
El compilador es capaz de detectar algunos errores que pueden cometerse en el
desarrollo de un programa escrito en C. Evidentemente, no puede detectar todos
ya que un programa puede funcionar perfectamente pero no hacer lo que se
espera de l. Los errores detectados por el compilador son de dos clases: errores
propiamente dichos (errors), y advertencias (warnings)
Los errores se deben a cuestiones sintcticas relacionadas con el lenguaje. El
compilador enumera los errores que se encontraron, y luego detiene la
compilacin. El mensaje de error que aparece siempre indica al menos tres
cosas:
*El nombre del fichero en donde se ha encontrado el error.
*la lnea del fichero en donde se ha detectado el error.
*un mensaje describiendo brevemente el error.

Anda mungkin juga menyukai