with ada.text_io; use ada.text_io;

with ada.integer_text_io; use ada.integer_text_io;

procedure table2 is

    procedure putHeader is
    begin
        put_line("          I       I**2       I**3");
        put_line("        --------------------------");
    end putHeader;


    procedure putRows(s: Integer; f: Integer) is
    begin

        for i in s .. f loop
            put(i);
            put(i ** 2);
            put(i ** 3);

            new_line;
        end loop;

    end putRows;

    -- Variables for main routine (ie table2)
    start: Integer := 2;
    finish: Integer := 10;


begin  -- Beginning of table2

    putHeader;

    putRows(start, finish);

end table2;