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

Curso de Ada - Enteros

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

Tipos enteros con signo

Un tipo entero con signo se define declarando un rango, por ejemplo:

type Índice is range 1 .. 50;
 

Los extremos del rango se pueden consultar con los atributos 'First y el 'Last del tipo.

Cuando se asigna un valor a una variable de este tipo, se chequea en tiempo de ejecución si pertenece al rango. En caso negativo se levanta la excepción Constraint_Error.

El compilador puede definir el tamaño más eficiente para el tipo a no ser que se defina una cláusula de representación.

type Índice is range 1 .. 50;
 for Índice'Size use 8;
 

Ejemplo

El siguiente ejemplo, tomado del wikilibro en inglés sobre Ada, define un nuevo rango de -5 a 10 e imprime el rango completo.

-- File: range_1.adb (view) (download)
 
 with Ada.Text_IO;
 
 procedure Range_1
 is
   type Range_Type is range -5 .. 10;
 
   package T_IO renames Ada.Text_IO;
   package I_IO is new  Ada.Text_IO.Integer_IO (Range_Type);
 
 begin
   for A in Range_Type loop
      I_IO.Put (
         Item  => A,
         Width => 3,
         Base  => 10);
 
      if A < Range_Type'Last then
         T_IO.Put (",");
      else
         T_IO.New_Line;
      end if;
   end loop;
 end Range_1;
 

En el paquete Standard se predefinen varios tipos enteros con signo, como Integer (y sus subtipos Natural y Positive), Short_Integer, Long_Integer y posiblemente otros (dependiendo del compilador). Estos tipos tienen los tamaños más adecuados para la arquitectura del computador. Si no tienes razones para definir nuevos tipos enteros, considera usar estos tipos o un subtipo de ellos.

Enteros modulares

Los enteros modulares no tienen signo y son cíclicos, es decir no se produce desbordamiento (overflow) sino wrap-around. Para estos tipos están predefinidos los operadores lógicos (and, or, xor) para realizar operaciones a nivel de bits.

Se definen así:

type Nombre is mod Módulo;
 

Donde el 'First es 0 y 'Last es Módulo - 1. Como los tipos modulares son cíclicos last + 1 \equiv first y first - 1 \equiv last.

Se puede definir un subtipo de un tipo modular:

type Byte is mod 256;
 subtype Medio_Byte is Byte range 0 .. 127;
 

Pero, cuidado porque el módulo de Medio_Byte sigue siendo 256.

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

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 »
Publicidad, término utilizado para referirse a cualquier anuncio destinado al público y cuyo objetivo es... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Gente Wiki
josecagp
Licenciado en educación con 12 años experiencia en cargos administrativo y docente en el sector educación, en instituciones de gestión...
Pedagogía, Técnicas de presentación,...
Juan S. Cisterna Araneda
Jefe de Operaciones, Instructor Especialista en Montaña, Especialista en Rescates.
Actividades lúdicas, Esquí,...
Paul Pizarro
Administrador de profesión, diplomado en finanzas, actualmente estoy avocado al campo tecnológico como consultor en una empresa dedicada a las...
Control y operaciones aéreas, Gestión del conocimiento,...
Alberto Vecino Pico
Contador público, especialista en gerencia tributaria, docente de la universidad cooperativa de colombia en el área contable y tributaria por...
Impuestos, Asesoría fiscal,...
Ruben Rangel
Consultor sap modulo sd, con disposicion a integrar un equipo de colaboradores.
Ibrahin Bon Planas
Soy profesor de informática de la universidad pedagógica "frank país garcía" de la provincia de santiago de cuba, además de...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?