LENGUAJES DE PROGRAMACION
-
Upload
diego-baroja -
Category
Documents
-
view
2.447 -
download
3
description
Transcript of LENGUAJES DE PROGRAMACION
![Page 1: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/1.jpg)
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA
COMPILADORES
SEMESTRE MARZO - JULIO 2012INSTRUCTOR: DIEGO BAROJA LLANOS
INGENIERO INFORMATICO
CARRERA: ING. EN SISTEMAS
![Page 2: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/2.jpg)
PRESENTACION El profesional en formación tendrá la capacidad de desarrollar:
análisis, toma de decisiones; con un pensamiento lógico, reflexivo y creativo bien fundamentado.
En muchas ocasiones, la selección de una herramienta de desarrollo se hace al azar y sin un previo análisis de sus beneficios. La diferenciación entre traductor, intérprete y compilador unido al conocimiento sobre las funciones que desempeñan cada una de las etapas que los conforman, constituyen un criterio válido al momento de seleccionar una u otra herramienta de la amplia gama existente en el mercado.
La asignatura Compiladores provee las bases teóricas necesarias para la adecuada selección de una herramienta de desarrollo mediante el análisis de programas computacionales existentes en el mercado.
![Page 3: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/3.jpg)
METODOLOGIA Presentación del Tema Diagnóstico Lluvia de preguntas e ideas Explicación y exposición del docente Revisión de clases anteriores. Re - alimentación. Trabajos en equipos (en clase y fuera de ella) Lecturas Exposiciones de estudiantes Revisión de Documentos de apoyo Elaboración de Diagramas (Mapas Conceptuales, Mentefactos, etc..) Trabajos individuales Comentarios. Ejercicios de aplicación Debates Talleres en general. Formulación de casos prácticos, por parte del docente. Reconocimiento del mercado y clase de problemas por parte de los estudiantes. Determinar los resultados obtenidos. Investigación bibliográfica y de campo, para determinar casos obtenidos
![Page 4: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/4.jpg)
RECURSOSRecursos Materiales.Marcadores no permanentes (tiza líquida).TextosAudiovisualesComputadorAcetatos- Internet (computador)- RetroproyectorSoftware Sistema Operativo WindowsVisual . Net C# .C++Software Ejemplo facilitado por el Tutor
![Page 5: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/5.jpg)
ACREDITACIONES
TIEMPOS EVALUACIONES PTOS
PRIMER PARCIAL Pruebas
Talleres y Actuación en Clase
Deberes
Asistencia
8
3
3
1
Total 15
SEGUNDA PARCIAL Pruebas
Proyecto
Talleres y Actuación en Clase
Deberes
Asistencia
5
5
2
2
1
Total 15
FINAL Examen Final 20
![Page 6: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/6.jpg)
SISTEMA DE EVALUACION La evaluación se basará en:
Trabajos de grupo (talleres). Trabajo individual Exposiciones. Investigaciones. Pruebas escritas. Asistencia y puntualidad
Evaluación Cognitiva.- Pruebas, exámenes, trabajos, consultas. Evaluación Actitudinal.- Puntualidad, Predisposición al trabajo,
Talleres en Grupo. Evaluación Procedimental.- Aplicación oportuna de conocimientos
para resolver problemas; procedimientos y estrategias aplicadas por los estudiantes en la solución de cuestionamientos.
![Page 7: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/7.jpg)
Fecha de Entrega de Calificaciones.
Primera parcial 14/05/2012
Segunda Parcial 07/07/2012
Examen del 9 al 14 de Julio 2012
![Page 8: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/8.jpg)
Temas Que es un programa? Que es un lenguaje de
programación? Características de los lenguajes de
programación Paradigmas de programación
![Page 9: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/9.jpg)
Qué es un programa? La unión de una secuencia de
instrucciones que un computador puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la información sobre la que la operan las instrucciones
![Page 10: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/10.jpg)
Que es un lenguaje de programación? Es una técnica de comunicación
estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente un computador)
Como los lenguajes humanos, los lenguajes de programación tienen reglas sintácticas y semánticas para definir el significado
![Page 11: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/11.jpg)
Que es un lenguaje de programación? Herramienta que permite a un
programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias
![Page 12: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/12.jpg)
Que es un lenguaje de programación? Ejemplos:
Visual BasicC/C++JAVAFORTRANLISP
![Page 13: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/13.jpg)
Características de los lenguajes de programación Tipos de datos Estructuras de datos Instrucciones y Control de flujo Filosofía de diseño Compilación e Interpretación
![Page 14: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/14.jpg)
Tipos de datos Internamente, todos los datos de los
computadores tradicionales están guardados simplemente como ceros o unos(binario)
Un solo valor en memoria puede ser interpretado de múltiples formas:
10010110“Hola”Azul – Rojo – Verde150
![Page 15: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/15.jpg)
Estructuras de Datos Variables
Arreglos
Listas
205
59 32 10
6
9 36
23
90 2 3 4 6
![Page 16: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/16.jpg)
Instrucciones y Control de flujo
int a = 0;while (a!=10){
if (a==5){cout << “La variable a va en 5”;
}a++;
}b=a
![Page 17: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/17.jpg)
Filosofía de diseño Cada lenguaje se desarrolla de
acuerdo a un diseño especial o una filosofía
Estos están ligados al paradigma de programación a utilizar
Se refiere a la forma de hacer las cosas
![Page 18: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/18.jpg)
Compilación e Interpretación Interptetes: analizan las
instrucciones una a una y las ejecutan directamente
Compiladores: convierten el código fuente a código de maquina para ser ejecutado posteriormente
![Page 19: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/19.jpg)
Paradigmas de programación Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lógico Multiparadigma Orientado a objetos Scripting
![Page 20: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/20.jpg)
Lenguajes Declarativos Describen un problema mas que
definir una solución Todos los lenguajes puramente
funcionales y lógicos son Declarativos
Ejemplos: ABSET, Lustre, MetaPost, Prolog, SQL, XSL Transformations
![Page 21: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/21.jpg)
Lenguajes Funcionales Definen programas y subrutinas
como funciones matematicas Muchos de estos lenguajes estan
unidos a herramientas de calculo matematico
Ejemplos: Clean, Erlang, Haskell, Mathematica
![Page 22: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/22.jpg)
Lenguajes basados en logica Especifican un conjunto de atributos que
una solución debe tener, en vez de un conjunto de pasos para obtener la solución
En este paradigma se definen reglas lógicas y luego un motor de inferencia lógico permite extraer conclusiones o responder a preguntas planteadas al sistema
Ejemplos: ALF, Curry, Prolog, Oz
![Page 23: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/23.jpg)
Scripts En un sentido tradicional, los scripts
están diseñados para automatizar tareas usadas frecuentemente que usualmente tienen que ver con llamar o pasar comandos a programas externos
![Page 24: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/24.jpg)
Scripts Muchos programas de aplicación
complejos dejan a los usuarios implementar funciones personalizadas proveyéndoles de un lenguaje propio.
Muchos de estos deciden utilizar lenguajes de scripting tradicionales como el Perl o Visual Basic
![Page 25: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/25.jpg)
Scripts Ejemplos:
ActionScriptJavaScriptPerlPHPPhytonRuby
![Page 26: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/26.jpg)
Programación imperativa Opuesta a la programación
declarativa, este paradigma describe la computación en términos de un estado del programa y de unas instrucciones que cambian dicho estado.
Los programas imperativos son una secuencia de comandos para que el computador realice
![Page 27: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/27.jpg)
Programacion Estructurada Hace uso de las estructuras de
control de flujo Es Turing completa, esto quiere
decir que todo algoritmo computable puede ser escrito en términos de programación estructurada
![Page 28: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/28.jpg)
Programación procedimental Es un paradigma de programación basado
en el concepto de “llamado de procedimientos”
Procedimientos, tambien conocidos como rutinas, subrutinas, metodos o funciones simplemente consienen series de pasos computacionales.
Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecucion de un programa, incluyendo otros procedimientos o en él mismo
![Page 29: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/29.jpg)
Programación procedimental Ejemplos:
CBasicCOBOLMatlabPascal
![Page 30: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/30.jpg)
Programación Orientada a Objetos La idea detrás de la POO, es que un
programa de computador puede ser visto como abarcando una colección de unidades individuales, objetos, que actúan unos con otros
Opuesto a la forma de ver tradicional en la cual un programa debe ser visto como una colección de procedimientos o simplemente una lista de instrucciones para el computador
![Page 31: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/31.jpg)
Programación Orientada a Objetos Cada objeto es capaz de recibir
mensajes, procesar datos, y enviar mensajes a otros objetos.
Es la unión de la programación estructurada y procedimental con los tipos de datos abstractos
![Page 32: LENGUAJES DE PROGRAMACION](https://reader033.fdocuments.es/reader033/viewer/2022061210/548fecd3b47959d04d8b45b5/html5/thumbnails/32.jpg)
Programación Orientada a Objetos Ejemplos:
C++JAVARubySmallTalkC#Delphi