Este documento describe los lenguajes de programación y paradigmas de programación. Explica que un lenguaje de programación es un sistema notacional para describir computaciones de forma legible para humanos y máquinas. Luego discute los cuatro principales paradigmas de programación (imperativo, funcional, orientado a objetos y lógico) y proporciona ejemplos de lenguajes populares para cada paradigma. Finalmente, aborda conceptos como la definición, traducción e historia de los lenguajes de programación.
Conceptos básicos sobre la estructura del procesador , como se organiza y en especial sobre el empleo de los registros como elemento de control y manejo del procesador. Se emplean gráficos para representar los bloques del procesador y la estructura de la UAL.
Algoritmos y metodología para la solución de problemasMartin Pacheco
Descripción, definiciones y ejemplos de algoritmos. Que es la metodología para solución de problemas.
Elaboración en el Centro de Bachillerato Tecnológico industrial y de servicios 226.
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
Conceptos básicos sobre la estructura del procesador , como se organiza y en especial sobre el empleo de los registros como elemento de control y manejo del procesador. Se emplean gráficos para representar los bloques del procesador y la estructura de la UAL.
Algoritmos y metodología para la solución de problemasMartin Pacheco
Descripción, definiciones y ejemplos de algoritmos. Que es la metodología para solución de problemas.
Elaboración en el Centro de Bachillerato Tecnológico industrial y de servicios 226.
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOSsgmauriciosg
ESTO ESTA DISEÑADO PARA PERSONAS INTERESADAS EN AUTOS ESTO CONTIENE DE INFORMACIÓN DE LOS AUTOS MAS CAROS, BARATOS LOS MAS RÁPIDOS MAS LENTOS. QUE SE OCUPA PARA CREAR UN MOTOR ENTRE OTRAS COSAS.
2. Indice
1.¿ Qué es un lenguaje de programación ?
2.Abstracciones
3.Paradigmas de computación
4.Definición del lenguaje
5.Traducción del lenguaje
6.Historia
7.Preguntas
3. 1.1 ¿ Qué es un LP ?
• Computación
• MáquinaTuring, tesis de Church
• Legibilidad por parte de la máquina
• Legibilidad por parte del ser humano
Definición: Un lenguaje de programación es un sistema
notacional para describir computaciones de una forma
legible tanto para la máquina como para el ser humano.
6. 1.3 Abstracciones
• Clases: Datos y control
• Niveles: básicas, estructuradas y unitarias
Abstracciones de datos:
● Básicas: tipos básicos (enteros, reales, ...)
● Estructuradas: tipos estructurados (arreglos, registros)
● Unitarias: Tipos abstractos de datos (TDAs), paquetes,
módulos, clases, componentes
7. 1.3 Abstracciones
• Abstracciones de control
• Básicas: asignación, goto
• Estructuradas: condicionales e iteradores
• Unitarias: paquetes, módulos, hilos y tareas.
Un lenguaje de programación es completo en Turing
siempre que tenga variables enteras y aritméticas, y que
ejecute enunciados en forma secuencial, incluyendo
enunciados de asignación, selección e iteración.
9. Paradigmas de Lenguajes
• Se reconoce generalmente 4 paradigmas de
programación:
• Imperativo (Estructurado)
• Aplicativo (Funcional)
• Orientado a Objetos
• Lógico
10. Lenguajes Imperativos
• Su objetivo es entender y definir el estado de la
máquina (conjunto de posiciones de memorias, cada
una conteniendo un valor).
• Lenguajes orientados a instrucciones
• El programa consiste en elaborar un conjunto de
instrucciones para que la máquina llegue a la
respuesta.
• Ejemplos: C, Fortran, Pascal, Cobol
• Sintaxis: S1, S2, S3, S4, …
11. Lenguajes Imperativos
Programación: serie de pasos (input, cálculo, ouput).
Elementos: abstracción procedural, asignación,
loops, secuencias, condicionales.
12. Lenguajes Funcionales
• Su objetivo es entender la función que produciría la
respuesta deseada.
• Es orientada hacia la composición de funciones.
• Programar consiste en construir la función que halle
la respuesta.
• Ejemplos: ML, Lisp, Scheme, Haskell
• Sintaxis: F1(F2(F3(x)))
13. Lenguajes Funcionales
• Programación: colección de funciones que se
combinan en formas complejas para construir
nuevas funciones.
• Elementos: alto orden, composición, recursión.
14. Orientados a Objetos
• Su objetivo es modelar el problema con elementos
similares a los realmente presentes.
• Programar significa generar objetos que
intercambian mensajes entre si para resolver un
problema.
• Ejemplos: Smalltalk, C++, Java, Squeak, C#
• Sintáxis: O1 ->mensaje-> O2.
15. Orientados a Objetos
• Lenguajes imperativos que unen diseños aplicativos
con sentencias imperativas.
• Sintaxis: Conjunto de objetos (clases) conteniendo
datos (concepto imperativo) y métodos (conceptos
aplicativos).
• Programación: colección de objetos que interactúan
pasándose mensajes que transforman estados.
• Elementos: modelado de objetos, clases, herencia,
encapsulamiento.
16. Lenguajes Lógicos
• Definen reglas para decidir cuando la respuesta ha
sido alcanzada.
• Utiliza un conjunto de reglas para deducir los
atributos de la respuesta.
• Ejemplos: Prolog
• Sintaxis: Regla -> Conclusión
18. 1.6Traducción del lenguaje
• Traductor es un programa que acepta otros programas
escritos en un lenguaje y:
• los ejecuta directamente (interprete)
• los transforma en una forma adecuada para su ejecución
(compilador).
entrada
código
fuente
salidaintérprete
19. 1.6Traducción
• Pseudointérpretes: intermedio entre interprete y
compilador: lenguajes intermedios
• Operaciones de un traductor: analizador léxico (tokens),
analizador sintáctico, analizador semántico,
preprocesador
código
fuente
traducción
adicional
compilación
código
objeto
código
ejecutable
20. 1.6Traducción
• Tiempo de compilación y tiempo de ejecución
• Propiedades estáticas: tiempo de compilación
• Propiedades dinámicas: tiempo de ejecución
• Recuperación de errores (compilación y ejecución)
• Eficiencia y optimización (compilación o ejecución)
24. ¿Qué hace a un lenguaje bueno?
• Naturalidad de la aplicación
• La estructura del programa refleja la estructura lógica del
algoritmo.
• Cada lenguaje generalmente se especializa en un campo
de acción determinado y es más fácil resolver ciertos
problemas con él.
25. ¿Qué hace a un lenguaje bueno?
• Facilidad de verificación
• Debe proveer una manera de corroborar que el programa
efectivamente realiza su tarea.
• Una sintaxis sencilla facilita la verificación.
26. ¿Qué hace a un lenguaje bueno?
• Ambiente de programación
• Debe contar con un entorno que facilite la programación
en el lenguaje.
• Generalmente lenguajes no tan buenos, pero que tienen
un buen entorno de programación, son más usados en el
mercado.
27. ¿Qué hace a un lenguaje bueno?
• Portabilidad
• Que tan fácil se puede transportar la aplicación de la
máquina en que se desarrolló a otras máquinas donde va a
ser ejecutada.
• El mejor ejemplo de esto es programación para Internet.
28. ¿Qué hace a un lenguaje bueno?
• Costo de uso
• Costo de ejecución
• Costo de traducción
• Costo de creación, prueba y uso
• Costo de mantenimiento