Upload
vaz-vez
View
221
Download
0
Embed Size (px)
Citation preview
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 1/10
Tecnológico Nacional de México
Instituto Tecnológico de Pachuca
Programación lógica y
funcional
Docente: Ing. Carlos Eduardo Maggi Natale
Alumno: Vazquez Velazquez Romeo Hermilo
No. de control: 122!!1
Lenguajes de programación
"#$#21%
&EN'(A)E* DE +R,'RAMACI-N
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 2/10
Un lenguajes de programación Es un Lenguaje artifcial utilizado para desarrollar
programas inormáticos. Es un conjunto de reglas, notaciones, símbolos y/o
caracteres ue permiten a un programador poder e!presar el procesamiento de
datos y sus estructuras en la computadora.
Eoluci/n
"urante #arias d$cadas, los programadores %an tenido ue realizar su trabajousando un lenguaje muy particular conocido como lenguaje máquina ue, como sunombre lo indica, solamente puede ser interpretado por estas mismas.
Este tipo de lenguaje era bastante propenso a %acer ue los programadorescometieran errores ya ue tenía cierto grado de complejidad en cuanto a lacapacidad del entendimiento %umano, sin tomar en cuenta ue un programa
escrito en tal lenguaje no puede ser ejecutado en otra máuina ue no sea en laue se escribió dic%o programa debido a ue cada máuina dependía de su%ard&are para uncionar y por tanto ejecutar tales programas. Es por esto ue alcabo de unos cuantos a'os más, se desarrolló un lenguaje conocido comoensamblador o tambi$n llamado lenguaje de ni#el medio, el cual era muc%o másácil de manejar ue el lenguaje máuina, e#itando así tales errores a la %ora deprogramar.
(iempo despu$s surgen lo ue se conoce como lenguajes de alto nivel ue ue unainno#ación en la programación puesto ue su sinta!is era bastante similar a la delos %umanos.
(odo este proceso de e#olución %izo ue los programas escritos sean muc%o máslegibles y áciles de modifcar.
)%ora en este punto del tiempo %an surgido los paradigmas de programación ueson complementos elementales para los programadores. El paradigma deprogramación más utilizado en la actualidad es el *rientado a *bjetos.
)lgunos de los lenguajes de programación de alto ni#el se enocan en un áreaespecífca, por ejemplo tenemos los empresariales, los de inteligencia artifcial, losue crean aplicaciones para mó#iles, etc.
+ada uno de estos lenguajes de alto ni#el puede ser compilado o interpretado.
&os lengua0es de rogramaci/n an su3rido una serie de cam4ios durantesu roceso de eoluci/n.
En la actualidad los lenguajes de programación se encuentran clasifcados de
muc%as maneras
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 3/10
*eg5n su niel de a4stracci/n
ϕ Lenguaje máuina
ϕ Lenguaje ensamblador
ϕ Lenguaje de alto ni#el
&engua0e m6quina
El primer lenguaje ue se empleó para programar ue el lenguaje máquina, el cual,
como sabemos utilizaba el lenguaje binario para escribir las instrucciones ue la
computadora debía ejecutar para realizar su trabajo. Esta orma de programar era
bastante lenta y muy propensa a tener errores, puesto ue, este tipo de lenguaje
no era com-n en el lenguaje %umano y su comprensión reuería tiempo. )demás,
este tipo de programación dependía bastante del %ard&are de la máuina con la
ue se est$ trabajando, por ejemplo un programa escrito en una máuina de cierta
marca y modelo no podía ser ejecutado en otra máuina de dierentes
características.
&engua0e ensam4lador
Luego de %aber pasado por muc%os incon#enientes debido a la programación
utilizando el lenguaje máuina surge un lenguaje conocido como ensamblador.
Este nue#o lenguaje consistía en utilizar mnemot$cnicos para escribir las
instrucciones, lo cual acilitaba el trabajo del programador.
Las #entajas están en ue sus instrucciones eran e!presadas en un lenguaje
cercano al ue el %umano puede entender. in embargo, la tarea de programar
sigue teniendo cierto grado de complejidad debido a ue a-n es un lenguaje más
cercano al ue pueden entender las máuinas ue de los %umanos. En estos casos
el programador debía conocer las características de la computadora con la ue iba
a realizar su trabajo y por tanto %abía ue %acer ciertos trabajos ue dependían de
la máuina como ubicar los registros de memoria tal y como se lo %acía con el
lenguaje máuina.
El código escrito directamente en lenguaje ensamblador se denomina “código
fuente” mientras ue el programa traducido toma el nombre de código objeto0, el
cual será ejecutado por la computadora.
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 4/10
&engua0e de alto niel
Esta nue#a orma de programar ue muy inno#adora. )uí las instrucciones ya
eran más áciles de manejar por el cerebro %umano. Estas instrucciones ue por logeneral eran palabras en ingl$s, describían los procedimientos ue deben ejecutar
las computadoras.
Una de las #entajas de esta nue#a etapa de programación ue ue los programas
escritos ya no dependían del %ard&are de cada máuina. Los programas podían ya
ejecutarse en cualuier computadora con muy pocas o incluso ninguna
modifcación a su código uente. Los programas en esta etapa ya se caracterizaban
por ser portables.
Una de las des#entajas de este tipo de programación era de ue como los
programas eran más claros para el lenguaje %umano ue el de las máuinas su
ejecución era más lenta por el moti#o de ue no se apro#ec%aban completamente
los recursos de la computadora.
E7isten dos tios de nieles or los que a asado la rogramaci/n
8a0o niel
Los lenguajes de bajo ni#el son los ue se encuentran un paso más adelante al
lenguaje máuina y brinda sus benefcios a la %ora de programar aunue con
ciertos límites como la portabilidad.
El lenguaje ensamblador es clasifcado como un lenguaje de bajo ni#el pues es
más cercano al lenguaje máuina y cumple características similares.
Alto niel
"esde la aparición de 1*2(2)3, el primer lenguaje de programación de alto ni#el
se %an #enido una serie de cambios en cuanto a la programación.
+omo ya sabemos la programación utilizando los lenguajes de alto ni#el es muc%o
más ácil ue con los lenguajes ue se utilizaban antes 4lenguaje máuina y
ensamblador5 y además de ello se %an ido incorporando paradigmas ue acilitan
a-n más este trabajo.
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 5/10
+ARADI'MA* DE +R,'RAMACI,N.
El concepto de paradigma en la programación pro#ee 4y determina5 la #isión y
m$todos de un programador en la construcción de un programa o subprograma."ierentes paradigmas resultan en dierentes estilos de programación y en
dierentes ormas de pensar la solución de problemas.
6uc%os lenguajes de programación de alto ni#el utilizan un paradigma de
programación para un mejor desarrollo de sot&are.
La siguiente lista muestra los paradigmas de programación más utilizados
7. 8rogramación *rientada a *bjetos9. 8rogramación Estructurada:. 8rogramación 6odular;. 8rogramación "inámica<. 8rogramación =mperati#a>. 8rogramación "eclarati#a
a. 8rogramación Lógicab. 8rogramación 1uncional
?. 8rogramación *rientada a )spectos
+rogramaci/n ,rientada a ,40etos
La programación *rientada a *bjetos es un paradigma de programación muy
utilizado en la actualidad y es debido a ue permite una representación de las
entidades del mundo real a algo eui#alente en lenguaje de programación
denominado objeto0.
SmallTalk Java Lisp Simula
PHP Ada C++
+rogramaci/n Estructurada
La programación estructurada consiste en el desarrollo de sot&are utilizando
subrutinas y tres estructuras de control ue son
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 6/10
7. ecuencial
9. electi#a
:. 2epetición
)lgunos de los lenguajes ue permiten aplicar la programación estructurada son
los siguientes
Java ALGOL Pascal PL/1 Ada
+rogramaci/n Modular
La programación modular es considerada como la e#olución de la programación
estructurada y consiste en desarrollar sot&are di#idiendo el problema en
problemas más peue'os los cuales pasarán a ser codifcados como módulos
independientes. Esto %ace ue los programas sean muc%o más legibles y por lo
tanto áciles de manejar.
)lgunos de los lenguajes de programación ue permiten esto son
Java Perl Ruby Mdula
PROGRAMACIÓN IMPERATIVA
on los lenguajes orientados a sentencias0. La unidad de trabajo es la sentencia.
Los eectos de las sentencias indi#iduales se combinan en un programa para
obtener los resultados deseados. (odos estos lenguajes se basan
undamentalmente en la aruitectura tradicional de la computadora. Esto se puede
#er en tres características principales
ϕ #ariables un elemento ue se utilizara en el desarrollo del programa ueocupa un espacio de memoria ue se le designa mediante su tipo de dato a
trabajar.
ϕ operación de asignación 4Estrec%amente ligado a la aruitectura de la
memoria se encuentra la idea de ue el #alor calculado debe ser
almacenado05.
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 7/10
ϕ repetición 4un programa en un lenguaje imperati#o, normalmente realiza su
tarea ejecutando repetidamente una secuencia de pasos elementales5.
La programación en el paradigma imperati#o consiste en determinar u$ datos sonreueridos para el cálculo, asociar a esos datos unas direcciones de memoria, y
eectuar paso a paso una secuencia de transormaciones en los datos
almacenados, de orma ue el estado fnal represente el resultado correcto.
Los lenguajes de programación imperati#os son@
C,8,& C Ada 8A*IC +ascal 9,RRAN
D +erl +H+ &ua 0aa
+rogramaci/n rocedural
ϕ Uso de procedimientos y subrutinas
ϕ Los cambios de estado se localizan en estos procedimientos
ϕ Los procedimientos especifcan parámetros y #alores de#ueltos 4un primer
paso %acia la abstracción y los modelos uncionales y declarati#os5ϕ Lenguajes )LA*L
+rogramaci/n estructurada
ϕ )rtículo a fnales de los >B de Edsger C. "ijDstra A*(* statement
considered %armul en el ue se arremete contra la sentencia A*(* de
muc%os lenguajes de programación de la $pocaϕ La programación estructurada mantiene la programación imperati#a, pero
%aciendo $nasis en la necesidad de ue los programas sean correctos 4debe
ser posible de comprobar ormalmente los programas5, modulares y
mantenibles.ϕ Lenguajes 8ascal, )LA*L >, )da
+rogramaci/n ,rientada a ,40etos
ϕ La 8** tambi$n utiliza la programación imperati#a, aunue e!tiende los
conceptos de modularidad, mantenibilidad y estado localϕ e populariza a fnales de los ?B y principios de los B
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 8/10
+rogramaci/n ,rientada a Asectos
La programación *rientada a )spectos es una e!tensión de la programación
*rientada a *bjetos, en otras palabras, es un complemento de esta misma.
(iene un enoue estructurado ue son los procedimientos o tambi$n conocidoscomo acciones.
)demás tiene un enoue orientado a objetos ue son los datos ue se
encuentran encapsulados en una determinada clase.
Un aspecto es defnido como una unidad modular ue #endría a ser la base de la
programación orientada a aspectos y ue se disemina por la estructura de otras
unidades uncionales.
(odo aspecto tiene un propósito defnido, este es el trabajo ue ellos deben de
%acer. El trabajo del cual está encargado un aspecto es denominado ad#ice0.
El programa orientado a aspectos está ormado por tres bloues compactos.
7. 1uncionabilidad básica
9. incronización
:. "istribución
En este caso la sincronización #endría a ser el aspecto 7 mientras ue la
distribución, el aspecto 9.
Una de las #entajas de este nue#o paradigma de programación es ue permite un
dise'o sistemático además de la reutilización de sot&are.
Una des#entaja es ue e!isten conceptos ue no pueden encapsularse dentro de
una unción debido a ue atra#iesan todo el sistema o #arias partes de $l, como lo
son la sincronización, perfles de seguridad o redes, manejo de errores, manejo de
memoria, etc
Los lenguajes de programación ue soportan este paradigma son
ϕ )spectF
Caracter;sticas rinciales
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 9/10
ϕ =dea principal de la programación imperati#a La computación se realiza
cambiado el estado del programa por medio de sentencias ue defnen
pasos de ejecución del computadorϕ Estado del programa modifcableϕ entencias de control ue defnen pasos de e!ecuci"#
+R,'RAMACI-N DEC&ARAIVA
La programación "eclarati#a se di#ide en
ϕ 8rogramación Lógica
ϕ 8rogramación 1uncional
ϕ 8rogramación con restricciones
ϕ 8rogramas "L
) la programación imperati#a se le contrapone la programación declarati#a en la
ue se descri4e la l/gica de comutaci/n necesaria para resol#er un
problema sin descri4ir un <u0o de control de ning-n tipo. Eecti#amente, en la
programación declarati#a no es necesario defnir algoritmos puestos ue se
detalla la soluci/n del problema en lugar de como llegar a esa solución.
La principal dierencia entre ambos paradigmas es ue en la programación
declarati#a se describe paso a paso un conjunto de instrucciones ue %an de
ejecutarse con la fnalidad de #ariar el estado del programa y resol#er un problema
para %allar una solución. Es decir, se describe un algoritmo en el ue se detallan
los pasos secuenciales necesarios a seguir para la resolución de un problema.
G en la programación imperati#a solo se describe el problema pero no los pasos
necesarios para llegar a su solución, la cual es %allada mediante mecanismos
internos de inerencia de inormación a partir de la descripción del problema en sí.
+rogramaci/n &/gica
La 8rogramación Lógica es un paradigma de programación enocado en la partelógica de los programas y gira en torno al concepto de predicado.
ϕ 82*L*A
+rogramaci/n 9uncional
Hasado en el empleo de unciones aritm$ticas ue no manejan datos propenso a
mutaciones.
7/21/2019 lenguajes de programacion tarea.docx
http://slidepdf.com/reader/full/lenguajes-de-programacion-tareadocx 10/10
Los programas en esta categoría son
1*2(I c%eme IasDell 6iranda
2ust Erlang *bjecti#e +aml 8erl
Fa#acript Fa#a 8%yton Entre otros
&engua0es de reresentaci/n = consulta
Los lenguajes de representación se referen a auellos ue sir#en como
%erramientas para la construcción, representación y dise'o de documentos,
ejemplos %tml y !ml, mientras ue los lengua0es de consulta son utilizados paraconsultar en bases de datos o en sistemas de inormación, ejemplos JL.