Sistemas digitales
Estudio de los lenguajes de programación
desde el punto de vista de las áreas de aplicación
• Científicos
• Ingeniería
• De Gestión (negocios)
• De Inteligencia Artificial
• Programación de sistemas
• Multipropósito
2005 Alfredo Gutiérrez Hdez.
1
1.1.2
Estudio de los lenguajes de programación
desde el punto de vista de su nivel
Lenguaje Humano
• Muy alto
•Alto
• Medio
• Bajo
• Muy bajo
Lenguaje Máquina
2005 Alfredo Gutiérrez Hdez.
2
1.1.3
Estudio de los lenguajes de programación
desde el punto de vista de los paradigmas de programación
Paradigma: “Logros científicos universalmente reconocidos que durante
un tiempo proporcionan problemas y soluciones modelo para una
comunidad de profesionales.”
Imperativos
DeclarativosEstructurado en bloques
Programación Lógica
Basados en objetos
Programación funcional
Programación distribuida
Lenguajes para
bases de datos
2005 Alfredo Gutiérrez Hdez.
3
1.1.3
Estudio de los lenguajes de programación
desde el punto de vista de los paradigmas de programación
Imperativos
- Cambios de estado hechos a la memoria
- Algoritmos
Estructurado en bloques- Subrutinas
- Datos comunes
- Ámbitos anidados
Basados en objetos
- Objeto: grupo de procedimientos que comparten un estado
Programación distribuida
- Trabajo de muchos programadores en un solo programa de forma
simultánea comunicándose a través del paso de mensajes
2005 Alfredo Gutiérrez Hdez.
4
1.1.3
Estudio de los lenguajes de programación
desde el punto de vista de losparadigmas de programación
Declarativos
- Se enfocan más en lo que se quiere hacer que en cómo hacerlo
- El intérprete o compilador administra recursos en lugar del programador
Programación Lógica
- Obtención de nuevos hechos a partir de hechos conocidos
- Un programa se compone de:
• Serie de axiomas o hechos
• Reglas de inferencia
• Teorema o cuestión por demostrar
Programaciónfuncional
- Todo opera a través de funciones
- Uniformidad funcional
- No hay asignaciones globales
- El programa mismo es una función
Lenguajes para bases de datos
- Persistencia
- Control de cambios
2005 Alfredo Gutiérrez Hdez.
5
1.2
Lenguaje de programación
Sintaxis
Lenguaje
Semántica
Gramática: ciencia que estudia o regula al lenguaje
Estructura lexicográfica: laestructura de los tokens
Token: palabra válida en un lenguaje
Alfabeto (conjunto de símbolos)
Lenguaje
Reglas para formar palabras
Reglas para formar declaraciones
2005 Alfredo Gutiérrez Hdez.
6
1.2
Lenguaje de programación
Lenguaje formal: la forma o sintaxis de las palabras válidas en un lenguaje sin
importar su significado
Definición de lenguajes formales:
1. Alfabeto Σ desímbolos individuales
2. Un conjunto de reglas P para determinar cuales cadenas o
palabras de Σ son válidas en L
las reglas de producción tiene la forma: α→β
Gramática estructurada en frases
G=(Σ, N, P, Inicio)
Σ = Conjunto de símbolos terminales
N = Conjunto de símbolos no terminales
P = Conjunto de reglas de producción
Inicio = Símbolo de inicio
2005 Alfredo Gutiérrez Hdez.
71.3
Características de los lenguajes de programación
• Descripciones bien definidas
- BNF y EBNF
- Semántica
• Comprobabilidad
• Confiabilidad
• Traducción rápida
• Código objeto eficiente
• Ortogonalidad
• Generalidad
• Consistencia y notaciones comunes
• Uniformidad
• Subconjuntos
• Extensibilidad
• Transportabilidad
2005 Alfredo Gutiérrez Hdez.
8
1.4.1.1
Jerarquíade Chomsky
Tipo 0: Lenguajes recursivamente enumerables,
son reconocidos por máquinas de Turing
Tipo 1: Lenguajes sensibles al contexto,
son reconocidos autómatas lineales limitados
Tipo 2: Lenguajes libres de contexto,
son reconocidos por autómatas descendentes
Tipo 3: Lenguajes regulares,
son reconocidos por autómatas finitos
Cada tipo de lenguaje esta asociado a un tipo de...
Regístrate para leer el documento completo.