ADA - Unir en un solo tipo ['a',z'']U['A','Z']U{'ñ','Ñ'}

 
Vista:

Unir en un solo tipo ['a',z'']U['A','Z']U{'ñ','Ñ'}

Publicado por Anikilator (2 intervenciones) el 27/02/2007 15:16:26
Necesito saber como podría redactar un tipo en ADA con estos datos:

Letra = ['a','z'] U ['A','Z'] U {'ñ', 'Ñ'}

El tipo seria un tipo_letra que en un principio podría escribir asi:

TYPE Tipo_Letra is character range 'a'..'z';

Pero el problema es que tengo que unir tambien ('A' , 'Z') y {'ñ' , 'Ñ'}

Mi pregunta es como puedo unir en un solo tipo esos tres intervalos.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Definición de un tipo que combina varios rangos de caracteres

Publicado por Alejandro (155 intervenciones) el 30/06/2023 18:20:41
Para combinar los tres intervalos en un solo tipo en Ada, puedes utilizar la cláusula `or` para unir las rangos de caracteres. Aquí tienes un ejemplo de cómo podrías definir el tipo `Tipo_Letra` que incluya los intervalos ['a','z'], ['A','Z'] y {'ñ', 'Ñ'}:

1
subtype Tipo_Letra is Character range 'a'..'z' or 'A'..'Z' or 'ñ'..'Ñ';

En este caso, estamos definiendo `Tipo_Letra` como un subtipo de `Character` que puede tomar cualquier valor dentro de los rangos especificados.

Puedes utilizar este tipo en tu programa de la siguiente manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
with Ada.Text_IO;
 
procedure Main is
   -- Declaración de una variable de tipo Tipo_Letra
   letra : Tipo_Letra;
begin
   -- Asignación de un valor válido
   letra := 'a';
 
   -- Impresión del valor
   Ada.Text_IO.Put_Line(letra);
 
   -- Asignación de un valor inválido
   letra := '0'; -- Generará un error de compilación
 
   -- ...
end Main;

Recuerda que al definir el tipo `Tipo_Letra` de esta manera, solo se permitirán los caracteres dentro de los rangos especificados, es decir, las letras minúsculas ('a'..'z'), las letras mayúsculas ('A'..'Z') y los caracteres especiales ('ñ'..'Ñ').

Espero que esto resuelva tu duda. ¡Buena suerte con tu programación en Ada!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar