Diferencia entre revisiones de «Programación en Ada/Unidades predefinidas/Ada.Text IO»

Contenido eliminado Contenido añadido
Especificar que es la versión Linux
Línea 7:
{{Ada/Reservada|with}} Ada.Text_IO;
{{Ada/Reservada|with}} Ada.Characters.Handling;
{{Ada/Reservada|with}} Ada.Strings.Unbounded; {{Ada/Reservada|use}} Ada.Strings.Unbounded;
{{Ada/--|Lee de entrada un número entero no dejando al usuario escribir}}
Línea 15 ⟶ 14:
{{Ada/Reservada|procedure}} Leer_Entero {{Ada/Reservada|is}}
Char : Character;
Leído : Boolean;
Fin : Boolean := False;
Cadena_Número : Unbounded_StringString (1..10);
Número : Integer := 0;
{{Ada/Reservada|begin}}
Línea 26 ⟶ 24:
Ada.Text_IO.Get_Immediate
(Item => Char,);
Available => Leído);
{{Ada/Reservada|if}} Ada.Characters.Handling.Is_Digit (Char) {{Ada/Reservada|then}}
Fin Número:= TrueNúmero+1;
Cadena_número(número):=Char;
Ada.Text_IO.Put (ASCII.BS & ' ' & ASCII.BSChar);
{{Ada/Reservada|elsif}} Char = ASCII.LF {{Ada/Reservada|then}}
Fin := True;
{{Ada/Reservada|ifelsif}} LeídoNumero>0 {{Ada/Reservada|and}} Char = ASCII.Del {{Ada/Reservada|then}}
{{Ada/--|Borra el caracter recien escrito debido al "eco"}}
Ada.Text_IO.Put (ASCII.BS & ' ' & ASCII.BS);
Número:=Número-1;
{{Ada/Reservada|end}} {{Ada/Reservada|if}};
{{Ada/Reservada|if}} Leído {{Ada/Reservada|then}}
{{Ada/Reservada|if}} Ada.Characters.Handling.Is_Digit (Char) {{Ada/Reservada|then}}
Cadena_Número := Cadena_Número & Char;
{{Ada/Reservada|elsif}} Char = ASCII.LF {{Ada/Reservada|then}}
Fin := True;
{{Ada/Reservada|else}}
{{Ada/--|Borra el caracter recien escrito debido al "eco"}}
Ada.Text_IO.Put (ASCII.BS & ' ' & ASCII.BS);
{{Ada/Reservada|end}} {{Ada/Reservada|if}};
{{Ada/Reservada|end}} {{Ada/Reservada|if}};
{{Ada/--|Espera para no saturar la CPU}}
{{Ada/Reservada|delay}} 0.01;
{{Ada/Reservada|end}} {{Ada/Reservada|loop}};
Ada.Text_IO.New_line;
Número := Integer'Value (To_String (Cadena_Número(1..Número));
Ada.Text_IO.Put_Line ({{Ada/"|Has escrito:}} & Integer'Image (Número));
{{Ada/Reservada|exception}}
{{Ada/Reservada|when}} Constraint_Error =>
Ada.Text_IO.New_line;
Ada.Text_IO.Put_Line ({{Ada/"|Lo siento: }} & To_String (Cadena_Número) &
{{Ada/"| es demasiado largo para almacenarse}});
{{Ada/Reservada|end}} Leer_Entero;