SlideShare una empresa de Scribd logo
Lenguajes de Programación
Paradigmas de Programación
Autor(es): • Mtr. Luis Fernando Aguas
Indice
1.¿ Qué es un lenguaje de programación ?
2.Abstracciones
3.Paradigmas de computación
4.Definición del lenguaje
5.Traducción del lenguaje
6.Historia
7.Preguntas
1.1 ¿ Qué es un LP ?
• Computación
• MáquinaTuring, tesis de Church
• Legibilidad por parte de la máquina
• Legibilidad por parte del ser humano
Definición: Un lenguaje de programación es un sistema
notacional para describir computaciones de una forma
legible tanto para la máquina como para el ser humano.
1.2 Características
• Eficiencia
• Expresividad
• Capacidad de mantenimiento
• Legibilidad
• Confiabilidad
• Seguridad
• Simplicidad
• Productividad
1.3 Abstracciones
• Clases: Datos y control
• Niveles: básicas, estructuradas y unitarias
Abstracciones de datos:
● Básicas: tipos básicos (enteros, reales, ...)
● Estructuradas: tipos estructurados (arreglos, registros)
● Unitarias: Tipos abstractos de datos (TDAs), paquetes,
módulos, clases, componentes
1.3 Abstracciones
• Abstracciones de control
• Básicas: asignación, goto
• Estructuradas: condicionales e iteradores
• Unitarias: paquetes, módulos, hilos y tareas.
Un lenguaje de programación es completo en Turing
siempre que tenga variables enteras y aritméticas, y que
ejecute enunciados en forma secuencial, incluyendo
enunciados de asignación, selección e iteración.
1.4 Paradigmas de programación
• Imperativo
• modelo deVon Neuman, cuello de botella deVon Neuman
• Orientado a Objetos
• TDAs, encapsulación, modularidad, reutilización
• Funcional
• noción abstracta de función, cálculo lambda, recursividad, listas
• Lógico
• Lógica simbólica, programación declarativa
Paradigmas de Lenguajes
• Se reconoce generalmente 4 paradigmas de
programación:
• Imperativo (Estructurado)
• Aplicativo (Funcional)
• Orientado a Objetos
• Lógico
Lenguajes Imperativos
• Su objetivo es entender y definir el estado de la
máquina (conjunto de posiciones de memorias, cada
una conteniendo un valor).
• Lenguajes orientados a instrucciones
• El programa consiste en elaborar un conjunto de
instrucciones para que la máquina llegue a la
respuesta.
• Ejemplos: C, Fortran, Pascal, Cobol
• Sintaxis: S1, S2, S3, S4, …
Lenguajes Imperativos
 Programación: serie de pasos (input, cálculo, ouput).
 Elementos: abstracción procedural, asignación,
loops, secuencias, condicionales.
Lenguajes Funcionales
• Su objetivo es entender la función que produciría la
respuesta deseada.
• Es orientada hacia la composición de funciones.
• Programar consiste en construir la función que halle
la respuesta.
• Ejemplos: ML, Lisp, Scheme, Haskell
• Sintaxis: F1(F2(F3(x)))
Lenguajes Funcionales
• Programación: colección de funciones que se
combinan en formas complejas para construir
nuevas funciones.
• Elementos: alto orden, composición, recursión.
Orientados a Objetos
• Su objetivo es modelar el problema con elementos
similares a los realmente presentes.
• Programar significa generar objetos que
intercambian mensajes entre si para resolver un
problema.
• Ejemplos: Smalltalk, C++, Java, Squeak, C#
• Sintáxis: O1 ->mensaje-> O2.
Orientados a Objetos
• Lenguajes imperativos que unen diseños aplicativos
con sentencias imperativas.
• Sintaxis: Conjunto de objetos (clases) conteniendo
datos (concepto imperativo) y métodos (conceptos
aplicativos).
• Programación: colección de objetos que interactúan
pasándose mensajes que transforman estados.
• Elementos: modelado de objetos, clases, herencia,
encapsulamiento.
Lenguajes Lógicos
• Definen reglas para decidir cuando la respuesta ha
sido alcanzada.
• Utiliza un conjunto de reglas para deducir los
atributos de la respuesta.
• Ejemplos: Prolog
• Sintaxis: Regla -> Conclusión
1.5 Definición del lenguaje
• Sintaxis (estructura)
• Gramáticas libres de contexto, estructura léxica, tokens
• Semántica (significado)
• Lenguaje natural
• Semántica operacional
• Semántica denotacional
1.6Traducción del lenguaje
• Traductor es un programa que acepta otros programas
escritos en un lenguaje y:
• los ejecuta directamente (interprete)
• los transforma en una forma adecuada para su ejecución
(compilador).
entrada
código
fuente
salidaintérprete
1.6Traducción
• Pseudointérpretes: intermedio entre interprete y
compilador: lenguajes intermedios
• Operaciones de un traductor: analizador léxico (tokens),
analizador sintáctico, analizador semántico,
preprocesador
código
fuente
traducción
adicional
compilación
código
objeto
código
ejecutable
1.6Traducción
• Tiempo de compilación y tiempo de ejecución
• Propiedades estáticas: tiempo de compilación
• Propiedades dinámicas: tiempo de ejecución
• Recuperación de errores (compilación y ejecución)
• Eficiencia y optimización (compilación o ejecución)
1.7 Historia
FORTRAN
AlGOL 60 COBOL
50
60
70
80
90
Simula
Smalltalk
Pascal
Ada
C
PL/I
LISP
ML
Miranda
Prolog
1.7 Historia
1950 1960 1970 1980 1990
Fortran(54)
PL/I(66)
Ada(95)
Java(96)
Basic(66)
C(72)
Pascal(70)
Cobol(58)
Algol(60)
Simula(67) Smalltalk(80)
C++(89)
ENSAMBLADOR
Eiffel (86)
Ada(83)
¿Qué hace a un lenguaje bueno?
• Naturalidad de la aplicación
• La estructura del programa refleja la estructura lógica del
algoritmo.
• Cada lenguaje generalmente se especializa en un campo
de acción determinado y es más fácil resolver ciertos
problemas con él.
¿Qué hace a un lenguaje bueno?
• Facilidad de verificación
• Debe proveer una manera de corroborar que el programa
efectivamente realiza su tarea.
• Una sintaxis sencilla facilita la verificación.
¿Qué hace a un lenguaje bueno?
• Ambiente de programación
• Debe contar con un entorno que facilite la programación
en el lenguaje.
• Generalmente lenguajes no tan buenos, pero que tienen
un buen entorno de programación, son más usados en el
mercado.
¿Qué hace a un lenguaje bueno?
• Portabilidad
• Que tan fácil se puede transportar la aplicación de la
máquina en que se desarrolló a otras máquinas donde va a
ser ejecutada.
• El mejor ejemplo de esto es programación para Internet.
¿Qué hace a un lenguaje bueno?
• Costo de uso
• Costo de ejecución
• Costo de traducción
• Costo de creación, prueba y uso
• Costo de mantenimiento

Más contenido relacionado

La actualidad más candente

3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
Yenny Salazar
 
Categorías Gramaticales
Categorías GramaticalesCategorías Gramaticales
Categorías Gramaticales
Xaverius
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
Idalia Tristan
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++ivanjvic
 
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesador
Jose Diaz Silva
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
Alejandro Leon Cerna
 
1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de ProblemasMeztli Valeriano Orozco
 
Elementos de programacion
Elementos de programacionElementos de programacion
Elementos de programacion
Alma1009
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
Martin Pacheco
 
Manuel torres mapa_mental
Manuel torres mapa_mentalManuel torres mapa_mental
Manuel torres mapa_mental
Mrx Mirrorx
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
José Antonio Sandoval Acosta
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Presentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica LogicaPresentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica Logica
'Anderson Romero'
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
j.martinez1974
 
Clase pseint
Clase pseintClase pseint
Clase pseint
Carlos Martínez
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Presentacion sistema binario
Presentacion sistema binarioPresentacion sistema binario
Presentacion sistema binarioandy946
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
jorge severino
 
Recursividad
RecursividadRecursividad
Recursividad
Lester Sanchez
 

La actualidad más candente (20)

3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Categorías Gramaticales
Categorías GramaticalesCategorías Gramaticales
Categorías Gramaticales
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Variables y Constantes en C++
Variables y Constantes en C++Variables y Constantes en C++
Variables y Constantes en C++
 
Estructura y funcionamiento del procesador
Estructura y funcionamiento del procesadorEstructura y funcionamiento del procesador
Estructura y funcionamiento del procesador
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas1.5 Metodología para la Solucion de Problemas
1.5 Metodología para la Solucion de Problemas
 
Elementos de programacion
Elementos de programacionElementos de programacion
Elementos de programacion
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 
Manuel torres mapa_mental
Manuel torres mapa_mentalManuel torres mapa_mental
Manuel torres mapa_mental
 
Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Presentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica LogicaPresentacion Unidad Aritmetica Logica
Presentacion Unidad Aritmetica Logica
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Clase pseint
Clase pseintClase pseint
Clase pseint
 
Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Presentacion sistema binario
Presentacion sistema binarioPresentacion sistema binario
Presentacion sistema binario
 
Tipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacionTipos de gramatica y arboles de derivacion
Tipos de gramatica y arboles de derivacion
 
Recursividad
RecursividadRecursividad
Recursividad
 

Similar a Lenguajes de programación: Paradigmas de Programación

Lenguajes de Programación. Conceptos.ppt
Lenguajes de Programación. Conceptos.pptLenguajes de Programación. Conceptos.ppt
Lenguajes de Programación. Conceptos.ppt
Lorena Rodriguez
 
Tema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxTema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptx
docmarcoantoniosotov
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
Tensor
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
DANTE ELVIS CACHI ALANOCA
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
MaraIsabel87
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
Mario Bastidas
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
JavierCR2017
 
Introducción a la ing sistemas
Introducción a la ing sistemasIntroducción a la ing sistemas
Introducción a la ing sistemasviviana19s
 
programacion
programacionprogramacion
programacion
NotLeooFF
 
Conceptos basicos de lenguajes de programacion
Conceptos basicos de lenguajes de programacionConceptos basicos de lenguajes de programacion
Conceptos basicos de lenguajes de programacion
Ashley Stronghold Witwicky
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
kfacu
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1Germania Rodriguez
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
FabricioMontero9
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
FabricioMontero9
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
Marquina, Santiago
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
José Tomás Diarte Añazco
 

Similar a Lenguajes de programación: Paradigmas de Programación (20)

Lenguajes de Programación. Conceptos.ppt
Lenguajes de Programación. Conceptos.pptLenguajes de Programación. Conceptos.ppt
Lenguajes de Programación. Conceptos.ppt
 
Tema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptxTema 2 Lenguajes de Programación - Final.pptx
Tema 2 Lenguajes de Programación - Final.pptx
 
ingenieria de software
ingenieria de softwareingenieria de software
ingenieria de software
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
TEMA Nº 1
TEMA Nº 1TEMA Nº 1
TEMA Nº 1
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Conceptos Básicos de Programación
Conceptos Básicos de ProgramaciónConceptos Básicos de Programación
Conceptos Básicos de Programación
 
Teoria de los lenguajes de programacion
Teoria de los lenguajes de programacionTeoria de los lenguajes de programacion
Teoria de los lenguajes de programacion
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Introducción a la ing sistemas
Introducción a la ing sistemasIntroducción a la ing sistemas
Introducción a la ing sistemas
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
programacion
programacionprogramacion
programacion
 
Conceptos basicos de lenguajes de programacion
Conceptos basicos de lenguajes de programacionConceptos basicos de lenguajes de programacion
Conceptos basicos de lenguajes de programacion
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Automatas y compiladores clase1
Automatas y compiladores clase1Automatas y compiladores clase1
Automatas y compiladores clase1
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Introducción al Lenguaje de Programación
Introducción al Lenguaje de ProgramaciónIntroducción al Lenguaje de Programación
Introducción al Lenguaje de Programación
 

Más de Luis Fernando Aguas Bucheli (20)

EFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptxEFC-ISW-Luis Fernando Aguas.pptx
EFC-ISW-Luis Fernando Aguas.pptx
 
P-S2.pptx
P-S2.pptxP-S2.pptx
P-S2.pptx
 
EBTS-S1.pptx
EBTS-S1.pptxEBTS-S1.pptx
EBTS-S1.pptx
 
P-S3.pptx
P-S3.pptxP-S3.pptx
P-S3.pptx
 
EBTS-S4.pptx
EBTS-S4.pptxEBTS-S4.pptx
EBTS-S4.pptx
 
P-S4.pptx
P-S4.pptxP-S4.pptx
P-S4.pptx
 
P-S1.pptx
P-S1.pptxP-S1.pptx
P-S1.pptx
 
EBTS-S3.pptx
EBTS-S3.pptxEBTS-S3.pptx
EBTS-S3.pptx
 
EBTS-S2.pptx
EBTS-S2.pptxEBTS-S2.pptx
EBTS-S2.pptx
 
PDIDTI-S7.pptx
PDIDTI-S7.pptxPDIDTI-S7.pptx
PDIDTI-S7.pptx
 
PDIDTI-S4.pptx
PDIDTI-S4.pptxPDIDTI-S4.pptx
PDIDTI-S4.pptx
 
PDIDTI-S2.pptx
PDIDTI-S2.pptxPDIDTI-S2.pptx
PDIDTI-S2.pptx
 
PDIDTI-S1.pptx
PDIDTI-S1.pptxPDIDTI-S1.pptx
PDIDTI-S1.pptx
 
PDIDTI-S8.pptx
PDIDTI-S8.pptxPDIDTI-S8.pptx
PDIDTI-S8.pptx
 
PDIDTI-S6.pptx
PDIDTI-S6.pptxPDIDTI-S6.pptx
PDIDTI-S6.pptx
 
PDIDTI-S5.pptx
PDIDTI-S5.pptxPDIDTI-S5.pptx
PDIDTI-S5.pptx
 
PDIDTI-S3.pptx
PDIDTI-S3.pptxPDIDTI-S3.pptx
PDIDTI-S3.pptx
 
TIC-S4.pptx
TIC-S4.pptxTIC-S4.pptx
TIC-S4.pptx
 
TIC-S3.pptx
TIC-S3.pptxTIC-S3.pptx
TIC-S3.pptx
 
TIC-S2.pptx
TIC-S2.pptxTIC-S2.pptx
TIC-S2.pptx
 

Último

el manual esn el mejor amigo del mecanico
el manual esn el mejor amigo del mecanicoel manual esn el mejor amigo del mecanico
el manual esn el mejor amigo del mecanico
JoseAmtonioVillelaBe
 
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
JoseAmtonioVillelaBe
 
Modulo diesel inyeccion directa e indirecta.pdf
Modulo diesel inyeccion directa e indirecta.pdfModulo diesel inyeccion directa e indirecta.pdf
Modulo diesel inyeccion directa e indirecta.pdf
profesorhugorosa
 
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodkjddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
jhoanpepe08
 
Gastos-por-Vehiculos.pdfcccccccccccccccc
Gastos-por-Vehiculos.pdfccccccccccccccccGastos-por-Vehiculos.pdfcccccccccccccccc
Gastos-por-Vehiculos.pdfcccccccccccccccc
MaryCastilloJimenez1
 
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptxCICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
CarlosACompean
 
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOSVEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
sgmauriciosg
 
manual Renault Sandero Stepway. Privilege pdf
manual Renault Sandero Stepway. Privilege pdfmanual Renault Sandero Stepway. Privilege pdf
manual Renault Sandero Stepway. Privilege pdf
ssuserccc3a8
 
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdfManual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
RoyerMamani21
 
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
ahmedendrise81
 
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docxSESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
RoxanaTorpocoVillar
 
CATALOGO DE REFACCIONES ATV150-REVERSA.pdf
CATALOGO DE REFACCIONES ATV150-REVERSA.pdfCATALOGO DE REFACCIONES ATV150-REVERSA.pdf
CATALOGO DE REFACCIONES ATV150-REVERSA.pdf
Oscar698221
 
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoqinicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
1637212006
 

Último (13)

el manual esn el mejor amigo del mecanico
el manual esn el mejor amigo del mecanicoel manual esn el mejor amigo del mecanico
el manual esn el mejor amigo del mecanico
 
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
527960595-Motores-GDI-con-la-Inyeccion-Directa-de-Gasolina.ppt
 
Modulo diesel inyeccion directa e indirecta.pdf
Modulo diesel inyeccion directa e indirecta.pdfModulo diesel inyeccion directa e indirecta.pdf
Modulo diesel inyeccion directa e indirecta.pdf
 
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodkjddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
jddkdoqkwodkoekdeokdkoekoedkeodkokdeokdeodk
 
Gastos-por-Vehiculos.pdfcccccccccccccccc
Gastos-por-Vehiculos.pdfccccccccccccccccGastos-por-Vehiculos.pdfcccccccccccccccc
Gastos-por-Vehiculos.pdfcccccccccccccccc
 
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptxCICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
CICLO DE VAPOR EN TERMODINAMICA Y SUS EVOLUCIONES.pptx
 
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOSVEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOS
 
manual Renault Sandero Stepway. Privilege pdf
manual Renault Sandero Stepway. Privilege pdfmanual Renault Sandero Stepway. Privilege pdf
manual Renault Sandero Stepway. Privilege pdf
 
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdfManual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
Manual-de-Usuario-TVS-PERU-21-02-23-Apache-RTR-180 (1).pdf
 
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
外围买球-外围买球网站-外围买球|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
 
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docxSESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
SESIÓN LEEMOS JUNTOS DÍA DE LA TIERRA MAESTRA JANET.docx
 
CATALOGO DE REFACCIONES ATV150-REVERSA.pdf
CATALOGO DE REFACCIONES ATV150-REVERSA.pdfCATALOGO DE REFACCIONES ATV150-REVERSA.pdf
CATALOGO DE REFACCIONES ATV150-REVERSA.pdf
 
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoqinicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
inicam.pdfgahsjhjdOHGYWQUOIWhjwiqou3iyvguoq
 

Lenguajes de programación: Paradigmas de Programación

  • 1. Lenguajes de Programación Paradigmas de Programación Autor(es): • Mtr. Luis Fernando Aguas
  • 2. Indice 1.¿ Qué es un lenguaje de programación ? 2.Abstracciones 3.Paradigmas de computación 4.Definición del lenguaje 5.Traducción del lenguaje 6.Historia 7.Preguntas
  • 3. 1.1 ¿ Qué es un LP ? • Computación • MáquinaTuring, tesis de Church • Legibilidad por parte de la máquina • Legibilidad por parte del ser humano Definición: Un lenguaje de programación es un sistema notacional para describir computaciones de una forma legible tanto para la máquina como para el ser humano.
  • 4.
  • 5. 1.2 Características • Eficiencia • Expresividad • Capacidad de mantenimiento • Legibilidad • Confiabilidad • Seguridad • Simplicidad • Productividad
  • 6. 1.3 Abstracciones • Clases: Datos y control • Niveles: básicas, estructuradas y unitarias Abstracciones de datos: ● Básicas: tipos básicos (enteros, reales, ...) ● Estructuradas: tipos estructurados (arreglos, registros) ● Unitarias: Tipos abstractos de datos (TDAs), paquetes, módulos, clases, componentes
  • 7. 1.3 Abstracciones • Abstracciones de control • Básicas: asignación, goto • Estructuradas: condicionales e iteradores • Unitarias: paquetes, módulos, hilos y tareas. Un lenguaje de programación es completo en Turing siempre que tenga variables enteras y aritméticas, y que ejecute enunciados en forma secuencial, incluyendo enunciados de asignación, selección e iteración.
  • 8. 1.4 Paradigmas de programación • Imperativo • modelo deVon Neuman, cuello de botella deVon Neuman • Orientado a Objetos • TDAs, encapsulación, modularidad, reutilización • Funcional • noción abstracta de función, cálculo lambda, recursividad, listas • Lógico • Lógica simbólica, programación declarativa
  • 9. Paradigmas de Lenguajes • Se reconoce generalmente 4 paradigmas de programación: • Imperativo (Estructurado) • Aplicativo (Funcional) • Orientado a Objetos • Lógico
  • 10. Lenguajes Imperativos • Su objetivo es entender y definir el estado de la máquina (conjunto de posiciones de memorias, cada una conteniendo un valor). • Lenguajes orientados a instrucciones • El programa consiste en elaborar un conjunto de instrucciones para que la máquina llegue a la respuesta. • Ejemplos: C, Fortran, Pascal, Cobol • Sintaxis: S1, S2, S3, S4, …
  • 11. Lenguajes Imperativos  Programación: serie de pasos (input, cálculo, ouput).  Elementos: abstracción procedural, asignación, loops, secuencias, condicionales.
  • 12. Lenguajes Funcionales • Su objetivo es entender la función que produciría la respuesta deseada. • Es orientada hacia la composición de funciones. • Programar consiste en construir la función que halle la respuesta. • Ejemplos: ML, Lisp, Scheme, Haskell • Sintaxis: F1(F2(F3(x)))
  • 13. Lenguajes Funcionales • Programación: colección de funciones que se combinan en formas complejas para construir nuevas funciones. • Elementos: alto orden, composición, recursión.
  • 14. Orientados a Objetos • Su objetivo es modelar el problema con elementos similares a los realmente presentes. • Programar significa generar objetos que intercambian mensajes entre si para resolver un problema. • Ejemplos: Smalltalk, C++, Java, Squeak, C# • Sintáxis: O1 ->mensaje-> O2.
  • 15. Orientados a Objetos • Lenguajes imperativos que unen diseños aplicativos con sentencias imperativas. • Sintaxis: Conjunto de objetos (clases) conteniendo datos (concepto imperativo) y métodos (conceptos aplicativos). • Programación: colección de objetos que interactúan pasándose mensajes que transforman estados. • Elementos: modelado de objetos, clases, herencia, encapsulamiento.
  • 16. Lenguajes Lógicos • Definen reglas para decidir cuando la respuesta ha sido alcanzada. • Utiliza un conjunto de reglas para deducir los atributos de la respuesta. • Ejemplos: Prolog • Sintaxis: Regla -> Conclusión
  • 17. 1.5 Definición del lenguaje • Sintaxis (estructura) • Gramáticas libres de contexto, estructura léxica, tokens • Semántica (significado) • Lenguaje natural • Semántica operacional • Semántica denotacional
  • 18. 1.6Traducción del lenguaje • Traductor es un programa que acepta otros programas escritos en un lenguaje y: • los ejecuta directamente (interprete) • los transforma en una forma adecuada para su ejecución (compilador). entrada código fuente salidaintérprete
  • 19. 1.6Traducción • Pseudointérpretes: intermedio entre interprete y compilador: lenguajes intermedios • Operaciones de un traductor: analizador léxico (tokens), analizador sintáctico, analizador semántico, preprocesador código fuente traducción adicional compilación código objeto código ejecutable
  • 20. 1.6Traducción • Tiempo de compilación y tiempo de ejecución • Propiedades estáticas: tiempo de compilación • Propiedades dinámicas: tiempo de ejecución • Recuperación de errores (compilación y ejecución) • Eficiencia y optimización (compilación o ejecución)
  • 21. 1.7 Historia FORTRAN AlGOL 60 COBOL 50 60 70 80 90 Simula Smalltalk Pascal Ada C PL/I LISP ML Miranda Prolog
  • 22. 1.7 Historia 1950 1960 1970 1980 1990 Fortran(54) PL/I(66) Ada(95) Java(96) Basic(66) C(72) Pascal(70) Cobol(58) Algol(60) Simula(67) Smalltalk(80) C++(89) ENSAMBLADOR Eiffel (86) Ada(83)
  • 23.
  • 24. ¿Qué hace a un lenguaje bueno? • Naturalidad de la aplicación • La estructura del programa refleja la estructura lógica del algoritmo. • Cada lenguaje generalmente se especializa en un campo de acción determinado y es más fácil resolver ciertos problemas con él.
  • 25. ¿Qué hace a un lenguaje bueno? • Facilidad de verificación • Debe proveer una manera de corroborar que el programa efectivamente realiza su tarea. • Una sintaxis sencilla facilita la verificación.
  • 26. ¿Qué hace a un lenguaje bueno? • Ambiente de programación • Debe contar con un entorno que facilite la programación en el lenguaje. • Generalmente lenguajes no tan buenos, pero que tienen un buen entorno de programación, son más usados en el mercado.
  • 27. ¿Qué hace a un lenguaje bueno? • Portabilidad • Que tan fácil se puede transportar la aplicación de la máquina en que se desarrolló a otras máquinas donde va a ser ejecutada. • El mejor ejemplo de esto es programación para Internet.
  • 28. ¿Qué hace a un lenguaje bueno? • Costo de uso • Costo de ejecución • Costo de traducción • Costo de creación, prueba y uso • Costo de mantenimiento