Intr Ada

Páginas: 20 (4816 palabras) Publicado: 23 de octubre de 2012
ADa

dit
UPM

Introducción a Ada
Juan Antonio de la Puente DIT/UPM

Índice
x

Introducción
– cómo escribir programas sencillos

© Juan Antonio de la Puente 2005-2007

x

Datos e instrucciones
– aspectos básicos del lenguaje

x

Abstracción de datos
– tipos de datos abstractos

x

Programación con objetos
– herencia, polimorfismo, clases e interfaces

x

Otrostemas

25/02/09

Introducción a Ada

2

© Juan Antonio de la Puente 2005-2007

Introducción

25/02/09

Introducción a Ada

3

Ada
x

Es un lenguaje imperativo, descendiente de Pascal
– estructura en bloques – fuertemente tipado – orientado a objetos

© Juan Antonio de la Puente 2005-2007

x

Es un lenguaje pensado para realizar sistemas empotrados de gran dimensión
–concurrencia y tiempo real incluidos en el lenguaje – módulos (paquetes) que se compilan por separado

x

Tres versiones normalizadas
– Ada 83 (ISO 8652:1987) – Ada 95 (ISO 8652:1995) – Ada 2005 (ISO 8652:1995 /Amd 1:2007)

25/02/09

Introducción a Ada

4

Estructura de un programa en Ada
x

Un programa en Ada se compone de una o más unidades de programa
– subprogramas(procedimientos y funciones) – paquetes (módulos) – tareas y objetos protegidos (ejecución concurrente)

© Juan Antonio de la Puente 2005-2007

x

Los dos primeros se pueden compilar por separado
– un programa se hace a base de componentes – hay un procedimiento principal que se ejecuta inicialmente
» a partir de ahí se pueden ejecutar otras unidades de programa

– normalmente se encapsula todo lodemás en paquetes
» hay una biblioteca de paquetes predefinidos » se pueden añadir otros para cada programa concreto

– el compilador comprueba todas las interfaces

25/02/09

Introducción a Ada

5

Procedimientos
x

Una abstracción básica que representa una acción:
procedure [] is begin end ;

© Juan Antonio de la Puente 2005-2007

x

Las declaraciones se elaboran alcomenzar la ejecución
– reservar memoria, asignar valor inicial, etc.

x

Las instrucciones se ejecutan después

25/02/09

Introducción a Ada

6

Ejemplo

© Juan Antonio de la Puente 2005-2007

with Ada.Text_IO; procedure Hello is use Ada.Text_IO; begin Put(“Hello”); New_Line; end Hello;

-- paquete de biblioteca -- acceso al paquete

25/02/09

Introducción a Ada

7 Compilación con GNAT
x

Compilación y montaje:
$ gcc -c hello.adb $ gnatbind hello $ gnatlink hello # compila el fichero fuente # genera código de elaboración # monta los módulos objeto

© Juan Antonio de la Puente 2005-2007

x

Se puede hacer todo de una vez:
$ gnatmake hello # compila todo lo que haga falta

x

Ejecución:
$ ./hello

25/02/09

Introducción a Ada

8

Paquetes
xUn paquete es un módulo donde se declaran datos, tipos de datos, operaciones, etc. Tiene dos partes (que se compilan por separado)
– especificación: define la interfaz visible del paquete
» declaraciones de tipos (y a veces objetos) de datos » declaraciones de operaciones (subprogramas)

© Juan Antonio de la Puente 2005-2007

x

– cuerpo: contiene los detalles de la implementación
»tipos, objetos y subprogramas adicionales (para uso local) » cuerpos de subprogramas declarados en la especificación

Todo lo que aparece en el cuerpo es invisible para el resto del programa
25/02/09 Introducción a Ada 9

Especificación de un paquete

© Juan Antonio de la Puente 2005-2007

package is end ;

25/02/09

Introducción a Ada

10

Ejemplo

package Simple_IO is
©Juan Antonio de la Puente 2005-2007

procedure procedure procedure procedure

Get (F : out Float); Put (F : in Float); Put (S : in String); New_Line;

end Simple_IO;

25/02/09

Introducción a Ada

11

Utilización de paquetes

with Simple_IO, Ada.Numerics.Elementary_Functions; procedure Root is use Simple_IO, Ada.Numerics.Elementary_Functions; X : Float; begin Put(“Enter a number...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Intr. A La
  • Intr
  • intr
  • intr
  • intr
  • Intr
  • INTR
  • Intr

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS