Descarga la aplicación para disfrutar aún más
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
Compartir