with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; procedure table1 is start, finish: Integer; -- Beginning and end of table numberOfRows: Integer; -- Number of rows in the table begin -- Output header put_line(" I I**2 I**3"); put_line(" --------------------------"); -- Set table beginning and end start := 2; finish := 10; -- Output rows for i in start .. finish loop -- Output one row put(i, 11); put(i**2, 11); put(i**3, 11); new_line; end loop; new_line; -- Calculate number of rows in table numberOfRows := finish - start + 1; -- Output message based on number of rows in table if numberOfRows <= 0 then put_line("Error: Start is greater than finish!"); put_line("Start:" & Integer'image(start)); put_line("Finish:" & Integer'image(finish)); elsif numberOfRows = 1 then put_line("Start and finish are the same!"); else put("Number of rows: "); put(numberOfRows, 1); -- 1 is the minimum width new_line; put("Max integer: "); put(integer'last, 1); -- 1 is the minimum width new_line; put("Min integer: "); put(integer'first, 1); -- 1 is the minimum width new_line; new_line; end if; end table1;