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