SlideShare uma empresa Scribd logo
1 de 32
PONTIFICIA UNIVERSIDAD CATOLICA
   DEL ECUADOR SEDE IBARRA


         COMPILADORES

     SEMESTRE MARZO - JULIO 2012
  INSTRUCTOR: 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
RECURSOS
Recursos Materiales.
Marcadores no permanentes (tiza líquida).
Textos
Audiovisuales
Computador
Acetatos
- Internet (computador)
- Retroproyector

Software
Sistema Operativo Windows
Visual . Net C# .C++
Software Ejemplo facilitado por el Tutor
ACREDITACIONES
 TIEMPOS           EVALUACIONES                    PTOS
 PRIMER PARCIAL    Pruebas                         8
                   Talleres y Actuación en Clase   3
                   Deberes                         3
                   Asistencia                      1



                   Total                           15
 SEGUNDA PARCIAL   Pruebas                         5
                   Proyecto                        5
                   Talleres y Actuación en Clase   2
                   Deberes                         2
                   Asistencia                      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 Basic
       C/C++
       JAVA
       FORTRAN
       LISP
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 – Verde
        150
Estructuras de Datos
   Variables
                 205
   Arreglos
          2 9 3 0 5 1              6 9 3
                                   3 6 2
   Listas
      0      2         3   4   6     9
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:
       ActionScript
       JavaScript
       Perl
       PHP
       Phyton
       Ruby
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:
       C
       Basic
       COBOL
       Matlab
       Pascal
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++
      JAVA
      Ruby
      SmallTalk
      C#
      Delphi

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Programación estructurada (2).pptx
Programación estructurada (2).pptxProgramación estructurada (2).pptx
Programación estructurada (2).pptx
 
Diagrama de Secuencia
Diagrama de SecuenciaDiagrama de Secuencia
Diagrama de Secuencia
 
proyectos informaticos
proyectos informaticosproyectos informaticos
proyectos informaticos
 
Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 
Cuadro comparativo
Cuadro comparativo Cuadro comparativo
Cuadro comparativo
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
Curso Uml 2.3 Diagramas De InteraccióN
Curso Uml   2.3 Diagramas De InteraccióNCurso Uml   2.3 Diagramas De InteraccióN
Curso Uml 2.3 Diagramas De InteraccióN
 
Informe de arreglos en PseInt
Informe de arreglos en PseInt Informe de arreglos en PseInt
Informe de arreglos en PseInt
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Análisis y diseño de sistemas sesion 15 - casos de estudio
Análisis y diseño de sistemas   sesion 15 - casos de estudioAnálisis y diseño de sistemas   sesion 15 - casos de estudio
Análisis y diseño de sistemas sesion 15 - casos de estudio
 
MOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modeladoMOD Unidad 1: Fundamentos de modelado
MOD Unidad 1: Fundamentos de modelado
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Dsdm
DsdmDsdm
Dsdm
 
Que es software
Que es softwareQue es software
Que es software
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Ventajas y desventajas de visual studio
Ventajas  y desventajas de visual studioVentajas  y desventajas de visual studio
Ventajas y desventajas de visual studio
 
Proyecto Calculadora
Proyecto CalculadoraProyecto Calculadora
Proyecto Calculadora
 

Destaque

Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructuradoAgapito26
 
Programación estructurada - Clasificación de los lenguajes de programación
Programación estructurada - Clasificación de los lenguajes de programaciónProgramación estructurada - Clasificación de los lenguajes de programación
Programación estructurada - Clasificación de los lenguajes de programaciónAndres Minako Partugal Himeko
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructuradakcarbache
 
VIRUS INFORMATICO
VIRUS INFORMATICOVIRUS INFORMATICO
VIRUS INFORMATICOKaren Sol
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasSergio Naspiran
 
Herramientas case alto y bajo nivel
Herramientas case alto y bajo nivelHerramientas case alto y bajo nivel
Herramientas case alto y bajo nivelsistemaaabbbb
 
Programacion Orientada a Aspectos
Programacion Orientada a AspectosProgramacion Orientada a Aspectos
Programacion Orientada a Aspectosjcongote
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLuis Fernando Aguas Bucheli
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Sesion 1 3 categorias de investigación
Sesion 1 3 categorias de investigaciónSesion 1 3 categorias de investigación
Sesion 1 3 categorias de investigaciónROSA IMELDA GARCIA CHI
 
¿Quien creo el primer programador de la historia y que es el programa?
¿Quien creo el primer programador de la historia y que es el programa?¿Quien creo el primer programador de la historia y que es el programa?
¿Quien creo el primer programador de la historia y que es el programa?Lizzie Medrano
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Walter Javier Franck
 

Destaque (20)

Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Programacion estructurado
Programacion estructuradoProgramacion estructurado
Programacion estructurado
 
Programación estructurada - Clasificación de los lenguajes de programación
Programación estructurada - Clasificación de los lenguajes de programaciónProgramación estructurada - Clasificación de los lenguajes de programación
Programación estructurada - Clasificación de los lenguajes de programación
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
VIRUS INFORMATICO
VIRUS INFORMATICOVIRUS INFORMATICO
VIRUS INFORMATICO
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Herramientas case alto y bajo nivel
Herramientas case alto y bajo nivelHerramientas case alto y bajo nivel
Herramientas case alto y bajo nivel
 
Historia de la Programacion funcional
Historia de la Programacion funcionalHistoria de la Programacion funcional
Historia de la Programacion funcional
 
Programacion Orientada a Aspectos
Programacion Orientada a AspectosProgramacion Orientada a Aspectos
Programacion Orientada a Aspectos
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Lenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de ProgramaciónLenguajes de programación: Paradigmas de Programación
Lenguajes de programación: Paradigmas de Programación
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Problemas ergonomicos y de salud
Problemas ergonomicos y de saludProblemas ergonomicos y de salud
Problemas ergonomicos y de salud
 
Sesion 1 3 categorias de investigación
Sesion 1 3 categorias de investigaciónSesion 1 3 categorias de investigación
Sesion 1 3 categorias de investigación
 
Virus informaticos
Virus informaticosVirus informaticos
Virus informaticos
 
¿Quien creo el primer programador de la historia y que es el programa?
¿Quien creo el primer programador de la historia y que es el programa?¿Quien creo el primer programador de la historia y que es el programa?
¿Quien creo el primer programador de la historia y que es el programa?
 
Lisp
LispLisp
Lisp
 
Historia de java
Historia de javaHistoria de java
Historia de java
 
Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)Programación Orientada a Aspectos (POA)
Programación Orientada a Aspectos (POA)
 
Fórmulas en excel
Fórmulas en excelFórmulas en excel
Fórmulas en excel
 

Semelhante a LENGUAJES DE PROGRAMACION

Semelhante a LENGUAJES DE PROGRAMACION (20)

Leng progr 01
Leng progr 01Leng progr 01
Leng progr 01
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
Programacion Orientada Objetos
Programacion Orientada ObjetosProgramacion Orientada Objetos
Programacion Orientada Objetos
 
Preguntas de diagnostico
Preguntas de diagnosticoPreguntas de diagnostico
Preguntas de diagnostico
 
Unidad 1 clase 5 - fp
Unidad 1   clase 5 - fpUnidad 1   clase 5 - fp
Unidad 1 clase 5 - fp
 
Programacion
ProgramacionProgramacion
Programacion
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
01. Fundamentos.pdf
01. Fundamentos.pdf01. Fundamentos.pdf
01. Fundamentos.pdf
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
INF-102
INF-102INF-102
INF-102
 
Programaciòn
ProgramaciònProgramaciòn
Programaciòn
 
Objetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programaciónObjetos: 1. paradigmas de programación
Objetos: 1. paradigmas de programación
 
SILABO INF.102
SILABO INF.102SILABO INF.102
SILABO INF.102
 
Diapositiva
DiapositivaDiapositiva
Diapositiva
 
Programacion
ProgramacionProgramacion
Programacion
 
Guia Aprendizaje Introduccion a la Programacion
Guia Aprendizaje  Introduccion a la ProgramacionGuia Aprendizaje  Introduccion a la Programacion
Guia Aprendizaje Introduccion a la Programacion
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson Chacon
 
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACONTRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
TRABAJO DE INVESTIGACION DE SOFTWARE GERSON CHACON
 
Trabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson ChaconTrabajo de investigacion Gerson Chacon
Trabajo de investigacion Gerson Chacon
 

Mais de DIEGO BAROJA

Mejores iniciativas ti cs del ecuador 2013
Mejores iniciativas ti cs del ecuador 2013Mejores iniciativas ti cs del ecuador 2013
Mejores iniciativas ti cs del ecuador 2013DIEGO BAROJA
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 
Presentacion de procesadores de lenguajes
Presentacion de procesadores de lenguajesPresentacion de procesadores de lenguajes
Presentacion de procesadores de lenguajesDIEGO BAROJA
 
Herramientas web 20 pdf
Herramientas web 20 pdfHerramientas web 20 pdf
Herramientas web 20 pdfDIEGO BAROJA
 
Herramientas web 20 pdf
Herramientas web 20 pdfHerramientas web 20 pdf
Herramientas web 20 pdfDIEGO BAROJA
 
Guias modulo computacion
Guias modulo computacionGuias modulo computacion
Guias modulo computacionDIEGO BAROJA
 
Guias modulo computacion
Guias modulo computacionGuias modulo computacion
Guias modulo computacionDIEGO BAROJA
 

Mais de DIEGO BAROJA (9)

Mejores iniciativas ti cs del ecuador 2013
Mejores iniciativas ti cs del ecuador 2013Mejores iniciativas ti cs del ecuador 2013
Mejores iniciativas ti cs del ecuador 2013
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 
Bootstrapping
BootstrappingBootstrapping
Bootstrapping
 
Presentacion de procesadores de lenguajes
Presentacion de procesadores de lenguajesPresentacion de procesadores de lenguajes
Presentacion de procesadores de lenguajes
 
Web 20 en el aula
Web 20 en el aulaWeb 20 en el aula
Web 20 en el aula
 
Herramientas web 20 pdf
Herramientas web 20 pdfHerramientas web 20 pdf
Herramientas web 20 pdf
 
Herramientas web 20 pdf
Herramientas web 20 pdfHerramientas web 20 pdf
Herramientas web 20 pdf
 
Guias modulo computacion
Guias modulo computacionGuias modulo computacion
Guias modulo computacion
 
Guias modulo computacion
Guias modulo computacionGuias modulo computacion
Guias modulo computacion
 

LENGUAJES DE PROGRAMACION

  • 1. PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR SEDE IBARRA COMPILADORES SEMESTRE MARZO - JULIO 2012 INSTRUCTOR: DIEGO BAROJA LLANOS INGENIERO INFORMATICO CARRERA: ING. EN SISTEMAS
  • 2. 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.
  • 3. 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
  • 4. RECURSOS Recursos Materiales. Marcadores no permanentes (tiza líquida). Textos Audiovisuales Computador Acetatos - Internet (computador) - Retroproyector Software Sistema Operativo Windows Visual . Net C# .C++ Software Ejemplo facilitado por el Tutor
  • 5. ACREDITACIONES TIEMPOS EVALUACIONES PTOS PRIMER PARCIAL Pruebas 8 Talleres y Actuación en Clase 3 Deberes 3 Asistencia 1 Total 15 SEGUNDA PARCIAL Pruebas 5 Proyecto 5 Talleres y Actuación en Clase 2 Deberes 2 Asistencia 1 Total 15 FINAL Examen Final 20
  • 6. 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.
  • 7. Fecha de Entrega de Calificaciones.  Primera parcial 14/05/2012  Segunda Parcial 07/07/2012  Examen del 9 al 14 de Julio 2012
  • 8. Temas  Que es un programa?  Que es un lenguaje de programación?  Características de los lenguajes de programación  Paradigmas de programación
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. Que es un lenguaje de programación?  Ejemplos: Visual Basic C/C++ JAVA FORTRAN LISP
  • 13. 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
  • 14. 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 – Verde 150
  • 15. Estructuras de Datos  Variables 205  Arreglos 2 9 3 0 5 1 6 9 3 3 6 2  Listas 0 2 3 4 6 9
  • 16. Instrucciones y Control de flujo int a = 0; while (a!=10){ if (a==5){ cout << “La variable a va en 5”; } a++; } b=a
  • 17. 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
  • 18. 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
  • 19. Paradigmas de programación  Orientado a aspectos  Concurrente  Declarativo  Funcional  Imperativo  Lógico  Multiparadigma  Orientado a objetos  Scripting
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. Scripts  Ejemplos: ActionScript JavaScript Perl PHP Phyton Ruby
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. Programación procedimental  Ejemplos: C Basic COBOL Matlab Pascal
  • 30. 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
  • 31. 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
  • 32. Programación Orientada a Objetos  Ejemplos: C++ JAVA Ruby SmallTalk C# Delphi