Logo Studenta

Tema_1_Clase_1_Lenguajes_de_Programaci_n

¡Estudia con miles de materiales!

Vista previa del material en texto

CLASE 1
MODELO DE DESARROLLO DE PROGRAMAS Y 
PROGRAMACION CONCURRENTE
FAC.DE INGENIERIA - UNJu
Lenguajes de Programación
¿QUE ES UN LENGUAJE DE PROGRAMACIÓN?
Notación para comunicarle a una computadora lo que deseamos que haga
Sist.Notacional p/describir computaciones en forma legible tanto p/la máquina como p/el ser humano
Legibilidad x parte del ser 
humano: el leng.de
programac. proporcione 
abstracciones de acciones 
de las computadoras fáciles 
de comprender, incluso 
para personas no 
completamente 
familiarizadas con detalles 
subyacentes de la máquina
Legibilidad x parte 
de la máquina: 
p/que 1 leng. sea 
legible p/1máquina 
debe tener 1 
estruct.lo
suficientemente 
simple como p/que 
permita una 
traducción 
eficiente
Computación: 
cualquier 
proceso 
(manipulación 
de datos, 
procesam.de
texto, 
almacenam. y 
recuperación de 
informac., etc)”
ABSTRACCIONES DE LOS LENG. DE PROGRAMACIÓN
ABSTRACCIONES DE DATOS: resumen las prop.de los datos (cadenas de caracteres, nros o árboles de búsqueda)
ABS.BASICAS: resumen la 
representación interna de 
valores de datos 
comunes a la comput. A 
las variables se les dan 
nombres y tipos de datos 
mediante declaraciones. 
Ej. var x: integer
ABS.ESTRUCTURADAS: La 
estruct. de datos es el 
método principal p/la 
abstracción de colecciones 
de valores de datos 
relacionados entre sí 
(estruct.típica arreglo)
Ej: int a[10]
ABS.UNITARIAS: En un progr. 
extenso resulta útil e incluso 
necesario reunir códigos, 
relacionados entre sí, en 
localizaciones específicas dentro 
del progr., ya sea en forma de 
archivos separado o como 
estruct.de leng. por separado 
dentro de un archivo.
Por ej: las librerías de Pascaly los 
paquetes de Java.
ABSTRACCIONES DE LOS LENG. DE PROGRAMACIÓN (CONT)
ABST.DE CONTROL: resumen las prop.de la transferencia de ctrl, es decir de modificac.de la trayectoria de ejecución 
de 1progr.con base en 1 situación determinada. Ej. bucles, sentencias condicionadas y las llamadas de procedimientos).
ABS.BASICAS:
son sentencias 
en 1 leng. que 
combinan 
unas cuantas 
instrucciones 
de máquina 
en 1 sent. 
abstracta mas 
comprensible. 
Por ej: x= x + 3
ABS.ESTRUCT.: dividen 1 progr.en grupo de 
instrucc. anidadas dentro de pruebas que 
gobiernan su ejecución
Ej. if ( x>0) { numsolns = 2;} else { numsolns=0; }
Otro mecanismo es el proced.o subprogr.
La abstracción del proced. involucra: 
Declaración de proced.: consiste en definirlo 
dándole un nombre y asociándolo con las 
acciones que se van a llevar a cabo
Invocación del proced.: Es el punto en el que 
procedimiento debe ser llamado p/que las 
acciones se ejecute
Ej. Procedure gcd (u,v,:int; x:out int) is ....
Program..... gcd(num1, num2, result)
ABS.UNITARIAS: Su finalidad es incluir 1
colección de proced.q proporcionen 
servicios relacionados lógicamente 
con otras partes del progr.y q forman 
1parte unitaria o indep.del progr.
Los proced. pueden reunirse en 1 
unidad de progr.que puede traducirse 
x separado y usarse x otras partes del 
progr.con 1 interfaz cuidadosamente 
controlada, permitiendo que se 
entienda el progr. en su totalidad sin 
necesidad de conocer los detalles 
que la unidad proporciona.
Otro mecanismo es la progr.en
Paralelo, q permite ejecución, 
sincronización y comunicación. Ej. Hilos 
en JAVA
Florencia
Resaltado
Florencia
Resaltado
DEFINICIÓN FORMAL DE LENGUAJE
Un leng.de progr.necesita 1 descripción completa, formal y precisa. Sin 1 noción clara del efecto de las 
construcciones del leng. NO se tendrá 1 idea precisa de que tipo de procesamiento se está ejecutando
Otras Razones
Necesidad de 
independ.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 1 definición 
formal aportan 
disciplina
durante el 
diseño 
de1leng
DEFINICIÓN DEL LENGUAJE
 Es la descripción de las maneras en q las diferentes partes del leng. 
pueden ser combinadas p/formar otras partes. 
 Ej: la sintaxis del enunciado if en “C” se puede describir: “Un enunciado if
está formado por la palabra “if” seguida de 1expresión entre paréntesis, 
de 1enunciado, de 1parte “else” opcional q consiste en la palabra “else” 
y de otro enunciado“.
 Un problema relacionado con la sintaxis de 1leng.de progr.es su estruct. 
léxica, similar a la ortografía en 1leng.natural. La estruct.léxica es la 
estruct.de las palabras del leng. que gralte. se conocen como tokens.
En una estruct. if las palabras “if” y “else” son tokens. Otros tokens en leng.de
progr.incluyen identificadores (o nombres) símbolos p/operaciones como 
“+” y “<=“ y símbolos especiales de puntuación como “;”
SEMANTICA: es el significado
SINTAXIS: es la estructura
SINTAXIS
DEFINICIÓN DEL LENGUAJE
 DIFICULTAD  “significado” se puede definir de diversas formas, describir el signif. De1porción 
de código involucra algún tipo de descripc.de los efectos de su ejecución. No existe1manera 
de estandarizar esta descripc.
 Ej: en el enunciado if de “C” la descripción semántica sería: “Un enunciado “if” es ejecutado. 
1ro. evaluando su expresión, q debe ser tipo aritmético o apuntador, incluyendo todos los 
efectos posibles, y si se compara diferente de 0, el enunciado que sigue a la expresión es 
ejecutado. Si existe 1parte else y la expresión es 0, el enunciado que sigue al “else” es 
ejecutado.” 
 Inconvenientes: 
 La descripción no menciona q ocurre si la condición se evalúa igual a 0, sin existir una 
parte “else”(presumiblemente no ocurre nada, es decir, el progr.seguirá en el 
pto.siguiente después del enunciado if).
 El enunciado “if” es seguro en el sentido que no existen otros mecanismos del leng. q 
permitan q se ejecuten los enunciados dentro de un enunciado “if” sin la evaluac. 
correspondiente de la expresión “if”. De ser así entonces un “if” proporciona la protección 
adecuada contra errores durante la ejecución, como en el caso de la división por 0
 Se han desarrollado varios sist.de notación p/definiciones formales: la semántica 
operacional, la semántica denotacional y la semántica axiomática
SEMANTICA

Continuar navegando