lenguajes de programacion
DESCRIPTION
Lenguajes de programación. Clasificación de los lenguajes de programación. Según su grado de independencia de la máquina. Según la forma de sus instrucciones. Clasificación de los lenguajes por generaciones. Ventajas e inconvenientes de los lenguajes de alto nivel. Otros lenguajes.TRANSCRIPT
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA
COMPILADORES
SEMESTRE MARZO - JULIO 2012INSTRUCTOR: DIEGO BAROJA LLANOS
INGENIERO INFORMATICO
CARRERA: ING. EN SISTEMAS
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.
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
RECURSOSRecursos Materiales.Marcadores no permanentes (tiza líquida).TextosAudiovisualesComputadorAcetatos- Internet (computador)- RetroproyectorSoftware Sistema Operativo WindowsVisual . Net C# .C++Software Ejemplo facilitado por el Tutor
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
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.
Fecha de Entrega de Calificaciones.
Primera parcial 14/05/2012
Segunda Parcial 07/07/2012
Examen del 9 al 14 de Julio 2012
Temas Que es un programa? Que es un lenguaje de
programación? Características de los lenguajes de
programación Paradigmas de programación
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
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
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
Que es un lenguaje de programación? Ejemplos:
Visual BasicC/C++JAVAFORTRANLISP
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
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
Estructuras de Datos Variables
Arreglos
Listas
205
59 32 10
6
9 36
23
90 2 3 4 6
Instrucciones y Control de flujo
int a = 0;while (a!=10){
if (a==5){cout << “La variable a va en 5”;
}a++;
}b=a
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
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
Paradigmas de programación Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lógico Multiparadigma Orientado a objetos Scripting
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
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
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
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
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
Scripts Ejemplos:
ActionScriptJavaScriptPerlPHPPhytonRuby
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
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
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
Programación procedimental Ejemplos:
CBasicCOBOLMatlabPascal
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
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
Programación Orientada a Objetos Ejemplos:
C++JAVARubySmallTalkC#Delphi