lenguajes de programacion

32
PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA COMPILADORES SEMESTRE MARZO - JULIO 2012 INSTRUCTOR: DIEGO BAROJA LLANOS INGENIERO INFORMATICO CARRERA: ING. EN SISTEMAS

Upload: diego-baroja

Post on 16-Dec-2014

2.447 views

Category:

Documents


3 download

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

Page 1: LENGUAJES DE PROGRAMACION

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

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

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

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

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

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

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

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

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

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

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

Que es un lenguaje de programación? Ejemplos:

Visual BasicC/C++JAVAFORTRANLISP

Page 13: LENGUAJES DE PROGRAMACION

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

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

Estructuras de Datos Variables

Arreglos

Listas

205

59 32 10

6

9 36

23

90 2 3 4 6

Page 16: LENGUAJES DE PROGRAMACION

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

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

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

Paradigmas de programación Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lógico Multiparadigma Orientado a objetos Scripting

Page 20: LENGUAJES DE PROGRAMACION

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

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

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

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

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

Scripts Ejemplos:

ActionScriptJavaScriptPerlPHPPhytonRuby

Page 26: LENGUAJES DE PROGRAMACION

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

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

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

Programación procedimental Ejemplos:

CBasicCOBOLMatlabPascal

Page 30: LENGUAJES DE PROGRAMACION

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

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

Programación Orientada a Objetos Ejemplos:

C++JAVARubySmallTalkC#Delphi