SlideShare una empresa de Scribd logo
Lenguajes de Programación
Tema 1. Introducción y
conceptos generales
Pedro García López
pgarcia@etse.urv.es/
Copyright
• © University Rovira i Virgili
• Permission is granted to copy, distribute and/or
modify this document under the terms of the GNU
Free Documentation License, Version 1.1 or any
later version published by the Free Software
Foundation; provided its original author is
mentioned and the link to http://libre.act-europe.fr/
is kept at the bottom of every non-title slide. A
copy of the license is available at:
• http://www.fsf.org/licenses/fdl.html
LENGUAJES DE PROGRAMACIÓN
Presentación de los diferentes paradigmas de los
lenguajes de programación. Así como de sus
carácterísticas fundamentales. Introducción a un
lenguaje típico de cada paradigma. Análisis de los
conceptos clave sobre los que se construyen los
diferentes lenguajes. Introducción a las formas de
descripción formal de los lenguajes de programación.
Objetivos
LENGUAJES DE PROGRAMACIÓN
I - Introducción (5h). Conceptos y constructores. Descripciones
formales: sintaxis y semántica. Paradigmas del los lenguajes de
programación. Breve repaso histórico.
II - Paradigmas de los lenguatges de programación (35h).
Paradigma funcional: Haskell. Paradigma lógico: Prolog.
Paradigma imperativo: Ada. Programación orientada a objetos:
Smalltalk, Java.
III - Conceptos y constructores (10h). Valores.
Almacenamiento y variables. Enlaces (bindings). Abstracción.
Encapsulación. Sistema de tipos. Secuenciadores.
Programa
LENGUAJES DE PROGRAMACIÓN
IV - Descripción formal de los lenguajes de programación
(8h). Sintaxis. Semántica. Modelos de los lenguajes de
programación.
V - Conclusiones (2h).
Programa
LENGUAJES DE PROGRAMACIÓN
•“Lenguaje de programación, principios y práctica”,
Segunda edición. Kenneth C Louden. Thomson 2004.
•"Programming Language Concepts and Paradigms
D. A.Watt Ed.Prentice-Hall, 1990
•"Programming Language Syntax and Semantics
D. A.Watt Ed.Prentice-Hall, 1990.
•"Programming in PROLOG”
W. F.Clocksin, C.S.Mellish Ed.Springer.
•“Introducción a la programación funcional con
Haskell. “ Richard Bird, Ed.Prentice-Hall, 1999.
Bibliografía
Bibliografía
• Construcción de Software Orientado a
Objetos. Bertrand Meyer.
• Java, How to program. 6/E. Deitel & Deitel
Evaluación
• Examen (Febrero) 50 %
– 75% POO, 25% Funcional y Lógico
• Prácticas 50%
– Grupos unipersonales
– Lenguajes: Java, Python, Haskell, Prolog
• Se hace media en Febrero a partir de 4
• Tutorías:
– tutorias_etse@hotmail.com (MSN)
– pgarcia@etse.urv.es
– Despacho 238
Asignaturas relacionadas
• Programación 1
• Programación 2
• Estructuras de datos
• Lenguajes, Gramáticas y autómatas
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áquina Turing, 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 de Von Neuman, cuello de botella de
Von 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
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.6 Traducció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.6 Traducció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.6 Traducció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)
1.8 Preguntas
• Clasifica los siguientes lenguajes (C, Ada,
C++, Java, LISP, Prolog, Visual Basic,
JavaScript, C#, PHP) en base a :
– Paradigma
– tipos de traductor (compilador, interprete,
pseudointérprete)
– Propiedades estáticas y dinámicas
– Eficiencia
• Extraed conclusiones de esta clasificación
1.8 Preguntas
• Evalua los lenguajes del punto anterior
respecto a las características del punto 1.2
• Extrae conclusiones de las dos
clasificaciones

Más contenido relacionado

Destacado

Conferencia1
Conferencia1Conferencia1
Conferencia1
alexsmallville
 
Paradigmas
ParadigmasParadigmas
Paradigmas
mavega
 
Paradigmas
ParadigmasParadigmas
Clase02 paradigmas
Clase02 paradigmasClase02 paradigmas
Clase02 paradigmas
Manuel Hormechea
 
DRUPAL - caracteristicas
DRUPAL - caracteristicasDRUPAL - caracteristicas
DRUPAL - caracteristicas
Pablo D. Torres D.
 
Paradigma de Lenguaje de Programaciòn
Paradigma de Lenguaje de ProgramaciònParadigma de Lenguaje de Programaciòn
Paradigma de Lenguaje de Programaciòn
Eriick Leon
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
Sergio Lara Guevara
 

Destacado (7)

Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Clase02 paradigmas
Clase02 paradigmasClase02 paradigmas
Clase02 paradigmas
 
DRUPAL - caracteristicas
DRUPAL - caracteristicasDRUPAL - caracteristicas
DRUPAL - caracteristicas
 
Paradigma de Lenguaje de Programaciòn
Paradigma de Lenguaje de ProgramaciònParadigma de Lenguaje de Programaciòn
Paradigma de Lenguaje de Programaciòn
 
Unidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatasUnidad1 Lenguajes y automatas
Unidad1 Lenguajes y automatas
 

Similar a Tema1 prog logica

programacion
programacionprogramacion
programacion
NotLeooFF
 
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
 
intro_lenguajes.pptx
intro_lenguajes.pptxintro_lenguajes.pptx
intro_lenguajes.pptx
oviroger
 
Principales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacionPrincipales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacion
Marco Muñoz
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSP
Chelo Vargas
 
El estudio de los lenguajes de programacion
El estudio de los lenguajes de programacionEl estudio de los lenguajes de programacion
El estudio de los lenguajes de programacion
Ashley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
Ashley Stronghold Witwicky
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
farmero
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
Oscar Delgado
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
Samuel A' Díaz
 
Linea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacionLinea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacion
Jesus22barrera
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22
soto0106
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
Alejandra Vargas
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologia
IvnMariano
 
Contratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion finalContratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion final
Atahualpa Acosta
 
Libro numero 2
Libro numero 2Libro numero 2
Libro numero 2
torresmigueljose
 
Lenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetosLenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetos
RicardoAlbertoSalmor
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
Ly Andre
 
Cuestionario2
Cuestionario2Cuestionario2
Cuestionario2
hoppii
 

Similar a Tema1 prog logica (20)

programacion
programacionprogramacion
programacion
 
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
 
intro_lenguajes.pptx
intro_lenguajes.pptxintro_lenguajes.pptx
intro_lenguajes.pptx
 
Principales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacionPrincipales características de 10 lenguajes de programacion
Principales características de 10 lenguajes de programacion
 
lenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSPlenguaje especialidad, corpus, LSP
lenguaje especialidad, corpus, LSP
 
El estudio de los lenguajes de programacion
El estudio de los lenguajes de programacionEl estudio de los lenguajes de programacion
El estudio de los lenguajes de programacion
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Linea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacionLinea de tiempo de la historia de los lenguajes de programacion
Linea de tiempo de la historia de los lenguajes de programacion
 
Lenguajes de programacion22
Lenguajes de programacion22Lenguajes de programacion22
Lenguajes de programacion22
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologia
 
Contratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion finalContratos fuertes y debiles presentacion final
Contratos fuertes y debiles presentacion final
 
Libro numero 2
Libro numero 2Libro numero 2
Libro numero 2
 
Lenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetosLenguajes de programacion orientada a objetos
Lenguajes de programacion orientada a objetos
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Cuestionario2
Cuestionario2Cuestionario2
Cuestionario2
 

Más de Universidad Centroamericana

Drive2
Drive2Drive2
Drive
DriveDrive
Drive (pasos resumidos)
Drive (pasos resumidos)Drive (pasos resumidos)
Drive (pasos resumidos)
Universidad Centroamericana
 
Actividad de drive
Actividad de driveActividad de drive
Actividad de drive
Universidad Centroamericana
 
Calendario
CalendarioCalendario
Gestión en gmail
Gestión en gmailGestión en gmail
Gestión en gmail
Universidad Centroamericana
 
Administración gmail
Administración gmailAdministración gmail
Administración gmail
Universidad Centroamericana
 
Creación gmail
Creación gmailCreación gmail
Búsqueda de información
Búsqueda de informaciónBúsqueda de información
Búsqueda de información
Universidad Centroamericana
 

Más de Universidad Centroamericana (9)

Drive2
Drive2Drive2
Drive2
 
Drive
DriveDrive
Drive
 
Drive (pasos resumidos)
Drive (pasos resumidos)Drive (pasos resumidos)
Drive (pasos resumidos)
 
Actividad de drive
Actividad de driveActividad de drive
Actividad de drive
 
Calendario
CalendarioCalendario
Calendario
 
Gestión en gmail
Gestión en gmailGestión en gmail
Gestión en gmail
 
Administración gmail
Administración gmailAdministración gmail
Administración gmail
 
Creación gmail
Creación gmailCreación gmail
Creación gmail
 
Búsqueda de información
Búsqueda de informaciónBúsqueda de información
Búsqueda de información
 

Último

Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACIONANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
carla466417
 
proyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptxproyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptx
ChristianGmez48
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
https://gramadal.wordpress.com/
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
Alejandrino Halire Ccahuana
 
PLAN 365 Presentación Gobierno 2024 (1).pdf
PLAN 365 Presentación Gobierno 2024  (1).pdfPLAN 365 Presentación Gobierno 2024  (1).pdf
PLAN 365 Presentación Gobierno 2024 (1).pdf
ElizabethLpez634570
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
genesiscabezas469
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
Ana Fernandez
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
Mapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluaciónMapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluación
ruthmatiel1
 
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptxREGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
RiosMartin
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
JorgeVillota6
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
Fernández Gorka
 
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdf
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdfEstás conmigo Jesús amigo_letra y acordes de guitarra.pdf
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdf
Ani Ann
 
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdfAPUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
VeronicaCabrera50
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 

Último (20)

Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACIONANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
ANALISIS CRITICO DEL PENSAMIENTO COLONIAL Y DESCOLONIZACION
 
proyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptxproyectoszona21para el logro de real.pptx
proyectoszona21para el logro de real.pptx
 
Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)Power Point: El conflicto inminente (Bosquejo)
Power Point: El conflicto inminente (Bosquejo)
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
 
PLAN 365 Presentación Gobierno 2024 (1).pdf
PLAN 365 Presentación Gobierno 2024  (1).pdfPLAN 365 Presentación Gobierno 2024  (1).pdf
PLAN 365 Presentación Gobierno 2024 (1).pdf
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
Mapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluaciónMapa Mental documentos que rigen el sistema de evaluación
Mapa Mental documentos que rigen el sistema de evaluación
 
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptxREGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
REGLAMENTO DE FALTAS Y SANCIONES DEL MAGISTERIO 2024.pptx
 
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsadUrkuninaLab.pdfsadsadasddassadsadsadasdsad
UrkuninaLab.pdfsadsadasddassadsadsadasdsad
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍACINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
CINE COMO RECURSO DIDÁCTICO para utilizar en TUTORÍA
 
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdf
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdfEstás conmigo Jesús amigo_letra y acordes de guitarra.pdf
Estás conmigo Jesús amigo_letra y acordes de guitarra.pdf
 
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdfAPUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
APUNTES UNIDAD I ECONOMIA EMPRESARIAL .pdf
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 

Tema1 prog logica

  • 1. Lenguajes de Programación Tema 1. Introducción y conceptos generales Pedro García López pgarcia@etse.urv.es/
  • 2. Copyright • © University Rovira i Virgili • Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; provided its original author is mentioned and the link to http://libre.act-europe.fr/ is kept at the bottom of every non-title slide. A copy of the license is available at: • http://www.fsf.org/licenses/fdl.html
  • 3. LENGUAJES DE PROGRAMACIÓN Presentación de los diferentes paradigmas de los lenguajes de programación. Así como de sus carácterísticas fundamentales. Introducción a un lenguaje típico de cada paradigma. Análisis de los conceptos clave sobre los que se construyen los diferentes lenguajes. Introducción a las formas de descripción formal de los lenguajes de programación. Objetivos
  • 4. LENGUAJES DE PROGRAMACIÓN I - Introducción (5h). Conceptos y constructores. Descripciones formales: sintaxis y semántica. Paradigmas del los lenguajes de programación. Breve repaso histórico. II - Paradigmas de los lenguatges de programación (35h). Paradigma funcional: Haskell. Paradigma lógico: Prolog. Paradigma imperativo: Ada. Programación orientada a objetos: Smalltalk, Java. III - Conceptos y constructores (10h). Valores. Almacenamiento y variables. Enlaces (bindings). Abstracción. Encapsulación. Sistema de tipos. Secuenciadores. Programa
  • 5. LENGUAJES DE PROGRAMACIÓN IV - Descripción formal de los lenguajes de programación (8h). Sintaxis. Semántica. Modelos de los lenguajes de programación. V - Conclusiones (2h). Programa
  • 6. LENGUAJES DE PROGRAMACIÓN •“Lenguaje de programación, principios y práctica”, Segunda edición. Kenneth C Louden. Thomson 2004. •"Programming Language Concepts and Paradigms D. A.Watt Ed.Prentice-Hall, 1990 •"Programming Language Syntax and Semantics D. A.Watt Ed.Prentice-Hall, 1990. •"Programming in PROLOG” W. F.Clocksin, C.S.Mellish Ed.Springer. •“Introducción a la programación funcional con Haskell. “ Richard Bird, Ed.Prentice-Hall, 1999. Bibliografía
  • 7. Bibliografía • Construcción de Software Orientado a Objetos. Bertrand Meyer. • Java, How to program. 6/E. Deitel & Deitel
  • 8. Evaluación • Examen (Febrero) 50 % – 75% POO, 25% Funcional y Lógico • Prácticas 50% – Grupos unipersonales – Lenguajes: Java, Python, Haskell, Prolog • Se hace media en Febrero a partir de 4 • Tutorías: – tutorias_etse@hotmail.com (MSN) – pgarcia@etse.urv.es – Despacho 238
  • 9. Asignaturas relacionadas • Programación 1 • Programación 2 • Estructuras de datos • Lenguajes, Gramáticas y autómatas
  • 10. 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
  • 11. 1.1 ¿ Qué es un LP ? • Computación – Máquina Turing, 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.
  • 12. 1.2 Características • Eficiencia • Expresividad • Capacidad de mantenimiento • Legibilidad • Confiabilidad • Seguridad • Simplicidad • Productividad
  • 13. 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
  • 14. 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.
  • 15. 1.4 Paradigmas de programación • Imperativo – modelo de Von Neuman, cuello de botella de Von 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
  • 16. 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
  • 17. 1.6 Traducció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
  • 18. 1.6 Traducció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
  • 19. 1.6 Traducció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)
  • 20. 1.7 Historia FORTRAN AlGOL 60 COBOL 50 60 70 80 90 Simula Smalltalk Pascal Ada C PL/I LISP ML Miranda Prolog
  • 21. 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)
  • 22. 1.8 Preguntas • Clasifica los siguientes lenguajes (C, Ada, C++, Java, LISP, Prolog, Visual Basic, JavaScript, C#, PHP) en base a : – Paradigma – tipos de traductor (compilador, interprete, pseudointérprete) – Propiedades estáticas y dinámicas – Eficiencia • Extraed conclusiones de esta clasificación
  • 23. 1.8 Preguntas • Evalua los lenguajes del punto anterior respecto a las características del punto 1.2 • Extrae conclusiones de las dos clasificaciones