-- This program illustrates some simple array operations -- with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; procedure printall is MaxSize: Constant Integer := 10; type IntArray is array (1 .. MaxSize) of Integer; a: IntArray; n, nsquared: Integer; begin -- Fill the array by reading MaxSize integers from standard input for i in a'range loop get(n); a(i) := n; end loop; -- Print the values in the array and their squares for i in a'range loop n := a(i); nsquared := n * n; put(n); put(nsquared); new_line; end loop; new_line; -- Print the values in the array and their squares, in reverse for i in reverse a'range loop put(a(i)); -- No extra variable this time put(a(i) ** 2); new_line; end loop; end printall;