Вы находитесь на странице: 1из 24

1.

- Programa:
Qu es un programa (en informtica)?
En informtica, un programa es un conjunto de instrucciones u rdenes que
indican a la mquina las operaciones que sta debe realizar con unos datos
determinados. En general, todo programa indica a la computadora cmo
obtener unos datos de salida, a partir de unos datos de entrada. En la siguiente
figura se muestra, grficamente, el funcionamiento bsico de un programa.

Figura - Funcionamiento bsico de un programa en una computadora digital.

http://www.carlospes.com/minidiccionario/programa.php

2.- Algoritmo:
Que es un algoritmo y para que sirve?
Podemos encontrar muchas definiciones de algoritmo en los textos de
programacion, todas ellas muy similares y validas:
Conjunto ordenado y finito de pasos que permite hallar la solucin de un
problema.
Una secuencia de pasos que conducen a la realizacin de una tarea.
Descripcin exacta de la secuencia en que se ha de realizar un conjunto de
actividades tendientes a resolver un determinado tipo de problema o
procedimiento.

Caracteristicas:
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Ser definido: Sin ambigedad, cada paso del algoritmo debe indicar la accin a
realizar sin criterios de interpretacin.
Ser finito: Un nmero especfico y numerable de pasos debe componer al
algoritmo, el cual deber finalizar al completarlos.
Tener cero o ms entradas: Datos son proporcionados a un algoritmo como
insumo para llevar a cabo las operaciones que comprende.
Tener una o ms salidas: Debe siempre devolver un resultado; de nada sirve un
algoritmo que hace algo y nunca sabemos que fue.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no
usando nada ms ni nada menos que aquello que se requiera para y en su
ejecucin.
Uso de los algoritmos en la vida cotidiana:

Algunos de los algoritmos diseados para que sean ejecutados por personas
son: las recetas de cocina, los manuales de funcionamiento, itinerarios, gua de
matricula etc.

Ejemplos de algoritmos para ser ejecutados por personas:


Un cliente ejecuta un pedido a una fabrica. La fabrica examina en su banco de
datos si el cliente no es moroso con sus deudas y entonces se acepta el pedido
o se rechaza.
1. Inicio

2. Leer el pedido
3. Examinar ficha del cliente
4. Si el cliente esta activo aceptar el pedido, en caso contrario rechazar el
pedido.
5. terminar
Un cliente llaga a una entidad bancaria para realizar un deposito, el cajero le
pide el nmero de la cuenta y el dinero a depositar, verifica que la cuenta si
existe, si la cuenta es valida se hace el deposito (al saldo le aumenta el dinero
recibido) de lo contrario devuelve el dinero.
1. Inicio
2. pedir numero de la cuenta y el dinero
3. si la cuenta es valida siga en 4 de lo contrario siga en 6
4. saldo= saldo +dinero
5 ir a 7
6 devolver el dinero
7 termina.
http://apuntes-informatica-2.blogspot.mx/2011/08/los-diagramas-de-flujo.html

3.- Lenguaje de programacin:


Un lenguaje de programacin es un idioma artificial diseado para
expresarcomputaciones que pueden ser llevadas 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.1Est 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 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 decomputadora, 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.

Elementos

-Todos los lenguajes de programacin tienen algunos elementos de formacin


primitivos para la descripcin de los datos y de los procesos o transformaciones
aplicadas a estos datos (tal como la suma de dos nmeros o la seleccin de un

elemento que forma parte de una coleccin). Estos elementos primitivos son
definidos por reglas sintcticas y semnticas que describen su estructura y
significado respectivamente.

Sintaxis

-A la forma visible de un lenguaje de programacin se le conoce como sintaxis.


La mayora de los lenguajes de programacin son puramente textuales, es
decir, utilizan secuencias de texto que incluyen palabras, nmeros y
puntuacin, de manera similar a los lenguajes naturales escritos. Por otra
parte, hay algunos lenguajes de programacin que son ms grficos en su
naturaleza, utilizando relaciones visuales entre smbolos para especificar un
programa.

-La sintaxis de un lenguaje de programacin describe las combinaciones


posibles de los smbolos que forman un programa sintcticamente correcto. El
significado que se le da a una combinacin de smbolos es manejado por su
semntica (ya sea formal o como parte del cdigo duro de la referencia de
implementacin).

Clasificacin de los lenguajes de programacin: Niveles y Generaciones:

-En computacin se suele hablar de niveles y generaciones de los lenguajes de


programacin. 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.

Los lenguajes de alto nivel son resultado de una evolucin, desde los lenguajes
de bajo nivel. La computadora slo es capaz de comprender su lenguaje

mquina. Pero para las personas no es fcil entender y manejar este cdigo
mquina de combinaciones binarias.
Las investigaciones dieron un primer paso que llev a la evolucin desde las
hileras de nmeros binarios del cdigo mquina, a un lenguaje ensamblador,
que las representaba como una serie de comandos ms entendibles. Los
lenguajes de nivel superior estn orientados ms hacia lo que se quiere
realizar, que en la manera como se ejecutarn los comandos.

Niveles de los lenguajes de programacin:

1.- Lenguajes de bajo nivel:


-A nivel de circuitos, los microprocesadores slo son capaces de procesar
seales electrnicas binarias. Estas instrucciones binarias que se envan al
microprocesador, se componen de series de unos y ceros, espaciadas en el
tiempo de una forma determinada. Esta secuencia de seales se denomina
cdigo mquina. El cdigo representa normalmente datos y nmeros, as como
instrucciones para manipularlos. Para hacer ms fcil el manejo del cdigo
mquina, se dio a cada instruccin un mnemnico, como por ejemplo STORE
(Almacenar), ADD (Adicionar) o JUMP (Saltar). Tal abstraccin da como
resultado el ensamblador, que es un lenguaje de muy bajo nivel basado en
mnemnicos y que es especfico para cada microprocesador.

2.- Lenguajes de alto nivel:


-Al pensar en una computadora, normalmente se concibe como una mquina
que realiza tareas de procesamiento de texto y clculos. Esta es una
percepcin bastante sinttica y esquemtica de entender la computadora.
Existe un alto nivel de abstraccin entre lo que se pide a la computadora y lo
que realmente comprende. De un modo paralelo se presenta una relacin
compleja entre los lenguajes de alto nivel y el cdigo mquina. Un programa
escrito en un lenguaje de alto nivel, debe ser compilado o interpretado para
traducir su cdigo, en otro de bajo nivel (lenguaje mquina). 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


mquina, son ms fciles de aprender porque estn formados por elementos
de lenguajes naturales (del ingls). 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 rgida y
sistemtica, lo cual podra parecer un poco frustrante e inspira la bsqueda de
lenguajes ms cercanos an al natural.

Compiladores e Intrpretes

Proceso de compilacin

-Se ha sealado que la computadora slo puede ejecutar instrucciones en


cdigo de mquina, por lo cual, todos los programas escritos en cualquiera de
los lenguajes de programacin deben ser convertidos o traducidos. Este
proceso es llevado a cabo por unos programas especiales, los compiladores y
los interpretes.

-La traduccin del cdigo fuente, escrito en lenguaje ensamblador, a cdigo


mquina (o cdigo objeto), no representa un proceso complicado y se lleva a
cabo mediante un compilador. De manera similar, la traduccin de cdigo
fuente de lenguajes de alto nivel puede ser realizada por un compilador, o
tambin mediante un intrprete
Con base en el cdigo fuente suministrado, el compilador crea una lista de
instrucciones de cdigo mquina:

El cdigo objeto. Este cdigo objeto obtenido, es un programa rpido y ya listo


para funcionar, pero est expuesto a poseer errores que pueden provocar fallas
en la computadora.
Generaciones de los lenguajes de programacin

Generaciones

Primera generacin: Lenguaje mquina Son los lenguajes ms bsicos. Los


lenguajes de mquina se representan en bytes, los cuales, estn compuestos
de bits, que son nmeros binarios o que consisten nicamente de ceros (0) o
unos (1). Estos valores pueden corresponder a que la electricidad est
encendida o apagada en la mquina, o a la presencia o ausencia de carga
magntica en un medio de almacenamiento. A partir de estos dos estados se
forman los esquemas de codificacin (como el cdigo ASCII) que permiten
generar letras, nmeros, signos de puntuacin y caracteres especiales.

Segunda generacin: lenguajes ensambladores:


Estn constituidos por nemotcnicos similares a palabras en idioma ingls. En
primer lugar, se crea un archivo fuente con las instrucciones que se desea que
la computadora ejecute, usando un editor, que es una especie de procesador
de palabras. El cdigo fuente es traducido al lenguaje mquina mediante
programas traductores (compiladores)

Tercera generacin: Lenguajes de alto nivel:


Son llamados de alto nivel porque se asemejan ms al lenguaje que utilizan
los humanos al comunicarse. Fueron desarrollados con la finalidad de facilitar el
proceso de programacin. Cuentan con comandos que se acercan ms a las
palabras de uso comn en lugar de tener que usar combinaciones binarias del
cdigo mquina o los comandos bsicos del ensamblador.
Entre los lenguajes de tercera generacin se incluyen:

FORTRAN (Traductor de Frmulas: Formula TRANslator), diseado


especficamente para
programas matemticos y de ingeniera, motivo por el
cual, no fue de amplio uso en computadoras personales.
COBOL (Lenguaje simblico de programacin, orientado hacia aplicaciones
comerciales y de
gestin: Common Business Oriented Languaje) desarrollado
en 1960, con el fin de solucionar las incompatibilidades de los fabricantes de
computadoras.

BASIC (Cdigo de instruccin simblica universal para principiantes:


Begginners Allpurpose
Symbolic Instruction Code) comienza como una
herramienta para ensear sobre programacin a
estudiantes. Fue
desarrollado por Jhon Kemeny y Thomas Kurtz en 1964. Por su simplicidad se
volvi ampliamente popular y usado en educacin y entre los programadores

aficionados, pero no
comerciales.

ha llegado a ser un lenguaje viable para aplicaciones

pASCAL, nombrado en honor del inventor francs Blas Pascal, es introducido


por Niklaus Wirth en
1971. El Pascal, buscaba superar las limitaciones de los
otros lenguajes de programacin y
demostrar la manera adecuada de
implementar un lenguaje de cmputo. Ha llegado a considerarse
un
excelente lenguaje de enseanza.

C, desarrollado a principios de los sesenta por Brian Kernighan y Dennis


Ritchie, quienes buscaban
un mejor lenguaje de integrar con el sistema
operativo UNIX, para que los usuarios pudiesen hacer
modificaciones y
mejoras con facilidad.

C++, Es un lenguaje de principios de los ochenta desarrollado por Bjarne


Stroustrup. Es
extremadamente poderoso y eficiente igual que el C.
Java (1991) es desarrollado por Sun Microsistema. Cuando Internet comenz a
ganar popularidad como red de comunicaciones a mediados de los noventa,
Sun redirige a Java para convertirlo en un ambiente de programacin que
permitiese crear sistemas interactivos y dinmicos (denominados applets)
para las pginas Web.
Quinta generacin: Lenguajes naturales:
Esta generacin incluye la inteligencia artificial y sistemas expertos. En lugar
de slo ejecutar un conjunto de rdenes, el objetivo de estos sistemas es
pensar y anticipar las necesidades de los usuarios. Estos sistemas se
encuentran an en desarrollo.
http://s-operativosais.blogspot.mx/p/lenguaje-de-programacion.html

4.- Historia de la programacin:

Sobre los ltimos 50 aos, los idiomas que programan han


evolucionado del cdigo binario de mquina a herramientas
poderosas que crean las abstracciones complejas. Es importante
entender por qu los idiomas han evolucionado, y qu
capacidades que los idiomas ms nuevos nos dan.
"Tan largo como no haba mquinas, programar era ningn
problema; cuando tuvimos unos pocas computadoras dbiles,
programar lleg a ser un problema templado y ahora que
tenemos las computadoras gigantescas, programar ha llegado a
ser un problema igualmente gigantesco. En este sentido que la
industria electrnica no ha resuelto un solo problema, tiene slo
los cre - ha creado el problema de usar su producto". [Edsger.
W. Dijkstra. "El Programista Humilde" (la Conferencia del Premio
de Turing), Comunicaciones del ACM, Vol 15, No. 10 (el octubre
1972).]
E. W. Dijkstra habl estas palabras profticas casi hace 28 aos
en su es la conferencia del Premio de Turing. En aquel momento,
el 'las computadoras gigantescas l radio de probablemente
tenido entre 64 y 128 kilobytes de la memoria verdadera, y a lo
ms unos pocos megaoctetos de artefactos de almacenamiento
de acceso directo. Si l pens que el problema era gigantesco
entonces...
Uno de las llaves a programar exitoso son el concepto de la
abstraccin. La abstraccin es la llave a la construccin sistemas
complejos de software. Como el tamao de nuestros problemas
crece, la necesidad para la abstraccin dramticamente
aumentos. En sistemas sencillos, caracterstica de idiomas
usados en el 1950s y '60s, un solo programista podra entender
el problema entero, y por lo tanto manipula todas estructuras
del programa y datos. Los programistas son hoy incapaces de
entender todos los programas y los datos - es apenas demasiado
grande. La abstraccin se requiere a permitir que el programista
para agarrar los conceptos necesarios.

La mayora de los libros y el reglamento en la historia de


programar los idiomas tienden a discutir los idiomas en trminos
de generaciones. Esto es un arreglo til para clasificar los
idiomas por la edad.
Primera Generacin

Al desarrollarse las primeras computadoras electrnicas, se vio


la necesidad de programarlas, es decir, de almacenar en
memoria la informacin sobre la tarea que iban a ejecutar. Las
primeras se usaban como calculadoras simples; se les indicaban
los pasos de clculo, uno por uno.
John Von Neumann desarroll el modelo que lleva su nombre,
para describir este concepto de "programa almacenado". En
este modelo, se tiene una abstraccin de la memoria como un
conjunto de celdas, que almacenan simplemente nmeros. Estos
nmeros pueden representar dos cosas: los datos, sobre los que
va a trabajar el programa; o bien, el programa en s.
Cmo es que describimos un programa como nmeros? Se
tena el problema de representar las acciones que iba a realizar
la computadora, y que la memoria, al estar compuesta por
switches correspondientes al concepto de bit, solamente nos
permita almacenar nmeros binarios.
La solucin que se tom fue la siguiente: a cada accin que sea
capaz de realizar nuestra computadora, asociarle un nmero,
que ser su cdigo de operacin (opcode) . Por ejemplo, una
calculadora programable simple podra asignar los opcodes :
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.
Supongamos que queremos realizar la operacin 5 * 3 + 2, en la
calculadora descrita arriba. En memoria, podramos "escribir" el
programa de la siguiente forma:

Podemos ver que con esta representacin, es simple expresar


las operaciones de las que es capaz el hardware (en este caso,
nuestra calculadora imaginaria), en la memoria.
La descripcin y uso de los opcodes es lo que
llamamos lenguaje de mquina. Es decir, la lista de cdigos
que la mquina va a interpretar como instrucciones, describe las
capacidades de programacin que tenemos de ella; es el
lenguaje ms primitivo, depende directamente del hardware, y
requiere del programador que conozca el funcionamiento de la
mquina al ms bajo nivel.
Los lenguajes ms primitivos fueron los lenguajes de mquina.
Esto, ya que el hardware se desarroll antes del software, y
adems cualquier software finalmente tiene que expresarse en
el lenguaje que maneja el hardware.
La programacin en esos momentos era sumamente tediosa,
pues el programador tena que "bajarse" al nivel de la mquina
y decirle, paso a pasito, cada punto de la tarea que tena que
realizar. Adems, deba expresarlo en forma numrica; y por
supuesto, este proceso era propenso a errores, con lo que la
productividad del programador era muy limitada. Sin embargo,
hay que recordar que en estos momentos, simplemente an no
exista alternativa.

Segunada Generacin

El primer gran avance que se dio, como ya se coment, fue la


abstraccin dada por el Lenguaje Ensamblador, y con l, el
nacimiento de las primeras herramientas automticas para
generar el cdigo mquina. Esto redujo los errores triviales,
como poda ser el nmero que corresponda a una operacin,
que son sumamente engorrosos y difciles de detectar, pero
fciles de cometer. Sin embargo, an aqu es fcil para el
programador perderse y cometer errores de lgica, pues debe
bajar al nivel de la forma en que trabaja el CPU, y entender bien
todo lo que sucede dentro de l.
ejemplo ensamblador: Hola Mundo!

Tercera Generacin

Con el desarrollo en los 50s y 60s de algoritmos de ms elevado


nivel, y el aumento de poder del hardware, empezaron a entrar

al uso de computadoras cientficos de otras ramas; ellos


conocan mucho de Fsica, Qumica y otras ramas similares, pero
no de Computacin, y por supuesto, les era sumamente
complicado trabajar con lenguaje Ensamblador en vez de
frmulas. As, naci el concepto de Lenguaje de Alto Nivel, con el
primer compilador de FORTRAN (FORmula TRANslation), que,
como su nombre indica, inici como un "simple" esfuerzo de
traducir un lenguaje de frmulas, al lenguaje ensamblador y por
consiguiente al lenguaje de mquina. A partir de FORTRAN, se
han desarrollado innumerables lenguajes, que siguen el mismo
concepto: buscar la mayor abstraccin posible, y facilitar la vida
al programador, aumentando la productividad, encargndose los
compiladores o intrpretes de traducir el lenguaje de alto nivel,
al lenguaje de computadora.
Hay que notar la existencia de lenguajes que combinan
caractersticas de los de alto nivel y los de bajo nivel (es decir,
Ensamblador). Mi ejemplo favorito es C: contiene estructuras de
programacin de alto nivel, y la facilidad de usar libreras que
tambin son caractersticas de alto nivel; sin embargo, fue
diseado con muy pocas instrucciones, las cuales son
sumamente sencillas, fciles de traducir al lenguaje de la
mquina; y requiere de un entendimiento apropiado de cmo
funciona la mquina, el uso de la memoria, etctera. Por ello,
muchas personas consideramos a lenguajes como C (que fue
diseado para hacer sistemas operativos), lenguajes de nivel

medio.

Cuarta Generacin

Los idiomas de la cuarta generacin parecen segn las


instrucciones a las de la tercera generacin. Lo nuevo de estas
lenguajes son conceptos como clases, objetos y eventos que
permiten soluciones ms fciles y lgicos. Lenguajes como C++,
java y C# se llaman lenguajes orientadas al objeto.
Los idiomas modernos, tal como C++ y Java, no slo permite las
abstracciones, pero permite la implementacin impuesta de
restricciones en abstracciones. La mayora de los idiomas
modernos son objetivas orientado, que permite que m modele
el mundo verdadero que usa mi idioma. Adems, puedo limitar
el acceso para modelar las restricciones de mundo verdadero en
datos. La llave es que us el trmino "mundo verdadero." Por la
primera vez, yo modelo mi solucin en trminos del problema.
Quiero que mi solucin sea orientado de problema, para que la
solucin refleje el mundo verdadero en trminos de estructuras
de datos y acceso a los datos. Yo tambin puedo aplicar
directamente y para poder modelar objetos de mundo verdadero

usando las clases (en C + + o Java).

Quinta Generacin

Como la quinta generacin estn conocidos los Lenguajes de


inteligencia artificial. Han sido muy valorados al principio de las
noventa - mientras ahora el desarrollo de software toma otras
caminos.
Lo que veremos en el futuro es menos dependencia en el
idioma, y ms en el modelando herramientas, tal como el
Unificado Modelando el Idioma (UML). La salida del modelando
herramienta producir mucho de nuestro cdigo para nosotros;
en el muy menos, producir arquitectnico y los modelos del
diseo y la estructura de nuestro cdigo. Esto producir un
diseo (y posiblemente cdigo) eso puede ser validado por el
cliente antes de completar la implementacin y probar. Cuando
los problemas diarios que resolvemos llegan a ser ms grande,
nosotros tenemos cada vez menos tiempo "volver a hacer" el
cdigo. Los das de decir, "acabamos de escribir una versin de
Beta y el cliente entonces pueden decir nosotros lo que ellos
quieren realmente," son pasados. Las organizaciones que fallan
de obtener completa y corrige los requisitos de cliente antes de
escribir el cdigo saldr del negocio. Por qu? Porque toma
demasiado largo, y cuesta tambin mucho, para escribir cdigo
dos o ms vez. Las organizaciones que tienen un compromiso a
la comprobacin y la validacin antes de producir cdigo
prosperarn - los otros fallarn.
ejemplo Flowchart

ejemplo UML

Pasos importantes de las lenguajes de programacin

Historia de las lenguajes de programacin

Perder el miedo del cdigo

ejemplo practico HTML: Hola Mundo

ejemplo practico JavaScript: Hola Mundo

ejemplo practico JavaScript: Cuadrado

http://go.yuri.at/juegos/clase1/clase1_introduccion.html#his

5.- Clasificacion de los lenguajes de programacin:


Los lenguajes de programacin pueden clasificarse empleando distintos
mtodos y puntos de vista. Esta clasificacin se basa en el paradigma que
utilizan. Se debe aclarar que existen muchos ms paradigmas y subparadigmas
de programacin no incluidos dentro de los mencionados. Adems, todava hay
conflictos en las definiciones y alcances de ciertos paradigmas.

Qu es un paradigma de programacin?

Un paradigma de programacin provee (y determina) la visin y mtodos de un


programador en la construccin de un programa o subprograma. Diferentes
paradigmas resultan en diferentes estilos de programacin y en diferentes
formas de pensar la solucin de problemas (con la solucin de mltiples
problemas se construye una aplicacin).

Los lenguajes de programacin son basados en uno o ms paradigmas. (Vase


Programacin en mltiples paradigmas)Por ejemplo: Smalltalk y Java son
lenguajes basados en el paradigma orientado a objetos. El lenguaje de
programacin Scheme, en cambio, soporta slo programacin funcional. En
cambio Python, soporta mltiples paradigmas.

Clasificacin por paradigmas de programacin

Paradigma Imperativo: describe la programacin como una secuencia


instrucciones o comandos que cambian el estado de un programa. El cdigo
mquina en general est basado en el paradigma imperativo. Su contrario es el
paradigma declarativo. En este paradigma se incluye el paradigma
procedimental (procedural) entre otros.

Paradigma Declarativo: No se basa en el cmo se hace algo (cmo se logra un


objetivo paso a paso), sino que describe (declara) cmo es algo. En otras
palabras, se enfoca en describir las propiedades de la solucin buscada,
dejando indeterminado el algoritmo (conjunto de instrucciones) usado para
encontrar esa solucin. Es ms complicado de implementar que el paradigma
imperativo, tiene desventajas en la eficiencia, pero ventajas en la solucin de
determinados problemas.

Paradigma Estructurado: la programacin se divide en bloques (procedimientos


y funciones) que pueden o no comunicarse entre s. Adems la programacin
se controla con secuencia, seleccin e iteracin. Permite reutilizar cdigo
programado y otorga una mejor compresin de la programacin. Es contrario al
paradigma inestructurado, de poco uso, que no tiene ninguna estructura, es
simplemente un bloque, como por ejemplo, los archivos batch (.bat).

Paradigma Orientado a Objetos: est basado en la idea de encapsular estado y


operaciones en objetos. En general, la programacin se resuelve comunicando
dichos objetos a travs de mensajes (programacin orientada a mensajes). Se
puede incluir -aunque no formalmente- dentro de este paradigma, el
paradigma basado en objetos, que adems posee herencia y subtipos entre
objetos. Ej.: Simula, Smalltalk, C++, Java, Visual Basic .NET, etc.
Su principal ventaja es la reutilizacin de cdigos y su facilidad para pensar
soluciones a determinados problemas.

Paradigma Funcional: este paradigma concibe a la computacin como la


evaluacin de funciones matemticas y evita declarar y cambiar datos. En
otras palabras, hace hincapi en la aplicacin de las funciones y composicin
entre ellas, ms que en los cambios de estados y la ejecucin secuencial de
comandos (como lo hace el paradigma procedimental). Permite resolver ciertos
problemas de forma elegante y los lenguajes puramente funcionales evitan los
efectos secundarios comunes en otro tipo de programaciones.

Paradigma lgico: se basa en la definicin de reglas lgicas para luego, a


travs de un motor de inferencias lgicas, responder preguntas planteadas al
sistema y as resolver los problemas. Ej.: prolog.

Otros paradigmas y subparadigmas son: paradigma orientado al sujeto,


paradigma reflectante, programacin basada en reglas, paradigma basado en
restricciones, programacin basada en prototipos, etc.

Los lenguajes de programacin, por su abstraccion, son divididos en 3 niveles,


los cuales son:
Lenguajes de bajo nivel
imagen
Los lenguajes de bajo nivel son lenguajes de programacin que se acercan al
funcionamiento de una computadora. El lenguaje de ms bajo nivel es, por
excelencia, el cdigo mquina. A ste le sigue el lenguaje ensamblador, ya que

al programar en ensamblador se trabajan con los registros de memoria de la


computadora de forma directa.
Lenguajes de medio nivel
imagen
Hay lenguajes de programacin que son considerados por algunos expertos
como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas
caractersticas que los acercan a los lenguajes de bajo nivel pero teniendo, al
mismo tiempo, ciertas cualidades que lo hacen un lenguaje ms cercano al
humano y, por tanto, de alto nivel
Lenguajes de alto nivel
imagen
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn
formados por elementos de lenguajes naturales, como el ingls. En BASIC, el
lenguaje de alto nivel ms conocido, los comandos como "IF CONTADOR = 10
THEN STOP" pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de
trabajar es un poco frustrante, dado que a pesar de que las computadoras
parecen comprender un lenguaje natural, lo hacen en realidad de una forma
rgida y sistemtica
Y por ultimo, los lenguajes de programacin, por su forma de ejecucin, son
divididos en 2 tipos, los cuales son:
Lenguajes compilados
imagen
Naturalmente, un programa que se escribe en un lenguaje de alto nivel
tambin tiene que traducirse a un cdigo que pueda utilizar la mquina. Los
programas traductores que pueden realizar esta operacin se llaman
compiladores. stos, como los programas ensambladores avanzados, pueden
generar muchas lneas de cdigo de mquina por cada proposicin del
programa fuente. Se requiere una corrida de compilacin antes de procesar los
datos de un problema.
Los compiladores son aquellos cuya funcin es traducir un programa escrito en
un determinado lenguaje a un idioma que la computadora entienda (lenguaje
mquina con cdigo binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual
Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya
errores, sino hasta que luego de haber compilado el programa, ya no aparecen
errores en el cdigo.
Lenguajes interpretados
imagen

Se puede tambin utilizar una alternativa diferente de los compiladores para


traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar
en forma permanente el cdigo objeto que se produce durante la corrida de
compilacin para utilizarlo en una corrida de produccin futura, el programador
slo carga el programa fuente en la computadora junto con los datos que se
van a procesar. A continuacin, un programa intrprete, almacenado en el
sistema operativo del disco, o incluido de manera permanente dentro de la
mquina, convierte cada proposicin del programa fuente en lenguaje de
mquina conforme vaya siendo necesario durante el proceso de los datos. No
se graba el cdigo objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y
traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo
de los pasos de un ciclo, cada instruccin del ciclo tendr que volver a ser
interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea
ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo
de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que
estar compilando a cada momento el cdigo completo). El intrprete elimina la
necesidad de realizar una corrida de compilacin despus de cada modificacin
del programa cuando se quiere agregar funciones o corregir errores; pero es
obvio que un programa objeto compilado con antelacin deber ejecutarse con
mucha mayor rapidez que uno que se debe interpretar a cada paso durante
una corrida de produccin.
http://www.alegsaonline.com/art/13.php
http://lprogra.galeon.com/productos1671616.html
http://lprogra.galeon.com/productos1671617.html

Вам также может понравиться