with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; procedure table3b is -- Precondition: sPow, fPow in 1 .. 99 procedure putHeader(sPow, fPow: Integer) is begin -- First column put(" I"); -- Columns for powers for i in sPow .. fPow loop if i in 1 .. 9 then put(" I**"); else put(" I**"); end if; put(i, 1); end loop; new_line; -- Add one to fPow to account for column for I for i in sPow .. fPow + 1 loop put("-----------"); end loop; new_line; end putHeader; procedure putRows(sInt, fInt, sPow, fPow: Integer) is tempInt: Integer; begin for i in sInt .. fInt loop put(i); for j in sPow .. fPow loop tempInt := i ** j; put(tempInt); end loop; new_line; end loop; end putRows; startI, finishI: Integer; startPower, finishPower: Integer; begin -- These lines prompt and do input -- Rest of program is unchanged put("Enter starting integer: "); get(startI); -- Input value stored in startI! put_line("Starting power is " & integer'image(startI)); put("Enter ending integer: "); get(finishI); -- Input value stored in finishI! put("Enter starting power: "); get(startPower); -- Input value stored in startPower! put("Enter ending power: "); get(finishPower); -- Input value stored in fiishPower! new_line; putHeader(startPower, finishPower); putRows(startI, finishI, startPower, finishPower); end table3b;