-- Chapter 19 - Program 5 procedure UnaryOp is type ARY_INT is array(1..6) of INTEGER; Crowd, Group1, Group2 : ARY_INT; function "+"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is Temp_Array : ARY_INT; begin for Index in ARY_INT'RANGE loop Temp_Array(Index) := In_Array1(Index) + In_Array2(Index); end loop; return Temp_Array; end "+"; function "-"(In_Array1, In_Array2 : ARY_INT) return ARY_INT is Temp_Array : ARY_INT; begin for Index in ARY_INT'RANGE loop Temp_Array(Index) := In_Array1(Index) - In_Array2(Index); end loop; return Temp_Array; end "-"; function "+"(In_Array : ARY_INT) return ARY_INT is begin return In_Array; end "+"; function "-"(In_Array : ARY_INT) return ARY_INT is Temp_Array : ARY_INT; begin for Index in ARY_INT'RANGE loop Temp_Array(Index) := - In_Array(Index); end loop; return Temp_Array; end "-"; begin Group1 := (12, 17, -1, 3, -100, 5); Group2 := (13, -2, 22, 1, 1242, -12); Crowd := Group1 + Group2; Crowd := Group1 - Group2; Crowd := +Group1; Crowd := -Group1; Crowd := (Group1 + Group2) - (-Group1 + Group2); end UnaryOp; -- Result of execution -- (There is no output from this program)