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

Slides:



Advertisements
Presentaciones similares
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Advertisements

Programación de Computadores
Prototipo de compilador didáctico del lenguaje LC99
ADA: lenguaje de programación concurrente
Metodología de la Programación
Elementos básicos del Lenguaje
Programación modular Procedimientos y Funciones
Procedimientos y Funciones
Subprogramas: Procedimientos
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Tipo de Dato Abstracto Tipos de datos:
EXCEPCIÓN DE ERRORES.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Teoría de lenguajes y compiladores
Aspectos Avanzados de Haskell
Programación Orientada a Objetos en Java
¿Para qué se utiliza el PSEINT?
Conceptos Básicos de Java
Funciones en lenguaje C
Subrutinas.

Material de apoyo Unidad 2 Estructura de datos
Universidad de Tarapacá Fundamentos Lenguaje y Programación Rodrigo Cornejo Mejías Jonathan Cea Chávez Marcelo Gómez Gonzales.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Fundamentos de Programación
Nombre, Alcance y Asociaciones (Bindings). Agenda Definición Nombre y Bindings Binding Time Importancia del Binding Time Eventos relacionados a la Asociación.
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
PROCEDIMIENTOS FUNCIONES
Descomposición Modular. Funciones
1.1 Concepto y terminología
PUNTEROS Ing Anghello Quintero.
Programación en Pascal
Fundamentos de Programación
Alcance Dinámico La Asociación Actual para un Nombre dado es el encontrado recientemente durante la ejecución, y no a sido destruido aun por el retornado.
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Unidad II Introducción a la programación en C++

APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Elementos básicos del lenguaje
APUNTADORES.
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Curso de C # República Bolivariana de Venezuela Área de Computación
Términos algoritmo diseñar algoritmo implementar algoritmo
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Contenido:  ¿Qué son los Punteros?  Los Procedimientos: New y Dispose.
1 5. UNIDADES DE PROGRAMAS. 2 Uso de mecanismos de control de secuencia de: Invocaciones Retornos Entre: PPSP 1 a) I R SP 1 SP 2 b) I R Unidades subordinadas.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Teoría de lenguajes y compiladores
PRINCIPIOS DE PROGRAMACIÓN
Operaciones Algebraicas
Declaraciones. 1 Nombres de identificadores Identificador: – Nombres usados para referirse a las variables, identificar funciones o etiquetas definidos.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Lic. Carla Aguirre Montalvo
Programación de Computadores
FUNDAMENTOS DE PROGRAMACION
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Uso de Procedimiento y Funciones Conceptos básicos.
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
EL TIPO DE DATO LOGICO y constantes.
Conceptos y Lenguaje Imperativo
MEMORIA DINÁMICA.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
Tema 1. Estructuras de datos Objetivo: Objetivo: El alumno resolverá problemas de almacenamiento, recuperación y ordenamiento de datos y las técnicas de.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Transcripción de la presentación:

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

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>;

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 .

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 (1 .. 40);

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

Á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).

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).

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.

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.

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.

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.