La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)

Presentaciones similares


Presentación del tema: "Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)"— Transcripción de la presentación:

1 Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)

2 Variables en Ada El concepto de variable en Ada en esencia es el mismo que une a todos los LP Imperativos , en Ada son llamados objetos (espacios de memoria) cuya información puede cambiar durante la ejecución del programa (la información cambia dentro de el conjunto que abarque su tipo Integer , Float etc.) . <identificador> : <tipo> ; <identificador> : <tipo> := <valor>;

3 Asignación La asignación en Ada es denotada por := , y ésta se realiza de derecha a izquierda siempre , es decir a la izquierda de := siempre debe haber una variable a la cual se le asignara un valor. A la derecha puede haber , operaciones , funciones etc. Al ser un lenguaje fuertemente tipado Ada , no permite asignaciones entre distintos tipos incluso si un conjunto es subconjunto de otro .

4 Tipos primitivos proveídos por el lenguaje.
Los tipos primitivos de datos proveídos por Ada son seis : Integer : Tipo que abarca los enteros positivos y negativos . Natural : Este tipo de dato contiene números positivos mas el cero. Positive: Solamente permite números positivos. Float: Tipo que almacena cualquier número real . Char : Guarda un carácter. String: Almacena un número definido de caracteres . Nótese que Natural y Positive son subtipos restringidos de Integer y la razón porque Ada los usa es para poder identificar errores más fácilmente. Ejemplo de declaración de un string . Nombre_Completo : String ( );

5 Enlaces de Tipos a variables y tiempo de vida
Enlaces de tipos a variables. Comprobación de tipos. Los enlaces de tipos a variables y su comprobación de tipos en nuestro lenguajes ocurren en tiempo de compilación y son estáticos. Las comprobaciones de tipos en Ada son dos las del tipo legal para el compilador y las hechas por casting , debido a su fuerte tipamiento Ada no acepta comprobaciones implícitas es decir no hay equivalencia de tipos. Tiempo de vida de las variables Ada tiene variables estáticas (globales) que son declaradas al inicio del procedimiento principal del programa , su tiempo de vida es durante toda la ejecución del programa Stack dinámicas :locales son liberadas al momento de terminar la ejecución de su bloque correspondiente .Son declaradas al comienzo de cada subprograma Heap dinámicas punteros access liberados en cuanto termina la ejecución del bloque de instrucciones correspondiente

6 Ámbito de las variables
Ada distingue entre la declaraciones de nuevos identificadores y las instrucciones que los usan. Obviamente las declaraciones deben preceder a las instrucciones. Un bloque consta de dos partes la primera que es la parte de declaraciones de variables y la otra que es la parte de las instrucciones que comienza con begin y termina con end <nombre bloque> . Procedure ejemplo is P,Q : Integer :=1; Begin P=Q+5; End ejemplo; Al igual que otros lenguajes Ada maneja la idea de ocultamiento (hiding).

7 Tipos abstractos de datos en Ada
En nuestro LP los tipos abstractos de datos son llamados paquetes (packages) , su función principal como todo tipo abstracto es la ocultación de información para un mejor modelamiento de nuestro programa . Un paquete de datos (Package o clase en c++) se divide en dos partes principales : La interfaz que es homologo al public en c++ y es donde se declaran todas las constantes , funciones y procedimientos del paquete .Su importancia es vital ya que es la parte que se relaciona con el mundo exterior de la clase . La segunda parte de el paquete es el cuerpo es el homologo a la parte privada en c++ a diferencia de c++ , dentro del cuerpo de el paquete van las especificaciones de las funciones y procedimientos(métodos de la clase).

8 Estructuras Hay un tipo de paquete que puede tener todos sus datos públicos , este sería algo muy parecido a una estructura en c++ (struct) , se declaran como una interfaz con variables sin funciones ni procedimientos, por ende tampoco tiene body este paquete.

9 Subrutinas Ada tiene dos tipos de subrutinas los procedimientos (procedure , bloques que realizan instrucciones sin retornar ningún valor ) y las funciones (function , que retornan un valor). Las acciones a realizar en un subprograma se describen dentro de lo que se denomina “cuerpo del subprograma”, el que es declarado de la manera usual en la parte declarativa de, por ejemplo, un bloque u otro subprograma.

10 Funciones. Todas las funciones comienzan con la palabra reservada function seguida del nombre (identificador) de la función. Si existen parámetros, después del identificador se entrega una lista con los parámetros (separados por “;”) encerrada entre paréntesis. Luego de la lista de parámetros (si existe) viene la palabra return y el tipo (o subtipo) del valor de retorno de la función. Tanto el tipo de los parámetros como del valor de retorno debe ser indicado con un identificador de tipo (o subtipo) declarado previamente.

11 Procedimientos Los procedimientos son subprogramas que no retornan un valor y son llamados como instrucciones. Los parámetros pueden ser de tres tipos: in, out o in out. Si no se indica el modo se asume que el parámetro es de entrada (in). 1) in: El parámetro formal es una constante y se permite sólo la lectura del valor asociado al parámetro real. 2) in out: El parámetro formal es una variable y se permite tanto la lectura como la actualización del valor asociado al parámetro real. 3) out: El parámetro formal es como una variable, se permite sólo la actualización del valor asociado al parámetro real. No se puede leer su valor.

12


Descargar ppt "Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)"

Presentaciones similares


Anuncios Google