Successfully reported this slideshow.

sistema operativo

816 views

Published on

que es el sistema operativo

  • Be the first to comment

  • Be the first to like this

sistema operativo

  1. 1. Lenguajes y paradigmas de programación Iván Felipe Álvarez GEMIS-OE EAFIT 2006
  2. 2. Temas <ul><li>Que es un programa? </li></ul><ul><li>Que es un lenguaje de programación? </li></ul><ul><li>Características de los lenguajes de programación </li></ul><ul><li>Paradigmas de programación </li></ul>
  3. 3. Que es un programa? <ul><li>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 </li></ul>
  4. 4. Que es un lenguaje de programación? <ul><li>Es una técnica de comunicación estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente un computador) </li></ul><ul><li>Como los lenguajes humanos, los lenguajes de programación tienen reglas sintácticas y semánticas para definir el significado </li></ul>
  5. 5. Que es un lenguaje de programación? <ul><li>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 </li></ul>
  6. 6. Que es un lenguaje de programación? <ul><li>Ejemplos: Visual Basic C/C++ JAVA FORTRAN LISP </li></ul>
  7. 7. Características de los lenguajes de programación <ul><li>Tipos de datos </li></ul><ul><li>Estructuras de datos </li></ul><ul><li>Instrucciones y Control de flujo </li></ul><ul><li>Filosofía de diseño </li></ul><ul><li>Compilación e Interpretación </li></ul>
  8. 8. Tipos de datos <ul><li>Internamente, todos los datos de los computadores tradicionales están guardados simplemente como ceros o unos(binario) </li></ul><ul><li>Un solo valor en memoria puede ser interpretado de múltiples formas: 10010110 </li></ul><ul><li>“ Hola” </li></ul><ul><li>Azul – Rojo – Verde </li></ul><ul><li>150 </li></ul>
  9. 9. Estructuras de Datos <ul><li>Variables </li></ul><ul><li>Arreglos </li></ul><ul><li>Listas </li></ul>205 5 9 3 2 1 0 6 9 3 6 2 3 9 0 2 3 4 6
  10. 10. Instrucciones y Control de flujo <ul><li>int a = 0; </li></ul><ul><li>while (a!=10){ </li></ul><ul><li>if (a==5){ </li></ul><ul><li>cout << “La variable a va en 5”; </li></ul><ul><li>} </li></ul><ul><li>a++; </li></ul><ul><li>} </li></ul><ul><li>b=a </li></ul>
  11. 11. Filosofía de diseño <ul><li>Cada lenguaje se desarrolla de acuerdo a un diseño especial o una filosofía </li></ul><ul><li>Estos están ligados al paradigma de programación a utilizar </li></ul><ul><li>Se refiere a la forma de hacer las cosas </li></ul>
  12. 12. Compilación e Interpretación <ul><li>Interptetes: analizan las instrucciones una a una y las ejecutan directamente </li></ul><ul><li>Compiladores: convierten el código fuente a código de maquina para ser ejecutado posteriormente </li></ul>
  13. 13. Paradigmas de programación <ul><li>Orientado a aspectos </li></ul><ul><li>Concurrente </li></ul><ul><li>Declarativo </li></ul><ul><li>Funcional </li></ul><ul><li>Imperativo </li></ul><ul><li>Lógico </li></ul><ul><li>Multiparadigma </li></ul><ul><li>Orientado a objetos </li></ul><ul><li>Scripting </li></ul>
  14. 14. Lenguajes Declarativos <ul><li>Describen un problema mas que definir una solución </li></ul><ul><li>Todos los lenguajes puramente funcionales y lógicos son Declarativos </li></ul><ul><li>Ejemplos: ABSET, Lustre, MetaPost, Prolog, SQL, XSL Transformations </li></ul>
  15. 15. Lenguajes Funcionales <ul><li>Definen programas y subrutinas como funciones matematicas </li></ul><ul><li>Muchos de estos lenguajes estan unidos a herramientas de calculo matematico </li></ul><ul><li>Ejemplos: Clean, Erlang, Haskell, Mathematica </li></ul>
  16. 16. Lenguajes basados en logica <ul><li>Especifican un conjunto de atributos que una solución debe tener, en vez de un conjunto de pasos para obtener la solución </li></ul><ul><li>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 </li></ul><ul><li>Ejemplos: ALF, Curry, Prolog, Oz </li></ul>
  17. 17. Scripts <ul><li>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 </li></ul>
  18. 18. Scripts <ul><li>Muchos programas de aplicación complejos dejan a los usuarios implementar funciones personalizadas proveyéndoles de un lenguaje propio. </li></ul><ul><li>Muchos de estos deciden utilizar lenguajes de scripting tradicionales como el Perl o Visual Basic </li></ul>
  19. 19. Scripts <ul><li>Ejemplos: </li></ul><ul><li>ActionScript </li></ul><ul><li>JavaScript </li></ul><ul><li>Perl </li></ul><ul><li>PHP </li></ul><ul><li>Phyton </li></ul><ul><li>Ruby </li></ul>
  20. 20. Programación imperativa <ul><li>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. </li></ul><ul><li>Los programas imperativos son una secuencia de comandos para que el computador realice </li></ul>
  21. 21. Programacion Estructurada <ul><li>Hace uso de las estructuras de control de flujo </li></ul><ul><li>Es Turing completa, esto quiere decir que todo algoritmo computable puede ser escrito en términos de programación estructurada </li></ul>
  22. 22. Programación procedimental <ul><li>Es un paradigma de programación basado en el concepto de “llamado de procedimientos” </li></ul><ul><li>Procedimientos, tambien conocidos como rutinas, subrutinas, metodos o funciones simplemente consienen series de pasos computacionales. </li></ul><ul><li>Cualquier procedimiento puede ser llamado en cualquier punto durante la ejecucion de un programa, incluyendo otros procedimientos o en él mismo </li></ul>
  23. 23. Programación procedimental <ul><li>Ejemplos: C </li></ul><ul><li>Basic </li></ul><ul><li>COBOL </li></ul><ul><li>Matlab </li></ul><ul><li>Pascal </li></ul>
  24. 24. Programación Orientada a Objetos <ul><li>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 </li></ul><ul><li>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 </li></ul>
  25. 25. Programación Orientada a Objetos <ul><li>Cada objeto es capaz de recibir mensajes, procesar datos, y enviar mensajes a otros objetos. </li></ul><ul><li>Es la unión de la programación estructurada y procedimental con los tipos de datos abstractos </li></ul>
  26. 26. Programación Orientada a Objetos <ul><li>Ejemplos: </li></ul><ul><ul><ul><li>C++ </li></ul></ul></ul><ul><ul><ul><li>JAVA </li></ul></ul></ul><ul><ul><ul><li>Ruby </li></ul></ul></ul><ul><ul><ul><li>SmallTalk </li></ul></ul></ul><ul><ul><ul><li>C# </li></ul></ul></ul><ul><ul><ul><li>Delphi </li></ul></ul></ul>

×