Из заданных массивов сформировать новый массив по заданному правилу - Pascal

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

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

Напишите программу используя функции и процедуры. Даны массивы X(8), Z(10), W(15), элементы которых определяются по формулам: X(i)=a1i2-a2(5-i); Z(i)=c1(i-4)+c2sin2(1,5i); W(i)=d1ln(0,1i)+d2cos3(i-2,5). Мои значения коэффициентов: а1=4, а2=8, c1=2, c2=7, d1=8, d2=6. Сформируйте массив из разностей между суммами положительных элементов с чётными и нечётными индексами в массивах Х, Z, W.

Решение задачи: «Из заданных массивов сформировать новый массив по заданному правилу»

textual
Листинг программы
const nx=8;
      nz=10;
      nw=15;
      a1=4;
      a2=8;
      c1=2;
      c2=7;
      d1=8;
      d2=6;
var x,z,w,y:array [1..nw] of real;
    sc,sn:real;
    i:integer;
begin
writeln('Массив X');
sc:=0;
sn:=0;
for i:=1 to nx do
 begin
  x[i]:=a1*i*i-a2*(5-i);
  write(x[i]:6:1);
  if x[i]>0 then
   if odd(i) then sn:=sn+x[i]
   else sc:=sc+x[i];
 end;
y[1]:=sc-sn;
writeln('');
writeln('Массив Z');
sc:=0;
sn:=0;
for i:=1 to nz do
 begin
  z[i]:=c1*(i-4)+c2*sqr(sin(1.5*i));
  write(z[i]:5:1);
  if z[i]>0 then
   if odd(i) then sn:=sn+z[i]
   else sc:=sc+z[i];
 end;
y[2]:=sc-sn;
writeln('');
writeln('Массив W');
sc:=0;
sn:=0;
for i:=1 to nw do
 begin
  w[i]:=d1*ln(0.1*i)+d2*sqr(cos(i-2.5))*cos(i-2.5);
  write(w[i]:5:1);
  if w[i]>0 then
   if odd(i) then sn:=sn+w[i]
   else sc:=sc+w[i];
 end;
y[3]:=sc-sn;
writeln('');
writeln('Массив разностей сумм положительных с четными индексами и с нечетными индексами');
for i:=1 to 3 do
write(y[i]:6:1);
end.

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

  1. Объявляются и инициализируются константы:
    • nx равно 8
    • nz равно 10
    • nw равно 15
    • a1 равно 4
    • a2 равно 8
    • c1 равно 2
    • c2 равно 7
    • d1 равно 8
    • d2 равно 6
  2. Объявляются переменные массивы:
    • x массив действительных чисел с размером nw
    • z массив действительных чисел с размером nz
    • w массив действительных чисел с размером nw
    • y массив действительных чисел с размером 3
    • sc переменная типа real (действительное число) для хранения суммы положительных чисел
    • sn переменная типа real (действительное число) для хранения суммы положительных чисел
    • i переменная типа integer (целое число) для использования в циклах
  3. Вычисляют и заполняют массив X:
    • Заполняются элементы массива X по формуле для каждого i от 1 до nx
    • Вычисляется сумма положительных чисел с четными и нечетными индексами и записывается в переменные sc и sn соответственно
  4. Вычисляют и заполняют массив Z:
    • Заполняются элементы массива Z по формуле для каждого i от 1 до nz
    • Вычисляется сумма положительных чисел с четными и нечетными индексами и записывается в переменные sc и sn соответственно
  5. Вычисляют и заполняют массив W:
    • Заполняются элементы массива W по формуле для каждого i от 1 до nw
    • Вычисляется сумма положительных чисел с четными и нечетными индексами и записывается в переменные sc и sn соответственно
  6. Вычисляют массив разностей сумм положительных с четными индексами и нечетными индексами:
    • Вычисляются разности sc-sn и записываются в массив Y
  7. Выводятся значения массива Y.

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

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