Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Curso de Ada - Declaraciones

Curso de Ada - Declaraciones

 ****- (11 opiniones)
GNU Free Documentation License Curso gratis de José Alfonso Malo Romero - 16 de Marzo de 2006
Temas Relacionados: Programación estructurada
37. Declaraciones
Una declaración es una construcción del lenguaje que asocia un nombre con una entidad. Ada distingue cuidadosamente entre declaraciones (que introducen nuevos identificadores) y sentencias (que utilizan dichos identificadores). Hay dos clases de declaraciones:

  • Implícitas: que ocurren como consecuencia de la semántica de otra construcción.


Declaraciones de subprogramas


En ocasiones es necesario utilizar declaraciones de subprogramas, por ejemplo, si se va a utilizar la recursividad entre dos procedimientos:

procedure P; -- Declaración de P, necesaria para utilizara en Q. procedure Q is -- Cuerpo de Q. begin P; -- ... end Q; procedure P is -- Repite especificación para declarar el cuerpo. begin Q; -- ... end P;

También puede resultar útil declarar las especificaciones de los subprogramas en el comienzo del programa a modo de índice, sobre todo si hay muchos cuerpos.

Vista de una entidad


Todas las declaraciones contienen una definición de vista de una entidad. Una vista consiste en:

  • Un identificador de la identidad.

  • Características específicas de la vista que afectan al uso de la entidad a través de dicha vista.

En la mayoría de los casos, una declaración contiene la definición de la vista y de la entidad misma, pero una declaración de renombrado, sin embargo, no define una entidad nueva, sino que define una nueva vista de una entidad.

Parte declarativa


Una secuencia de declaraciones constituye una parte declarativa. Las siguientes construcciones de Ada tienen asociada una parte declarativa:

  • Bloque.
  • Cuerpo de un subprograma.
  • Cuerpo de un paquete.
  • Cuerpo de una tarea.
  • Cuerpo de una entrada a un objeto protegido.

Por ejemplo, en un procedimiento, la parte declarativa comprendería las sentencias entre procedure y begin. El cuerpo de un procedimiento puede contener en su parte declarativa el cuerpo de otro procedimiento. Por tanto, los procedimientos pueden ser declarados sin límite de niveles de anidamiento sucesivos.

En ocasiones, las declaraciones requieren una segunda parte (se dice que requieren una terminación). La declaración y su terminación deben tener el mismo nombre y deben ocurrir en la misma región declarativa. Por ejemplo, un paquete necesita un cuerpo (que sería la terminación) si en su parte declarativa contiene alguna declaración que requiere una terminación que no se encuentre en dicha declaración.

Región declarativa de una declaración


Hay que distinguir entre región declarativa de una declaración y parte declarativa. En el supuesto de una declaración de una variable (por ejemplo I: Integer := 0;) se extiende por una región de texto que abarca sólo una línea, sin embargo, otras declaraciones más complejas como procedimientos y paquetes constituyen muchas más líneas de texto. En Ada, existen las siguientes construcciones que tienen asociada una región declarativa:

  • Cualquier declaración que no sea terminación de otra.
  • Bloque
  • Bucle
  • Construcción accept.
  • Manejador de excepción.

La región declarativa de cada una de estas construcciones comprende:

  • El texto de la construcción misma.
  • Texto adicional, determinado de esta manera:
    • Si una declaración está incluida en la región, también lo está su terminación.
    • Si una unidad de biblioteca está incluida en la región, también lo están sus unidades hijas.
    • Si está incluido el requerimiento de compilación separada, también lo está su subunidad correspondiente.

Así, se pueden extraer las siguientes conclusiones:

  • La especificación de un paquete y su cuerpo forman parte de la misma región declarativa porque el cuerpo es la terminación de la especificación, por lo que no se puede declarar la misma variable en la especificación y en el cuerpo.

  • Ya que la declaración y el cuerpo de un paquete pueden estar en compilaciones distintas, la región declarativa de una declaración de paquete puede abarcar porciones de texto en varias unidades de compilación distintas.

  • Todas las unidades de biblioteca son hijas de Standard, luego toda unidad de biblioteca pertenece a su región declarativa.

Manual de referencia de Ada


Tabla de contenidos
  1. 1 - Introducción
  2. 2 - Historia
  3. 3 - Manual de referencia
  4. 4 - Instalación
  5. 5 - Hola Mundo
  6. 6 - Elementos del lenguaje
  7. 7 - Tipos
  8. 8 - Enteros
  9. 9 - Enumeraciones
  10. 10 - Coma flotante
  11. 11 - Coma fija
  12. 12 - Arrays
  13. 13 - Strings
  14. 14 - Registros
  15. 15 - Registros discriminados
  16. 16 - Registros variantes
  17. 17 - Punteros a objetos
  18. 18 - Punteros a subprogramas
  19. 19 - Tipos derivados
  20. 20 - Tipos etiquetados (orientación a objetos)
  21. 21 - Subtipos
  22. 22 - Objetos (variables y constantes)
  23. 23 - Atributos
  24. 24 - Expresiones
  25. 25 - Operadores
  26. 26 - Sentencias y estructuras de control
  27. 27 - Subprogramas
  28. 28 - Sobrecarga
  29. 29 - Entrada/salida
  30. 30 - Pragmas
  31. 31 - Interfaz con otros lenguajes
  32. 32 - Diseño y programación de sistemas grandes
  33. 33 - Paquetes
  34. 34 - Clausula use
  35. 35 - Clausula with
  36. 36 - Paquete Standard
  1. 37 - Declaraciones
  2. 38 - Ámbito
  3. 39 - Visibilidad
  4. 40 - Renombrado
  5. 41 - La biblioteca Ada (unidades y subunidades)
  6. 42 - Unidades de biblioteca
  7. 43 - Unidades hijas
  8. 44 - Subunidades
  9. 45 - Compilación separada y dependiente
  10. 46 - Tipos abstractos de datos
  11. 47 - Tipos limitados
  12. 48 - Unidades genéricas
  13. 49 - Excepciones
  14. 50 - Paquete Ada.Exceptions
  15. 51 - Concurrencia
  16. 52 - Tareas
  17. 53 - Sincronización de tareas mediante puntos de entrada o citas (entry)
  18. 54 - Aceptación de citas (accept)
  19. 55 - Selección de citas (select)
  20. 56 - Llamadas a punto de entrada complejas
  21. 57 - Tareas dinamicas: creación dinamica de tareas (tipos t
  22. 58 - Dependencia de tareas
  23. 59 - Ejemplos de tareas
  24. 60 - Programación distribuida con GLADE
  25. 61 - Novedades de Ada 2005
  26. 62 - Unidades predefinidas
  27. 63 - Paquete Ada.Strings.Fixed
  28. 64 - Paquete Ada.Strings.Unbounded
  29. 65 - Paquete Ada.Text_IO
  30. 66 - Paquete Ada.Text_IO.Editing
  31. 67 - Paquete Ada.Float_Text_IO
  32. 68 - Paquete Ada.Sequential_IO
  33. 69 - Paquete Ada.Command_Line
  34. 70 - Paquete Interfaces
  35. 71 - Recursos en la Web
Autor y licencia de 'Curso de Ada - Declaraciones'
José Alfonso Malo Romero Extraído de: http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Ada_/_Introducci%C3%B3n GNU Free Documentation License
El contenido está disponible bajo los términos de GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Curso de Ada - Declaraciones'

Excelente curso de iniciación a la astronomía para aquellos que quieran aprender sobre esta apasionante... Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y... Más »
Este es un curso tremendamente completo, guiado y con ejemplos y prácticas pensadas para convertirlo... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Publicidad, término utilizado para referirse a cualquier anuncio destinado al público y cuyo objetivo es... Más »
Gente Wiki
Giovanni Jimenez
Magister en ciencias-meteorología, Administrador aeronáutico, controlador de tránsito aéreo, docente
Meteorología
Santiago Izquierdo
Psicólogo especializado en psicología del consumidor, con larga experiencia en investigación de mercados, publicidad y ventas. Experiencia docente universitaria por...
Campañas en Internet, Fidelización en Internet,...
Ramon Lozada Devia
Soy profesional químico con estudios de maestria en bioquímica, actualmente soy docente de la universidad de sucre y de cecar,...
Víctor Raúl López Ruiz
Doctor en ciencias económicas y empresariales y licenciado en ciencias políticas y sociología. Desarrollo diferentes líneas de investigación en medición...
Dirección de empresas, MBA,...
Nerio Trino, Araujo
Soy licenciado en educacion mencion. Matematicas y fisica. Ejersi como docente en dichas äreas. Actualmente estoy jubilado del ministerio de...
Física
Waldemar Perez Abella
Trabajo como diseñador gráfico - prestoservicios de imprenta y editorial y ademas enseño diseño gráfico con la familia de coreldraw...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?