Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Actividades:
Definición 2: “Un lenguaje de programación es aquella estructura que, con una cierta base
sintáctica y semántica, imparte distintas instrucciones a un programa de computadora.”
(Definición de lenguaje de programación. 2012).
2) Diferencia entre legibilidad por parte de la máquina y legibilidad por parte de ser humano
La legibilidad por parte de la máquina para que sea legible su estructura tiene que ser simple
para una mejor traducción para la máquina y se debe tener un algoritmo para la traducción
del mismo y se agrupan en 2 clases: una de control y otra de datos, a diferencia de la
legibilidad por parte del ser humano, el lenguaje de programación es fácil de comprender
para los humanos, para ellos los lenguajes de programación tienden a parecerse a los
lenguajes naturales.
3) Concepto de Abstracción
Proceso mental a través del cual se atiende a algún atributo, característica o faceta de otras
o del conjunto en que se haya inserta
La abstracción nos permite representar y facilitar la resolución de problemas a través de los
detalles particulares como tipos de datos, estructuras de control y en la forma en que se
procesan los datos.
● Abstracciones de datos
● Abstracciones de control
Abstracciones de Datos:
o Abstracciones básicas: Los tipos de datos primitivos abstraen la representación
interna de esos datos (enteros almacenados en complemento a 2). Las variables
abstraen una dirección de memoria mediante el uso de un nombre. Ejemplo:
Enteros, reales, fecha, lógico.
o Abstracciones estructuradas: Método principal para la abstracción de colecciones de
valores de datos relacionados entre sí. Es posible definir nuevas estructuras
mediante una declaración de tipos. Ejemplo: Registros o arreglos.
o Abstracciones unitarias: Encapsulado de datos y ocultación de la información (por
ejemplo: paquetes en Java), permiten su reutilización en diferentes programas.
Ejemplo: Registros o arreglos.
Abstracciones de Control
o Abstracciones básicas: Combinan unas cuantas instrucciones de máquina en
una sentencia abstracta más sencilla. Ejemplo:
x := x + 8 (asignación)
GOTO: transferencia de control a un enunciado situado en otra parte del
programa.
o Abstracciones estructuradas: Dividen al programa en grupos de
instrucciones, las cuales se pueden anidar unas dentro de otras.
(condicionales e iteradores). Ejemplo:
Instrucciones de selección: IF, CASE,…
Instrucciones de repetición: DO, WHILE, FOR,…
Subprogramas: funciones, procedimientos,…
4) Explicación
Es necesario de definir un lenguaje de forma formal porque la sintaxis de estos producen
oraciones no ambiguas, en lo que respecta al significado de sus palabras. Es decir que cada
palabra mantiene un mismo significado prescindiendo el contexto en el que se encuentre.
En el caso de un lenguaje de programación se define de forma formal porque este necesita
una descripción completa, formal, y precisa. Ya que sin una noción clara del efecto de las
construcciones del lenguaje NO se tendrá una idea precisa de qué tipo de procesamiento se
está ejecutando.
Otras razones:
-Necesidad de independencia de la máquina o de la implementación. Esto se logra con la
estandarización.
-Es necesario conocer: comportamiento del programa y su interacción
-Los requisitos de una definición formal aportan disciplina durante el diseño de un lenguaje.
6) Definiciones
Semántica operacional, donde la ejecución del lenguaje se describe directamente (en vez de
hacerse mediante el uso de una traducción). Las semánticas operacionales tienen que ver
con la interpretación, aunque nuevamente el “lenguaje de implementación” del intérprete es
de forma general un formalismo matemático. Las semánticas operacionales pueden definir
una máquina abstracta (como la máquina SECD), y dan significado a las frases describiendo
las transiciones que ellas inducen en los estados de la máquina.
Semántica denotacional, por medio de las cuales cada frase en el lenguaje es interpretada
como una denotación. Tales denotaciones a menudo son objetos matemáticos que habitan
espacios matemáticos, pero no es un requerimiento que éstas deban serlo. Como una
necesidad práctica, las denotaciones se describen usando alguna forma de notación
matemática, la cual en turno puede ser formalizada como un metalenguaje denotativo.
Semántica axiomática, a través de la cual se le da significado a las frases describiendo los
axiomas lógicos que se aplican a ellas. Las semánticas axiomáticas no hacen distinción entre
un significado de una frase y las fórmulas lógicas que la describen, su significado es
exactamente lo que se puede probar de ella en alguna lógica
7) Definiciones
Una de las diferencias entre un compilador y un intérprete es que un compilador traduce el
código en instrucciones para ser ejecutadas por la computadora mientras que un intérprete
sólo hace una traducción intermedia necesaria para poder ejecutar el código. Además un
intérprete permite que el código sea modificado durante su ejecución, algo que un compilador
impide hasta que haya finalizado el proceso de compilado. Teniendo esto en cuenta se
puede decir que un compilador es más seguro dado que al no permitir el acceso al código
fuente se evita que el usuario altere indebidamente el funcionamiento del programa.