Из заданных массивов сформировать новый массив по заданному правилу - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д