Actividad 1-Reporte de Lectura 4.2

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 10

NOMBRE:

JONATHAN BAÑOS MUJICA


CARRERA:
INGENIERÍA EN SISTEMAS COMPUTACIONALES
MATERIA:
PROGRAMACIÓN LÓGICA Y FUNCIONAL
PROFESOR(A):
GREGORIO PEREZ OLAN
NOMBRE DEL TRABAJO:
REPORTE DE LECTURA 4.2
GRADO:
8vo SEMESTRE
GRUPO:
“A”

BALANCÁN, TABASCO 10 DE JUNIO DE 2020


INDICE
INTRODUCCIÓN .............................................................................................Pág. 1
SINTÁXIS DE LOS LENGUAJES DE PROGRAMACIÓN ..............................Pág. 2
SEMÁNTICA DE LOS LENGUAJES DE PROGRAMACIÓN .........................Pág. 3
ELEMENTOS DE LOS LENGUAJES DE PROGRAMACIÓN ........................Pág. 4
CONCLUSION .................................................................................................Pág. 7
BIBLIOGRAFIA ...............................................................................................Pág. 8
INTRODUCCIÓN
Las personas para comunicarse entre sí utilizan un lenguaje que puede ser oral o
escrito. En general, para comunicar algo siempre se usa un lenguaje.
La informática no queda excluida del uso de lenguajes, ya que estos son la manera
de especificar las acciones que se desea sean realizadas en la computadora.
En otras palabras, son la interfase entre el programador y la computadora. A través
de ellos podemos desarrollar programas o aplicaciones, que se componen por un
conjunto de instrucciones que luego se ejecutarán en la computadora haciendo uso
de sus recursos (CPU, memoria, disco, etc.).
Los lenguajes de programación están destinados a distintos ámbitos, dependiendo
de sus características que simplifican algunas tareas y complejizan otras.
Pueden estar destinados a aplicaciones científicas, aplicaciones de negocios,
inteligencia artificial, programación de sistemas, scripting, y también disponemos de
lenguajes de propósitos especiales.
Los lenguajes de programación tienen una estructura compleja que se compone de
varias partes: sintaxis, semántica, elementos del lenguaje, nivel de abstracción,
paradigma, estructuras de control para ordenar la ejecución de los programas, tipos
de datos (números, letras, etc.), y funciones o procedimientos (unidades) que
contienen un conjunto de instrucciones, entre otras.

No hay un único tipo de lenguajes, sino que se clasifican según las características
que posean y según el paradigma y conceptos que soporten.

Página | 1
SINTÁXIS DE LOS LENGUAJES DE PROGRAMACIÓN
La sintaxis de un lenguaje de programación es la estructura en que se organizan los
distintos elementos sintácticos, como espacios, identificadores, operadores, etc. Es
decir, el orden que tienen unos con respecto a otros.
Una sintaxis se evalúa según varios criterios: que sea fácil de leer, de escribir, de
verificar (chequear en busca de errores), fácil de traducir y que carezca de
ambigüedad. Esta última significa que un mismo código puede tener 2 o más
interpretaciones o traducciones posibles, en cuyo caso no se puede decidir que
alternativa elegir.
os elementos de la sintaxis son: alfabeto, identificadores (nombres de variables,
constantes, etc.), símbolos de operadores (+,-,etc.), espacios en blanco,
delimitadores y corchetes, palabras pregonadas (palabras que se pueden omitir sin
alterar el significado), palabras clave y reservadas (propias del lenguaje),
comentarios y expresiones.
El principal problema de una sintaxis es cómo se la define. Para esto existen
metalenguajes que permiten definir la manera en que se combinan los símbolos y
elementos. Estos metalenguajes o notaciones formales son un conjunto de reglas
que especifican el modelo de construcción de las cadenas aceptadas por el
lenguaje. Es decir que un metalenguaje es un lenguaje que define a un lenguaje de
programación. Sus elementos son símbolo distinguido, metasímbolos y
metavariables.

Símbolo distinguido: Punto de partida para la generación de todas las cadenas.


Metasímbolos: ( | (o), ::= (es), ).Metavariables: Pueden ser terminales o no
terminales.
o Terminales: Son palabras que forman los símbolos no terminales.
o No terminales: Son identificadores que tienen una definición hecha con más
metavariables, de manera que es posible reemplazarlas por sus definiciones.

Otra manera de llamarlo a este tipo de gramáticas es "gramáticas BNF" (Backus


Naur Form), que son un metalenguaje que define las reglas de formación de las
cadenas aceptadas por un lenguaje de programación. Fueron inventadas por
Backus Naur para el desarrollo del lenguaje de programación Algol 60.

Página | 2
SEMÁNTICA DE LOS LENGUAJES DE PROGRAMACIÓN
La semántica de un lenguaje de programación se refiere al significado que adoptan
las distintas sentencias, expresiones y enunciados de un programa. La semántica
engloba aspectos sensibles al contexto, a diferencia de la sintaxis que considera
aspectos libres de contexto.

Los principales elementos de la semántica son:

Variables: se refieren a locaciones de memoria ligadas a un nombre y a un tipo.

Valores y referencias: los valores son el estado de determinada celda o grupo de


celdas de la memoria, mientras que las referencias indican la posición de esa celda
en memoria. Estos 2 conceptos están muy involucrados con los punteros. La
mayoría de los lenguajes los soportan, aunque son una conocida fuente de errores
de programación.

Expresiones: Son construcciones sintácticas que permiten combinar valores con


operadores y producir nuevos valores. Son los elementos de los que se componen
los enunciados. Las expresiones pueden ser aritméticas (a +b*c), relacionales (a a),
lógicas (a && b || c)

o condicionales (if (a*b > 2)...). Cada una de estas tiene una semántica especifica
que la define. Por ejemplo en una expresión aritmética el tipo esperado es numérico
(esto es int, long, etc.), los operadores deben ser +,-,*, /; y las funciones utilizadas
dentro de ésta deben retornar valores numéricos.

Semántica estática. Gramática de atributos: Las gramáticas de atributos son más


poderosas que las BNF porque permiten formalizar aspectos sensibles al contexto.

Por ejemplo, el chequeo de tipos depende del contexto porque debemos saber el
tipo esperado y el actual y determinar si son compatibles. El tipo esperado lo
obtenemos del contexto analizando la definición de la variable. Si la variable num1
está definida de tipo String, y más adelante le queremos asignar el valor 1000, se
producirá un error de tipo.

Página | 3
ELEMENTOS DE LOS LENGUAJES DE PROGRAMACIÓN
Entidades: Son los elementos sobre los que trabaja un programa.
Pueden ser subprogramas, variables, rótulos y sentencias. Tienen atributos, a los
que se asocian a través de un mecanismo llamado ligadura.

Atributos: nombre, valor, tipo, locación de memoria, tiempo de vida, alcance y alias.
Estas son las características de cada una de las entidades, es decir que un
subprograma tendrá un nombre, una locación de memoria, tendrá un valor (el valor
que retorna), tendrá un alcance, etc.

Ligaduras: Se refiere a asociar un atributo con una entidad. Las entidades ligables
son subprogramas, variables y constantes, tipos, parámetros formales, excepciones
y etiquetas. Las ligaduras se pueden producir en distintos momentos, como en la
compilación o en la ejecución.

Tiempos de ligadura: Según el momento en que se realicen se las llama estáticas


o dinámicas.

Ligadura estática: Son menos flexibles, pero más seguras, detección temprana de
errores y permiten una mayor eficiencia. Se produce en lenguajes orientados a la
compilación.

Ligadura dinámica (en tiempo de ejecución): son más flexibles, pero menos
seguras. Mayor costo de ejecución. Se produce en lenguajes orientados a la
ejecución. Corresponden a las que no se pueden realizar en un paso anterior y
necesitan del programa en ejecución para hacerlas. Un ejemplo es la asignación de
un valor a un nodo de un árbol. Como antes de la ejecución no se conoce la locación
de memoria en la que se almacena el nodo, es imposible hacer la asignación. En
este caso el atributo de locación se conoce sólo en tiempo de ejecución.

Declaraciones: Son sentencias que crean una ligadura entre un tipo, un nombre y
un valor. A veces el valor se puede omitir, por ej: String suNombre.

Página | 4
Tenemos 2 tipos de declaraciones.

Declaraciones implícitas: ocurren cuando se usa por primera vez la variable. Son
muy inseguras y pueden provocar errores difíciles de detectar. Un ejemplo es
FORTRAN, en el que las variables que empiezan con i son de tipo entero.

Declaraciones explícitas: se usa el tipo de manera explícita.

Secuenciales: usan en ellas declaraciones previas.

Por ejemplo, en Pascal podemos definir un tipo sub-rango que va de 0 a 365, y a


este lo usamos como tipo de los elementos de un tipo arregloAño que definamos.

Recursivas: se las utiliza para definir estructuras dinámicas como árboles, grafos y
listas. Se llaman recursivas porque la definición se incluye a sí misma.

Ambiente de referenciamiento: Es el conjunto de entidades que son visibles o


pueden ser referenciadas en una parte determinada del código. El uso de una
entidad fuera del ambiente de referenciamiento al que pertenece produce un error.
El lenguaje C dentro de UNIX provee un mecanismo novedoso para pasar
ambientes de referenciamiento de un lugar a otro, y se llama "conductos".

Alcance y visibilidad: Muy relacionadas con ambientes de referenciamiento. Una


entidad es visible dentro de su alcance. Y el alcance es hasta donde una entidad
puede ser referenciada. Estructura general de un programa: Tenemos 3 tipos de
estructuras que puede tener un programa, y cada una se corresponde con
determinados lenguajes.

Estructura monolítica: Se compone de un programa principal y variables globales.


Las declaraciones, ambiente y alcance son globales. Es la estructura más antigua
y menos flexible. La incorporan lenguajes como COBOL. Aumentan los costos de
mantenimiento y hacen tediosa esta labor.

Página | 5
Estructura en bloques chatos: Las declaraciones son globales y en varios
subprogramas. El ambiente es global y propio de cada subprograma y el alcance
dentro de un subprograma es a este y al ambiente global. Es decir que no está
permitido acceder desde un subprograma al ambiente de referenciamiento de otro.
La incorporan lenguajes como C++ y Java.

Estructura en bloques anidados: Similar a la de bloques chatos pero es posible


definir subprogramas dentro de subprogramas. Más nivel de profundidad. Las
declaraciones son globales y locales a cada subprograma. El alcance es dentro de
cada subprograma e incluye los subprogramas de nivel más alto. El ambiente
incluye cada subprograma, los subprogramas de nivel más alto y el ambiente global.

Datos: desde el punto de vista informático, es un hecho que se representa en la


computadora. Los programas manipulan datos con el fin de producir información.
Por ejemplo, una base de datos almacena gran cantidad de datos y debe asegurar
su consistencia. Un programa contable registra y procesa datos de ventas, compras
y movimientos de dinero. Es decir, los datos son la entrada de los procesos o
subprogramas. Variables y constantes: Los datos se almacenan en variables y
constantes. Las variables son identificadores que poseen una locación de memoria,
un nombre, un tipo, etc. Pueden cambiar su valor durante la ejecución del programa.
Las constantes no pueden cambiar su valor y se las define en tiempo de
implementación del programa. Pueden ser literales o definidas (por el programador).

Página | 6
CONCLUSIÓN
Los lenguajes de alto nivel se desarrollaron con el objetivo de ser más accesibles y
entendibles por la mayoría de programadores, de manera que los programadores
pudieran concentrarse más en resolver la tarea o los problemas y no en el lenguaje
que la maquina tenía que entender.

Página | 7
BIBLIOGRAFIA
https://www.monografias.com/trabajos-pdf/lenguajes-programacion/lenguajes-
programacion.shtml#introducca
https://sites.google.com/site/tcaldlengprog/conclusion-de-lenguaje-de-
programacion
https://desarrolloweb.com/articulos/introduccion-lenguajes-programacion-
fundamentos.html

Página | 8

También podría gustarte