Помогите решить задачи на цикл с параметром.
Решения оформить как в Паскале.

1) задать 5 чисел. найти среднюю сумму положительных чисел, произведение чисел, некратных 12 и количество четных чисел среди заданных
2)В фирме работают 5 сотрудников. какую сумму нужно заказать в банке для выплаты им заработной платы, если их зарплата меняется каждый месяц и задаётся бухгалтером с клавиатуры ?
3)Задать 20 чисел.найти среднее произведение чисел, больших 8 и сумму чисел, некратных 15.

1

Ответы и объяснения

Лучший Ответ!
2014-04-06T00:03:55+00:00
1-задача
var    A:array[1..5] of integer;
 s,P,K,i,c :integer;
begin
   for I:=1 to 5 do begin
      write('ведите число ');
      readln(A[i]);
   end;
   S:=0; c:=0;
   P:=1; K:=0;
   for I:=1 to 5 do begin
      if  a[i]>0 then begin S:=S+A[i]; c:=c+1; end;
      if (a[i] mod 12)<>0 then P:=P*A[i];
      if (a[i]mod 2)=0 then K:=K+1;
   end;
   writeln('средняя сумма положительных чисел= ',S/c) ;
   writeln('произведение чисел не кратных 12= ',P) ;
   writeln('количество чётных чисел= ',k) ;
end.
можно сделать и с одним циклом. если надо - отпишись.

задача 2
расчёт с учётом того что у сотрудников разная ЗП
тоже можно сделать с одним  циклом.
var    A:array[1..5] of integer;
   i,zp:integer;
begin
   for I:=1 to 5 do begin
    write('ведите зарплату сотрудника ',i,': ');
    readln(A[i]);
   end;
  ZP:=0;
  for I:=1 to 5 do ZP:=ZP+A[i];
  write('общая сумма=',ZP);
   end.
задача 3
var    A:array[1..20] of integer;
   i,P,S,summ:integer;
begin
   for I:=1 to 20 do begin
    write('ведите число ');
    readln(A[i]);
   end;
  P:=1; S:=0;Summ:=0;
  for I:=1 to 20 do begin
    if A[i]>8 then  begin P:=P*a[i];S:=S+1; end;
    if (A[i]mod 15)<>0 then summ:=summ+A[i];
  end;
  writeln('среднее произведение чисел больше 8= ',P/S);
  write('семма чисел не кратных 15= ',summ);
   end.

и это тоже можно с одним циклом
a - это переменная, куда мы забиваем зарплату сотрудника
var a,i,P,S,summ:integer;
begin
for I:=1 to 20 do begin
P:=1; S:=0;Summ:=0;
write('ведите число ');
readln(a);
if a>8 then begin P:=P*а;S:=S+1; end;
if (а mod 15)<>0 then summ:=summ+а;
end;
writeln('среднее произведение чисел больше 8= ',P/S);
write('семма чисел не кратных 15= ',summ);
end.
а если зарплата не известна?
Комментарий удален
Комментарий удален