leng progr 01
TRANSCRIPT
![Page 1: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/1.jpg)
Lenguajes y paradigmas de programación
Iván Felipe Álvarez
GEMIS-OEEAFIT 2006
![Page 2: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/2.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 3: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/3.jpg)
Que 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 4: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/4.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 5: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/5.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 6: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/6.jpg)
Que es un lenguaje de programación? Ejemplos:
Visual BasicC/C++JAVAFORTRANLISP
![Page 7: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/7.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 8: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/8.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 9: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/9.jpg)
Estructuras de Datos Variables
Arreglos
Listas
205
59 32 1069 36
23
90 2 3 4 6
![Page 10: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/10.jpg)
Instrucciones y Control de flujoint a = 0;while (a!=10){
if (a==5){cout << “La variable a va en 5”;
}a++;
}b=a
![Page 11: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/11.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 12: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/12.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 13: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/13.jpg)
Paradigmas de programación Orientado a aspectos Concurrente Declarativo Funcional Imperativo Lógico Multiparadigma Orientado a objetos Scripting
![Page 14: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/14.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 15: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/15.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 16: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/16.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 17: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/17.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 18: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/18.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 19: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/19.jpg)
Scripts Ejemplos:
ActionScriptJavaScriptPerlPHPPhytonRuby
![Page 20: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/20.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 21: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/21.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 22: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/22.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 23: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/23.jpg)
Programación procedimental Ejemplos:
CBasicCOBOLMatlabPascal
![Page 24: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/24.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 25: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/25.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 26: Leng progr 01](https://reader033.vdocuments.net/reader033/viewer/2022042509/559a1d3f1a28ab5d7b8b46af/html5/thumbnails/26.jpg)
Programación Orientada a Objetos Ejemplos:
C++JAVARubySmallTalkC#Delphi