next up previous contents
Siguiente: Números enteros Subir: Texto Anterior: Escribir una frase   Índice General

Leer una frase

Para realizar cualquier lectura de datos es necesario especificar el nombre de una variable. Para leer texto la variable debe ser de tipo String. Tenemos dos formas de leer una frase:

  1. Text_IO.Get(). Lee del teclado una frase hasta que se llene la variable especificada. Por ejemplo:
                with Text_IO;
                procedure Lee_Frase_1 is
                   Linea   : String (1 .. 20);
                begin
                   Text_IO.Put ("Escribe algo:");
                   Text_IO.Get (Linea);
                   Text_IO.New_Line;
                   Text_IO.Put_Line (Linea);
                end Lee_Frase_1;
    

    En este ejemplo Ada escribe en pantalla la frase ``Escribe algo:'' y espera (mediante Text_IO.Get) hasta que terminemos de introducir 20 caracteres. Cuando hayamos escrito los 20 caracteres, Ada salta a la línea siguiente (porque hemos puesto Text_IO.New_Line) y a continuación escribe en pantalla todo lo que leyó y salta a la línea siguiente (porque le dijimos que hiciese Put_Line).

  2. Text_IO.Get_Line(). Lee del teclado una frase hasta que pulsemos la tecla RETURN o la tecla ENTER. Como ahora el número de caracteres que le damos a Ada no tiene que coincidir con el tamaño de la variable, para utilizar Text_IO.Get_Line debemos utilizar dos variables. En la primera Ada nos da los caracteres que lee desde el teclado; en la segunda nos dice cuantos caracteres son. Por ejemplo:
                with Text_IO;
                procedure Lee_Frase_2 is
                   Linea    : String (1 .. 20);
                   Longitud : Natural;
                begin
                   Text_IO.Put ("Escribe algo:");
                   Text_IO.Get_Line (Linea, Longitud);
                   Text_IO.New_Line;
                   Text_IO.Put_Line (Linea (1 .. Longitud));
                end Lee_Frase_2;
    

    Igual que en el ejemplo anterior, Ada comienza escribiendo en pantalla la frase ``Escribe algo:'', pero ahora espera (mediante Text_IO.Get_Line) hasta que terminemos de introducir los caracteres que queramos (como máximo 20). Cuando hayamos terminado deberemos pulsar RETURN. A continuación Ada salta a la línea siguiente (porque hemos puesto Text_IO.New_Line y escribe en pantalla todo lo que leyó. En este caso, a diferencia del ejemplo anterior, debemos decir que de los 20 caracteres de la línea, sólamente queremos escribir en pantalla los que hay hasta la longitud de lo que se leyó. El resto no ha sido utilizado por Ada y, por tanto, no debemos utilizarlo tampoco nosotros.


next up previous contents
Siguiente: Números enteros Subir: Texto Anterior: Escribir una frase   Índice General
Javier Miranda 2002-10-03