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
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);
end;
end loop;
end procs2;