Первое число в каждой паре чисел заменить суммой, второе – произведением - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Задан массив D(12). Первое число в каждой паре чисел заменить суммой, второе – произведением этим чисел, если ни одно из чисел этой пары не равно нулю. В противном случае числа пары переписать в мас сив B.

Решение задачи: «Первое число в каждой паре чисел заменить суммой, второе – произведением»

textual
Листинг программы
const n=12;
var d,b:array[1..n] of integer;
    i,m,s,p:integer;
begin
randomize;
writeln('Массив D');
for i:=1 to n do
 begin
  d[i]:=random(10);
  write(d[i]:4);
 end;
writeln;
m:=0;
i:=1;
while i<n do
 begin
  if d[i]*d[i+1]<>0 then
   begin
    s:=d[i]+d[i+1];
    p:=d[i]*d[i+1];
    d[i]:=s;
    d[i+1]:=p;
   end
  else
   begin
    m:=m+2;
    b[m-1]:=d[i];
    b[m]:=d[i+1];
   end;
  i:=i+2;
 end;
writeln('Измененный массив D');
for i:=1 to n do
write(d[i]:4);
writeln;
if m=0 then write('Массив В пустой')
else
 begin
  writeln('Массив В');
  for i:=1 to m do
  write(b[i]:4);
 end;
end.

Объяснение кода листинга программы

  1. Создается константа n со значением 12.
  2. Создается переменная d типа array[1..n] of integer, где n - это значение константы n.
  3. Создается переменная b типа array[1..m] of integer, где m - это значение переменной m.
  4. Создаются три переменные i, m, s типа integer.
  5. Выполняется итерация от 1 до n.
  6. Внутри цикла d[i] присваивается случайное число от 0 до 9 (так как random(10) возвращает случайное число от 0 до 9).
  7. Выводится значение d[i].
  8. Переменная m и переменная i сбрасываются на начальные значения.
  9. Запускается цикл while.
  10. Внутри цикла проверяется условие: если d[i] * d[i+1] <> 0, то выполняется следующая последовательность действий:
    • Переменная s присваивается сумме d[i] и d[i+1].
    • Переменная p присваивается произведению d[i] и d[i+1].
    • d[i] присваивается s.
    • d[i+1] присваивается p.
  11. Если условие не выполняется, то переменная m увеличивается на 2, и переменная b[m-1] присваивается значению d[i].
    • Затем переменная b[m] присваивается значению d[i+1].
  12. После окончания внутреннего цикла while выполняется следующая последовательность действий:
    • Выводится измененный массив d.
    • Если m равно 0, выводится сообщение Массив В пустой.
    • Иначе выводится массив b.
    • Для каждого элемента массива b выводится значение в формате 4 цифры.
  13. Конец программы.

Оцени полезность:

8   голосов , оценка 3.75 из 5
Похожие ответы