-- Integer variables: declaration, operations, output
with ada.text_io; use ada.text_io;
with ada.integer_text_io; use ada.integer_text_io; -- Library for integer IO
PROCEDURE int1 is
i: Integer := 11;
j: Integer;
sum, half, remainder: Integer;
BEGIN
j := 22;
sum := i + j;
half := sum / 2; -- Integer division
remainder := sum mod 2; -- Remainder operation
-- OUTPUT USING ADA.INTEGER.TEXT_IO
put(sum); -- Default width is 11
new_line; -- No put_line for integers
put(half, width => 1); -- MINIMUM width of 1. KEYWORD parameter.
new_line;
-- OUTPUT USING ADA.TEXT_IO
put_line(Integer'image(remainder)); -- Image attribute of type Integer.
-- Like toString. Must call explicitly.
put_line(remainder'img); -- Img attribute of variable remainder.
-- Not standard. Like toString.
put_line(Integer'image(-remainder)); -- Space for minus sign
END int1;
-- Output:
--| 33
--|16
--| 1
--| 1
--|-1