-- In order to get you started, this is the structure of the first -- homework problem. It can be used as-is or modified to suit your -- needs. It was compiled and executed as listed here on the input -- data change.dat -- -- A possible start to homework 1. make change is file change2.adb with Ada.Text_IO ; -- no "use" statement, thus package use is explicit procedure Change2 is subtype Amount_Type is Integer range 1 .. 99 ; -- no zero allowed Amount , Quarters , Dimes , Nickels , Pennies : Amount_Type ; package Amount_IO is new Ada.Text_IO.Integer_IO ( Amount_Type ) ; begin loop -- start an infinite loop begin -- create a block with an exception handler in order to stay in -- the loop even if bad input occurs Amount_IO.Get ( Amount ) ; -- read something of Amount_Type Amount_IO.Put ( Amount , 3 ) ; -- print what is read, 3 digits Ada.Text_IO.Put_Line ( " = input Amount " ) ; -- -- PUT YOUR CODE HERE TO COMPUTE CHANGE -- exception when Ada.Text_IO.Data_Error => Ada.Text_IO.Put_Line ( " BAD INPUT DATA, IGNORED" ) ; Ada.Text_IO.Skip_Line ; -- remove stray crud from STANDARD_INPUT end ; -- end of block within loop end loop ; -- the only exit is when an end-of-file occurs ^Z or ^D exception when Ada.Text_IO.End_Error => -- this gets end-of-file Ada.Text_IO.Put_Line ( " end of change run" ) ; end Change2 ; -- change.dat is the following: ( not the "--" in the file ) -- 99 -- 94 -- 25 -- 10 -- 5 -- 1 -- -5 -- 100 -- ABC -- 1 -- -- gnatmake change2.adb -- change2 < change.dat to run program with input file -- change2 < change.dat > change.out to get output to turn in