Да, это должно решаться одной программой.const n=15;var a: array[1..n] of integer; k,k2: integer; i: byte;begin randomize; k:=0; writeln ('Исходный массив:'); for i:=1 to n do begin a[i]:=random(10); write (a[i]:3); if a[i]=8 then begin k:=k+1; a[i]:=0; end; end; writeln; if k=0 then writeln ('Нет элементов, равных 8') else writeln ('Количество элементов, равных 8: ',k); k2:=0; writeln; writeln ('Измененный массив:'); for i:=1 to n do begin write (a[i]:3); if a[i]=0 then k2:=k2+1; end; writeln; if k2=0 then writeln ('Нет элементов, равных 0') else writeln ('Количество элементов, равных 0: ',k); a[n]:=k*8; writeln ('Сумма первоначальных восьмерок и нулей = ',a[n]); writeln ('Количество восьмерок (изначальных) и нулей = ',k+k2); end.------------------------------------Результат:Исходный массив: 5 8 2 2 3 7 2 8 3 3 4 2 3 2 5Количество элементов, равных 8: 2Измененный массив: 5 0 2 2 3 7 2 0 3 3 4 2 3 2 5Количество элементов, равных 0: 2Сумма первоначальных восьмерок и нулей = 16Количество восьмерок (изначальных) и нулей = 4