with ada.text_io; use ada.text_io; with ada.integer_text_io; use ada.integer_text_io; procedure procs2 is procedure sums(a, b, c: integer; sa, sb, sc: in out integer) is begin sa := sa + a; sb := sb + b; sc := sc + c; end sums; procedure calc(a: integer; b, c: out integer) is begin -- get(a); b := a**2; c := a**3; end calc; procedure put(a, b, c: integer) is -- procedure put(a, b, c: in integer) is begin ada.integer_text_io.put(a); new_line; ada.integer_text_io.put(b); new_line; ada.integer_text_io.put(c); new_line; end put; d: integer; dcu, dsq: integer; -- dcu, dsq: constant integer := 0; sumd, sumdcu, sumdsq: integer := 0; c: Character; begin loop --while not end_of_file loop begin get(d); calc(d, dsq, dcu); sums(d, dsq, dcu, sumd, sumdsq, sumdcu); put(d, dsq, dcu); put(sumd, sumdsq, sumdcu); exception when data_error => put("a data error occurred"); get(c); when others => put("others occurred"); end; end loop; end procs2;