Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВАТАУ л1 (Автосохраненный).docx
Скачиваний:
4
Добавлен:
10.07.2019
Размер:
144.7 Кб
Скачать

Задача 4

Структурные данные на входе и входе.

Входными данными служат:

- nа– целое {порядок многочлена};

-а[0:n] массив действительных {коэффициенты многочлена};

Выходными данными служат:

- nс – целое {порядок многочлена};

-с[0:n] массив действительных {коэффициенты многочлена};

Алгоритм решения задачи.

Начало

Ввод порядка многочлена вида аnS^n +аn-1S^n-1 +…+a0 (ввод n)

Для i от 0 до nа:

Ввод коэффициентов многочлена а[i].

Вести число на которое необходимо умножить (ввод k)

Для i от 0 до na:

c[i]=а[i]*k

Вывести порядок полученного многочлена na.

Для i от 0 до na:

Вывести c[i]

Конец.

Текст программы.

program vatayl12;

uses crt;

var i,k,na:integer;

var c, a:array[0..10] of real;

begin

clrscr;

writeln('vvedi poradok mnogochlena an*S^n+..+a0');

read(na);

for i:=0 to na do

begin

writeln('vvedi koefficient a', i);

read(a[i]);

end;

writeln('vvedi chislo dla ymnojenia');

readln(k);

for i:=0 to na do

c[i]:=a[i]*k;

writeln('poradok poluchennogo mnogochlena =', na);

for i:=0 to na do

writeln('c',i,'=',c[i]:3:2);

read(na);

end.

Типовой пример

Примеры работы программы приведены на рисунках 8 и 9.

Рисунок 8. Пример работы программы решения задачи №3

Рисунок 9. Пример работы программы решения задачи №3

Произведем умножение вручную

Задача 5

Структурные данные на входе и входе.

Входными данными служат:

- na1 – целое {порядок многочлена числителя передаточной функции W1};

- nb1 – целое {порядок многочлена знаменателя передаточной функции W1};

-а1[0:n] массив действительных {коэффициенты многочлена числителя передаточной функции W1};

-b1[0:n] массив действительных {коэффициенты многочлена знаменателя передаточной функции W1};

- na2 – целое {порядок многочлена числителя передаточной функции W2};

- nb2 – целое {порядок многочлена знаменателя передаточной функции W2};

-а2[0:n] массив действительных {коэффициенты многочлена числителя передаточной функции W2};

-b2[0:n] массив действительных {коэффициенты многочлена знаменателя передаточной функции W2};

- na3 – целое {порядок многочлена числителя передаточной функции W3};

- nb3 – целое {порядок многочлена знаменателя передаточной функции W3};

-а3[0:n] массив действительных {коэффициенты многочлена числителя передаточной функции W3};

-b3[0:n] массив действительных {коэффициенты многочлена знаменателя передаточной функции W3};

Выходными данными служат:

- nас – целое {порядок многочлена знаменателя полученной передаточной функции};

- nас – целое {порядок многочлена числителя полученной передаточной функции};

-ас[0:n] массив действительных {коэффициенты многочлена числителя передаточной функции};

-bс[0:n] массив действительных {коэффициенты многочлена знаменателя передаточной функции};

Алгоритм решения задачи.

Начало

Ввод порядка многочлена вида а1nS^n +а1n-1S^n-1 +…+a10, который является числителем W1 (ввод nа1)

Для i от 0 до nа1:

Ввод коэффициентов многочлена а1[i].

Ввод порядка многочлена вида b1nS^n +b1n-1S^n-1 +…+b10, который является зеаменателем W1 (ввод nb1)

Для i от 0 до nb1:

Ввод коэффициентов многочлена b1[i].

Ввод порядка многочлена вида а2nS^n +а2n-1S^n-1 +…+a20, который является числителем W2 (ввод nа2)

Для i от 0 до nа2:

Ввод коэффициентов многочлена а2[i].

Ввод порядка многочлена вида b2nS^n +b2n-1S^n-1 +…+b20 который является зеаменателем W2 (ввод nb2)

Для i от 0 до nb2:

Ввод коэффициентов многочлена b2[i].

Ввод порядка многочлена вида а2nS^n +а2n-1S^n-1 +…+a20, который является числителем W3 (ввод nа3)

Для i от 0 до nа3:

Ввод коэффициентов многочлена а3[i].

Ввод порядка многочлена вида b3nS^n +b3n-1S^n-1 +…+b30 который является зеаменателем W3 (ввод nb3)

Для i от 0 до nb3:

Ввод коэффициентов многочлена b3[i].

Для i от 0 до na1

Для j от 0 до nb2

Для q от 0 до nb3

k=i+j+q

aс[k]=a1[i]b2[i]b3[i]+ac[k]

Вывести: порядок многочлена числителя k

Вывести: коэффициенты числителя

Для i от 1 до k:

Вывести: ac[i]

Для i от 0 до nb1

Для j от 0 до nb2

Для q от 0 до nb3

k1=i+j+q

bc1[k1]=b1[i]b2[i]b3[i]+bc1[k1]

Для i от 0 до na1

Для j от 0 до na2

Для q от 0 до nb3

k2=i+j

bс2[k2]=a1[i]a2[i]b3[i]+bc2[k2]

Для i от 0 до na1

Для j от 0 до na2

Для q от 0 до nb2

k3=i+j +q

bс3[k3]=a1[i]a2[i]b2[i]+bc3[k3]

Если k1>k2 то

Если k1>k3 то

Для i от 0 до k1

bc[i]=bc1[i]+bc[i]

Для i от 0 до k2

bc[i]=bc[i]+bc2[i]

Для i от 0 до k3

bc[i]=bc[i]+bc3[i]

Вывести: порядок многочлена знаменателя k1

Вывести: коэффициенты знаменателя

Для i от 1 до k1:

Вывести: bc[i]

Иначе

Для i от 0 до k3

bc[i]=bc[i]+bc3[i]

Для i от 0 до k1

bc[i]=bc1[i]+bc[i]

Для i от 0 до k2

bc[i]=bc[i]+bc2[i]

Вывести: порядок многочлена знаменателя k3

Вывести: коэффициенты знаменателя

Для i от 1 до k3:

Вывести: bc[i]

Иначе

Если k2>k3 то

Для i от 0 до k2

bc[i]=bc[i]+bc2[i]

Для i от 0 до k1

bc[i]=bc1[i]+bc[i]

Для i от 0 до k3

bc[i]=bc[i]+bc3[i]

Вывести: порядок многочлена знаменателя k2

Вывести: коэффициенты знаменателя

Для i от 1 до k2:

Вывести: bc[i]

Иначе

Для i от 0 до k3

bc[i]=bc[i]+bc3[i]

Для i от 0 до k1

bc[i]=bc1[i]+bc[i]

Для i от 0 до k2

bc[i]=bc[i]+bc2[i]

Вывести: порядок многочлена знаменателя k3

Вывести: коэффициенты знаменателя

Для i от 1 до k3:

Вывести: bc[i]

Конец.

Текст программы

program vatayl12;

uses crt;

var k,k1,k2,k3,q,i,j,na1,nb1,na2,nb2,na3,nb3,nac,nbc:integer;

var c, a1,b1,a2,b2,a3,b3,ac,bc,bc1,bc2,bc3:array[0..10] of real;

begin

clrscr;

writeln('vvedi poradok mnogochlena a1n*S^n+..+a10, chislitela W1');

read(na1);

for i:=0 to na1 do

begin

writeln('vvedi koefficient a1', i);

read(a1[i]);

end;

writeln('vvedi poradok mnogochlena b1n*S^n+..+b10, znamenatela W1');

read(nb1);

for i:=0 to nb1 do

begin

writeln('vvedi koefficient b1', i);

read(b1[i]);

end;

writeln('vvedi poradok mnogochlena a2n*S^n+..+a20, chislitela W2');

read(na2);

for i:=0 to na2 do

begin

writeln('vvedi koefficient a2', i);

read(a2[i]);

end;

writeln('vvedi poradok mnogochlena b2n*S^n+..+b20, znamenatela W2');

read(nb2);

for i:=0 to nb2 do

begin

writeln('vvedi koefficient b2', i);

read(b2[i]);

end;

writeln('vvedi poradok mnogochlena a3n*S^n+..+b30, chislitela W3');

read(na3);

for i:=0 to na3 do

begin

writeln('vvedi koefficient a3', i);

read(a3[i]);

end;

writeln('vvedi poradok mnogochlena b3n*S^n+..+b30, znamenatela W3');

read(nb3);

for i:=0 to nb3 do

begin

writeln('vvedi koefficient b3', i);

read(b3[i]);

end;

for i:=0 to na1 do

for j:=0 to nb2 do

for q:=0 to nb3 do

begin

k:=i+j+q;

ac[k]:=a1[i]*b2[i]*b3[i]+ac[k];

end;

writeln('poradok mnogochlena chislitela W:', k);

for i:=0 to k do

write('ac',i,'=',ac[i]:3:2);

for i:=0 to nb1 do

for j:=0 to nb2 do

for q:=0 to nb3 do

begin

k1:=i+j+q;

bc1[k1]:=b1[i]*b2[i]*b3[i]+bc1[k1]

end;

for i:=0 to na1 do

for j:=0 to na2 do

for q:=0 to nb3 do

begin

k2:=i+j+q;

bc2[k2]:=a1[i]*a2[i]*b3[i]+bc2[k2]

end;

for i:=0 to na1 do

for j:=0 to na2 do

for q:=0 to nb2 do

begin

k3:=i+j+q;

bc3[k3]:=a1[i]*a2[i]*b3[i]+bc3[k3]

end;

if k1>k2 then

begin

if k1>k3 then

begin

for i:=0 to k1 do

bc[i]:=bc1[i]+bc[i];

for i:=0 to k2 do

bc[i]:=bc2[i]+bc[i];

for i:=0 to k3 do

bc[i]:=bc3[i]+bc[i];

writeln('poradok znamenatla W=',k1);

For i:=0 to k1 do

write('bc',i,'=',c[i]:3:2);

end

else

begin

for i:=0 to k3 do

bc[i]:=bc3[i]+bc[i];

for i:=0 to k1 do

bc[i]:=bc1[i]+bc[i];

for i:=0 to k2 do

bc[i]:=bc2[i]+bc[i];

writeln('poradok znamenatla W=',k3);

For i:=1 to k3 do

write('bc',i,'=',c[i]:3:2);

end;

end

else

if k2>k3 then

begin

for i:=0 to k2 do

bc[i]:=bc2[i]+bc[i];

for i:=0 to k1 do

bc[i]:=bc1[i]+bc[i];

for i:=0 to k3 do

bc[i]:=bc3[i]+bc[i];

writeln('poradok znamenatla W=',k2);

For i:=1 to k2 do

write('bc',i,'=',c[i]:3:2);;

end

else

begin

for i:=0 to k3 do

bc[i]:=bc3[i]+bc[i];

for i:=0 to k1 do

bc[i]:=bc1[i]+bc[i];

for i:=0 to k2 do

bc[i]:=bc2[i]+bc[i];

writeln('poradok znamenatla W=',k3);

For i:=1 to k3 do

write('bc',i,'=',c[i]:3:2);

end;

read(i);

end.Пример работы программы.

Примеры работы программы приведены на рисунке 10

Рисунок 10. Пример работы программы реализующей решение задачи № 5