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

lenguajes de programacion tarea.docx

  • Upload
    vaz-vez

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: lenguajes de programacion tarea.docx

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

Page 2: lenguajes de programacion tarea.docx

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

Page 3: lenguajes de programacion tarea.docx

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.

Page 4: lenguajes de programacion tarea.docx

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.

Page 5: lenguajes de programacion tarea.docx

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

Page 6: lenguajes de programacion tarea.docx

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.

Page 7: lenguajes de programacion tarea.docx

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

Page 8: lenguajes de programacion tarea.docx

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

Page 9: lenguajes de programacion tarea.docx

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.

Page 10: lenguajes de programacion tarea.docx

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.