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

Curso de Ada - Tipos

 ****- (10 opiniones)
GNU Free Documentation License Curso gratis de José Alfonso Malo Romero - 16 de Marzo de 2006
Temas Relacionados: Programación estructurada
7. Tipos

Clasificación de tipos

Jerarquía de tipos en Ada
Jerarquía de tipos en Ada

Los tipos de Ada se pueden clasificar en:

Declaración de tipos

Para definir un tipo no estándar, se puede emplear el siguiente esquema:

declaración_tipo ::= type identificador is definición_tipo ;
 

Sirvan como ejemplos las siguientes definiciones de tipos:

-- Escalares discretos no estándar:
 -- 
 type TIndice is range 1..50;
 
 -- Escalares reales no estándar:
 -- 
 type TPeso is digits 10;  -- Coma flotante con precisión de 10 cifras.
 type TMasa is delta 0.01 range -12.0 .. 12.0; -- Coma fija 0.01 precis.
 
 -- Enumeración:
 -- 
 type TColor is (ROJO, VERDE, AZUL);
 
 -- Vectores:
 -- 
 type TMatriz is array (1..10, 1..10) of Float;
 type TVector5 is array (TIndice range 5..10) of Float;
  
 -- Registros:
 -- 
 type TVálvula is
   record
     Nombre: String(1..20);
     Abierta: Boolean;
     VelocidadLíquido: Float range 0.0 .. 30.0;
   end record;
 
 -- Punteros:
 -- 
 type PEntero is access Integer;
 
-- Arrays irrestringidos. Tienen un número indefinido de
 -- elementos. Es necesario especificar los límites al declarar
 -- variables de ese tipo.
 -- 
 declare
   type TVectorIndef is array (Integer range <>) of Float;
    V: TVectorIndef (1..4);
 begin
    V(1) := 10.28;
    V := (1.2, 1.5, 1.8, 1.3);
    V := (1 => 1.2, 2 => 1.7, others => 0.0);
 end;
 

Algunos atributos aplicables a tipos

Los atributos son operaciones predefinidas que se pueden aplicar a tipos, objetos y otras entidades. Por ejemplo estos son algunos atributos aplicables a tipos:

  • Last: Integer'Last es el máximo valor que puede tomar la variable de tipo Integer. También es el último valor de un tipo enumerado o del índice de un vector.
  • First: Integer'First es el mínimo valor que puede tomar la variable de tipo Integer. También es el primer valor de un tipo enumerado o del índice de un vector.
  • Range: Vector'Range indica el rango que ocupa la variable Vector, es decir, equivale a Vector'First..Vector'Last. En el caso de más de una dimensión, el valor Matriz'Range(1) indica el rango de la primera dimensión.
  • Succ: TColor'Succ(ROJO) indica el siguiente valor a ROJO que toma el tipo TColor, si no existe, se eleva la excepción Constraint_Error.
  • Pred: TDía'Pred(VIERNES) indica el anterior valor a VIERNES que toma el tipo TDía, si no existe, se eleva la excepción Constraint_Error.
  • Pos: El atributo Pos indica la posición ocupada por un determinado valor en un tipo enumeración. Por ejemplo: TColor'Pos(ROJO). La primera posición se considera 0.
  • Val: El atributo Val indica el valor que ocupa una determinada posición en un tipo enumeración. Por ejemplo: COLOR'Val(1).
  • Para identificar unívocamente un valor de un tipo enumeración se emplea TColor' (ROJO) y TIndicador'(ROJO) para distinguir el valor ROJO del tipo TColor o TIndicador.

Subtipos

Los subtipos definen un subconjunto de los valores de un tipo determinado, pero no son un tipo distinto de su tipo base.

Superar una ambigüedad

En el supuesto caso de que se quiera superar una ambigüedad en el tipo de una variable (debería evitarse) en un determinado instante, se puede optar por convertirlo (no recomendable) o cualificarlo:

  • Convertir el tipo, por ejemplo: Integer(I) convierte el número I a entero.
  • Cualificar el tipo, por ejemplo: Integer'(I) interpreta I como entero.

En ambos casos, el resultado es I como entero.

Tipos avanzados

Hay otros tipos más avanzados en Ada. Puedes optar por leer estos tipos ahora o por continuar el libro por la siguiente lección Objetos (variables y constantes).

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 - Tipos'
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 - Tipos'

En la actualidad el mundo de los negocios se desenvuelve no solo dentro de los... Más »
PHP es un lenguaje en que usualmente el tipo de dato de una variable no... Más »
Excelente curso de iniciación a la astronomía para aquellos que quieran aprender sobre esta apasionante... Más »
Este es un curso tremendamente completo, guiado y con ejemplos y prácticas pensadas para convertirlo... Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y... Más »
Gente Wiki
Patricia
Mi trayectoria profesional y formativa ha estado ligada siempre al mundo del marketing y la comunicación. Hace más de dos...
Cuentas, Gestión de ventas,...
Noelia Torres
Una apasionada de los idiomas, la cocina internacional, el cine asiático y de aprender cosas nuevas cada día.
Alvaro Molina
Ingeniero comercial, 29 años, Magister en administración de empresas, Magister en gestión logística. Buenos aires, argentina intereses: procurement y pronosticos de...
Logística integral
Jose Ignacio Ruiz De La Hermosa Bou
Soy médico ginecólogo y me interesa mucho la formación pues el saber da la libertad y la independencia personal. Me...
Enfermería ginecológica
Tufik Oscar Bechir Abdala
Soy ya un hombre mayor (65 años) a quien le encanta la informática y me gano la vida como técnico...
Eric Torres
Controlador de tránsito aéreo mlitar chile facilitador ff. Hh 2 veces misiones de paz timor oriental haiti.
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?