Определить значение F и выдать результат на экран, если F= (K1+K2)*М1- (S1+S2)*М2, где: К1- количество отрицательных чисел массива А из N элементов, S1 — сумма отрицательных чисел массива А из N элементов, К2- количество отрицательных чисел массива В из К элементов, S1 — сумма отрицательных элементов массива В из К элементов, М1 — минимальный элемент массива А из N элементов, М2 — минимальный элемент массива В из К элементов. Примечание. 1). Значения К, N, способ создания массива, тип элементов выбрать самостоятельно. 2). Для определения значений К1, К2, S1, S2, М1, М2 разработать подпрограммы.- Pascal(Паскаль)

Program Z1;
const
 n1=20;                     {Наибольшее кол-во чисел в массиве}
 n=3;                             {Кол-во  элементов массива А}
 k=3;                             {Кол-во  элементов массива B}
 m=20; l=10;         {Константы для генератора случайных чисел}
type
 ta=array[1..n1] of integer;           {Имя типа массива А и В}
var
 a , b   :ta;        {a и b- массивы чисел }
 k1, k2,            {Кол-во отрицательных чисел массивов А и В}
 s1, s2,             {Суммы отрицательных чисел массивов А и В}
 m1, m2,i :integer;          {Минимальные числа массивов А и В}
 f        :integer;
function fk(var fab:ta;fnk:integer):integer; {Определение кол-ва отрицательных чисел}
var i,k :integer;
 begin
  k:=0;
  for i:=1 to fnk do                 {счетчик от одного до количества елементов в масиве}
  if fab[i] < 0 then k:=k+1;             {если число меншн нуля то количество +1}
  writeln (k) ;
  fk:=k;
 end;
function fs(var fab:ta;fnk:integer):integer; {Определение суммы отрицательных чисел}
var i,s :integer;
 begin
  s:=0;
  for i:=1 to fnk do
   {счетчик от одного до количества елементов в масиве}
  if fab[i]<0 then   s:=s+fab[i];{если число менше 0 то прибаветь к суме}
  writeln (s);
 fs:=s;
 end;
function fm(var fab:ta;fnk:integer):integer;                  {Определение маименьших чисел в массиве}
var i,m,id :integer;
 begin
  m:=fab[1];                {определяеим первое число масива как наменшее}
  for i:=1 to fnk do
  if fab[i]<m {если следущее число масива менше}
  then m:=fab[i]; {определяем его наименшим числом}
  fm:=m;
 end;
 
begin
randomize;
for i:=1 to k do
 begin
  b[i]:=Random(m)-l;{массива В с помощью генератора случайных чисел}
  writeln('b[',i,']= ',b[i]);
 end;
for i:=1 to n do
 begin
  a[i]:=Random(m)-l;{массива a с помощью генератора случайных чисел}
  writeln('a',i,']= ',a[i]);
 end;
k1:=fk(a,n);         {Количество отрицательных чисел массива А}
k2:=fk(b,k);         {Количество отрицательных чисел массива В}
s1:=fs(a,n);             {Сумма отрицательных чисел массива А}
s2:=fs(b,k);             {Сумма отрицательных чисел массива В}
m1:=fm(a,n);                           {Минимальное число массива А}
m2:=fm(b,k);                           {Минимальное число массива В}
f :=(k1+k2)*m1-(s1+s2)*m2;                      {Результат решения задачи}
writeln('k1= ',k1,' k2= ',k2,' s1= ',s1,' s2= ',s2,' m1= ',m1,' m2= ',m2);
writeln('f= ',f);
readln;                             { пауза }
end.

Leave a Comment

90 − 82 =