You are on page 1of 7

Un lenguaje de programacin es un lenguaje formal diseado para expresar

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.

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.
Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje
informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a otros ms,
como por ejemplo HTML (lenguaje para el marcado de pginas web que no es propiamente un
lenguaje de programacin, sino un conjunto de instrucciones que permiten estructurar el
contenido de los documentos).

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.

Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico
conocido como cdigo mquina, el cual la mquina comprende fcilmente, pero que lo hace
excesivamente complicado para las personas. De hecho slo consiste en cadenas extensas de
nmeros 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor
para reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls;
ste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la
palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje
mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros.


Clasificacin de los lenguajes de programacin:
1 El Lenguaje Mquina: es el lenguaje de programacin que entiende
directamente la computadora o mquina. Este lenguaje de programacin
utiliza el alfabeto binario, es decir, el 0 y el 1. Con estos dos nicos dgitos,
conocidos como bits, forma las cadenas binarias (combinaciones de ceros
y unos) son con las que se escriben las instrucciones que el
microprocesador de la computadora entiende nuestra peticiones. El
lenguaje mquina fue el primer lenguaje de programacin. Dejo de usarse
por su gran dificultad y por la facilidad para cometer errores.

2 Lenguajes de Programacin de Bajo Nivel: Son mucho mas fciles de utilizar que el lenguaje
mquina, pero dependen mucho de la computadora como suceda con el lenguaje mquina. El
lenguaje ensamblador fue el primer lenguaje de programacin de bajo nivel que trato de sustituir
el lenguaje mquina por otro mucho ms parecido al de los seres humanos. El programa fuente es
un conjunto de instrucciones escrito en lenguaje ensamblador, y cuyo objeto es la traduccin a
lenguaje mquina del programa fuente. Los lenguajes de este tipo son agiles, difciles de usar,
especficos de cada procesador, si nos llevamos el programa a otro computador ser preciso
reescribir el programa desde el comienzo.

3 Lenguajes de Programacin de Alto Nivel: Este lenguaje es independientes de la mquina, lo
podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy
similares al lenguaje humano. Necesitan un programa interprete o compilador que lo traduzca uno
de bajo nivel, como el lenguaje de mquina para que la computadora pueda entenderlo. Este tipo
de lenguaje es ms fciles de aprender porque se usan palabras o comandos del lenguaje natural,
como por ejemplo: palabras en ingls. Este es el caso del BASIC, el lenguaje de programacin ms
conocido. Existen muchos lenguajes de programacin de alto nivel con sus diferentes versiones.
Por esta razn es difcil su tipificacin, pero una clasificacin muy extendida desde el punto de
vista de su forma de trabajar y la filosofa de su creacin es la siguiente:
Lenguajes de programacin imperativos: entre ellos tenemos el Cobol, Pascal, C y Ada.
Lenguajes de programacin declarativos: el Lisp y el Prolog.
Lenguajes de programacin orientados a objetos: el Smalltalk y el C++.
Lenguajes de programacin orientados al problema: son aquellos lenguajes especficos para
gestin.
Lenguajes de programacin naturales: son los nuevos lenguajes que pretender aproximar el diseo
y la construccin de programas al lenguaje de las personas.
Otra clasificacin de los lenguajes de programacin de alto nivel, es teniendo en cuenta el
desarrollo de las computadoras segn sus diferentes generaciones:
Lenguajes de programacin de primera generacin: el lenguaje mquina y el ensamblador.
Lenguajes de programacin de segunda generacin : los primeros lenguajes de programacin de
alto nivel imperativo (FROTRAN, COBOL).
Lenguajes de programacin de tercera generacin: son lenguajes de programacin de alto nivel
imperativo pero mucho ms utilizados y vigentes en la actualidad (ALGOL 8, PL/I, PASCAL,
MODULA).
Lenguajes de programacin de cuarta generacin: usados en aplicaciones de gestin y manejo de
bases de datos (NATURAL, SQL).
Lenguajes de programacin de quinta generacin: creados para la inteligencia artificial y para el
procesamiento de lenguajes naturales (LISP, PROLOG).
Tcnicas para resolucin de Problemas
La resolucin de un problema mediante un ordenador
consiste en el proceso que a partir de la descripcin
de un problema, expresado habitualmente en
lenguaje natural y en trminos propios del dominio del
problema, permite desarrollar un programa que resuelva dicho problema.

Este proceso exige los siguientes pasos:
Anlisis del problema.
Diseo o desarrollo de un algoritmo.
Transformacin del algoritmo en un programa (codificacin).
Ejecucin y validacin del programa.
Los dos primeros pasos son los ms difciles del proceso. Una vez analizado el problema y obtenido
un algoritmo que lo resuelva, su transformacin a un programa de ordenador es una tarea de
mera traduccin al lenguaje de programacin deseado. Anlisis del problema informtico.

Anlisis del problema informtico
Cuando un usuario plantea a un programador un problema que resolver mediante su ordenador,
por lo general ese usuario tendr conocimientos ms o menos amplios sobre el dominio del
problema, pero no es habitual que tenga conocimientos de informtica. Por ejemplo, un contable
que necesita un programa para llevar la contabilidad de una empresa ser un experto en
contabilidad (dominio del problema), pero no tiene por qu ser experto en programacin.

Diseo del algoritmo
Un algoritmo consiste en una especificacin clara y concisa de los pasos necesarios para resolver
un determinado problema, pero para poder disear algoritmos es necesario disponer de una
notacin, que llamaremos notacin algortmica, que permita:
Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)
Describir los objetos manipulados por el algoritmo (datos/informaciones)
Controlar la realizacin de las acciones descritas, indicando la forma en que estas se organizan en
el tiempo.

Acciones elementales
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que sern
de dos tipos:
Aritmtico lgicas: Operaciones que, a partir de unos determinados datos, realizan un clculo
aritmtico (suma, resta, multiplicacin,...) o un clculo lgico (mayor que, menor que, igual
que,...).Las primeras devuelven un valor numrico (4, -5.67,...) y las segundas un valor lgico
(verdadero o falso).
De entrada salida: Acciones que permiten capturar datos para su posterior tratamiento (las de
entrada) y guardar los resultados de dicho tratamiento (las de salida).
Secuencia de acciones elementales.

Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, stas se describen una
detrs de otra segn el orden en que deban ejecutarse. Si se desea se puede emplear algn tipo
de smbolo para separar dos acciones consecutivas. En el siguiente ejemplo se muestra la
descripcin de n acciones separadas por punto y coma (smbolo que habitualmente se emplea
como separador).
Lista de Tcnicas clasificacin y beneficios
1. Condicionantes de clculo: aquellos que afectan a la estrategia de resolucin del problema.
Ejemplo: En un programa para calcular las prdidas de carga en tuberas, admitir o no la presencia
de accesorios (codos, vlvulas, etc).

2. Condicionantes tipo parmetro: son los referidos a materiales, dimensiones o formas
geomtricas, tiempos, etc.
Ejemplo: viscosidad de un lquido, peso especfico de un material.

3. Condicionantes bifurcadores: seran los que, en funcin de un valor introducido por el usuario
o un valor resultado intermedio llevan a distintas vas de resolucin.
Ejemplo: para el clculo de prdidas de carga en una tubera el condicionante: "se trata de
rgimen laminar?" supone la bifurcacin:


4. Condicionantes tipo restriccin:
4.1 Para admisin de datos: pueden resultar no admisibles ciertos valores para datos de entrada,
bien por motivos tcnicos, comerciales u operativos, o bien por imposibilidad fsica, matemtica,
etc.
Ejemplo: para ordenar una serie de nmeros es viable aceptar nmeros positivos o negativos. En
cambio, si pedimos la altura de un pilar no tiene sentido admitir un valor negativo.
Si tratamos de realizar ciertos clculos relacionados con una nave industrial, podemos acotar el
rango de luz o distancias entre pilares a distancias tcnicamente viables. Podemos preparar el
programa para que detecte cualquier valor que consideremos anmalo e impida la continuacin
de procesos hasta tanto no se corrija.

4.2 Para la emisin de resultados: ciertos datos de entrada en principio viables pueden dar lugar
a resultados no admisibles.
Ejemplo: se trata de determinar el nmero de farolas necesarias por kilmetro para la iluminacin
de una avenida, siendo la dimensin de la base de la farola 40x40 cm. Si por cualquier
circunstancia el programa llegara a un valor de ms farolas de las que fsica o razonablemente se
pueden disponer, deberamos abortar la presentacin del resultado e instar a corregir los datos de
partida como potencia, altura, etc., para poder obtener un resultado viable. Podemos preparar el
programa para que detecte cualquier resultado que pudiramos considerar anmalo, impidiendo
su presentacin y mostrando un mensaje de error o advertencia.













ALGORITMO:
Define algoritmo como un conjunto ordenado y finito de operaciones que permite hallar la
solucin de un problema. Mtodo y notacin en las distintas frmulas del clculo. El algoritmo
constituye un mtodo para resolver un problema mediante una secuencia de pasos a seguir. Dicha
secuencia puede ser expresada en forma de diagrama de flujo con el fin de seguirlo de una forma
ms sencilla.
De acuerdo con el concepto anterior, el algoritmo podra estar incluido en la definicin de
programa de ordenador de la Ley de Propiedad Intelectual (TRLPI), al referirse a ste como toda
secuencia de instrucciones o indicaciones destinadas a ser utilizadas, directa o indirectamente, en
un sistema informtico para realizar una funcin o una tarea o para obtener un resultado
determinado, cualquiera que fuere su forma de expresin y fijacin.

Sin embargo, ciertas caractersticas de los algoritmos hacen que no puedan ser calificados como
programas de ordenador. (Ver recuadro) La consecuencia de estas caractersticas es la exclusin
del algoritmo del mbito de proteccin del derecho de autor, en la medida en que ste constituye
una idea, un mtodo de clculo o una funcin, afectado por el artculo 96.4 del TRLPI.

Por otro lado, Prembulo de la Directiva 91/250/CEE de 1991 sobre la proteccin jurdica de los
programas de ordenador establece que: "en la medida en que la lgica, los algoritmos y los
lenguajes de programacin abarquen ideas y principios, estos ltimos no estarn protegidos con
arreglo a la presente Directiva."

Adems, en un Memorandum de 1994 de la OMPI (WIPO) Organizacin Mundial de la Propiedad
Intelectual, se manifestaba: "Es perfectamente cierto que el derecho de autor no protege los
algoritmos, sino nicamente las expresiones concretas de los mismos. Precisamente por eso, el
derecho de autor puede ofrecer una proteccin apropiada a los programas de ordenador, sin crear
obstculos infranqueables a la creacin independiente de nuevos programas".

No obstante, existen excepciones a nivel jurisprudencial basadas en la doctrina del "look and feel",
que establecen la existencia de plagio cuando se reproduce la estructura, secuencia y disposicin
de los datos integrados en un programa de ordenador. Estas excepciones podran aplicarse en el
caso de combinaciones de algoritmos o cuando el nivel de complejidad de un algoritmo fuese muy
alto.





Un diagrama de flujo es una representacin grfica de un proceso. Cada paso del proceso es
representado por un smbolo diferente que contiene una breve descripcin de la etapa de
proceso. Los smbolos grficos del flujo del proceso estn unidos entre s con flechas que indican la
direccin de flujo del proceso.

El diagrama de flujo ofrece una descripcin visual de las actividades implicadas en un proceso
mostrando la relacin secuencial ente ellas, facilitando la rpida comprensin de cada actividad y
su relacin con las dems, el flujo de la informacin y los materiales, las ramas en el proceso, la
existencia de bucles repetitivos, el nmero de pasos del proceso, las operaciones de
interdepartamentales Facilita tambin la seleccin de indicadores de proceso.

Beneficios del Diagrama de Flujo
En primer lugar, facilita la obtencin de una visin transparente del proceso, mejorando su
comprensin. El conjunto de actividades, relaciones e incidencias de un proceso no es fcilmente
discernible a priori. La diagramacin hace posible aprehender ese conjunto e ir ms all,
centrndose en aspectos especficos del mismo, apreciando las interrelaciones que forman parte
del proceso as como las que se dan con otros procesos y subprocesos.
Permiten definir los lmites de un proceso. A veces estos lmites no son tan evidentes, no estando
definidos los distintos proveedores y clientes (internos y externos) involucrados.
El diagrama de flujo facilita la identificacin de los clientes, es ms sencillo determinar sus
necesidades y ajustar el proceso hacia la satisfaccin de sus necesidades y expectativas.
Estimula el pensamiento analtico en el momento de estudiar un proceso, haciendo ms factible
generar alternativas tiles.
Proporciona un mtodo de comunicacin ms eficaz, al introducir un lenguaje comn, si bien es
cierto que para ello se hace preciso la capacitacin de aquellas personas que entrarn en contacto
con la diagramacin.
Un diagrama de flujo ayuda a establecer el valor agregado de cada una de las actividades que
componen el proceso.
Igualmente, constituye una excelente referencia para establecer mecanismos de control y
medicin de los procesos, as como de los objetivos concretos para las distintas operaciones
llevadas a cabo.
Facilita el estudio y aplicacin de acciones que redunden en la mejora de las variables tiempo y
costes de actividad e incidir, por consiguiente, en la mejora de la eficacia y la eficiencia.
Constituyen el punto de comienzo indispensable para acciones de mejora o reingeniera.


Pseudocdigo
Nuestra lengua apela a diversos elementos compositivos para formar palabras. Uno de los ms
habituales es pseudo o seudo, que permite referirse a que algo no es original, sino que es falso o
una imitacin.

Un cdigo, por su parte, es una serie de smbolos que forman parte de un sistema y que tienen un
determinado valor ya asignado. Los smbolos que se incluyen en un cdigo se combinan
respetando reglas y permiten transmitir un mensaje.

Estas definiciones nos permiten comprender qu es un pseudocdigo, una nocin que se emplea
en el mbito de la informtica. Se trata de un falso lenguaje, ya que apela a las normas de
estructura de un lenguaje de programacin aunque se encuentra desarrollado para que pueda ser
ledo por un ser humano y no interpretado por una mquina.

El pseudocdigo, en este sentido, esta considerado como una descripcin de un algoritmo que
resulta independiente de otros lenguajes de programacin. Para que una persona pueda leer e
interpretar el cdigo en cuestin, se excluyen diversos datos que no son clave para su
entendimiento.

Un pseudocdigo, por lo tanto, se emplea cuando se pretende describir un algoritmo sin la
necesidad de difundir cules son sus principios bsicos. De esta manera, un ser humano
encontrar mayores facilidades para comprender el mensaje, a diferencia de lo que ocurrira si
estuviese frente a un lenguaje de programacin real.

Estas caractersticas hacen que los pseudocdigos sean utilizados en obras cientficas y educativas
y en las etapas previas al desarrollo de un software, a la manera de boceto antes de proceder a la
programacin.

En la actualidad y por lo general, el pseudocdigo, como su nombre lo indica, no obedece a las
reglas de sintaxis de ningn idioma en particular ni es de forma estndar sistemtica, a pesar de
que cualquier escritor en particular vaya a pedir prestado las estructuras de control general, la
sintaxis y el estilo, por ejemplo, de algn lenguaje de programacin convencional. Pero en caso de
que se quiera ejecutar, se debe llevar a forma tipo, para que no genere mensajes de error. Las
fuentes populares incluyen la sintaxis de Pascal, BASIC, C, C++, Java, Lisp, y ALGOL.

You might also like