Отправляет email-рассылки с помощью сервиса Sendsay

Паскаль решенные задачи

  Все выпуски  

Паскаль решенные задачи Вычислить коэффициенты к-ой производной данного полинома.


Дано: Полином Pn(x)
Задание: Вычислить коэффициенты к-ой производной данного полинома.

program z_array;
uses crt;
var ArrayA: array [0..100] of real;
    DimensionN, CounterI, DerivativeK, FNumber:byte;
begin
 clrscr;
 writeln('Введите степень полинома');
 readln(DimensionN);
 
for CounterI := 0 to DimensionN  do
 begin
  write('Коэффициент при X в степени ', CounterI ,' = ');
  readln(ArrayA[CounterI]);
 end;
 writeln; 
 repeat
  writeln('Введите порядок производной');
  readln(DerivativeK);
  if (DerivativeK > DimensionN) then
   writeln('Порядок производной должен быть меньше либо равен степени полинома');
 until (DerivativeK <= DimensionN);
 
 writeln;
 writeln('Данный полином');
 write('P(x) = ');
for CounterI := 0 to DimensionN do
  if ArrayA[CounterI] < 0 then
   write(ArrayA[CounterI]:0:2,'*x^',CounterI)
  else
   write('+',ArrayA[CounterI]:0:2,'*x^',CounterI);

 writeln;
 writeln;
 writeln('Полученный полином');
 write('P(x) = ');
 
 FNumber := 1;
for CounterI := 1 to DerivativeK do
  Fnumber := FNumber * CounterI;

for CounterI := 0 to DimensionN - DerivativeK do
 begin
  ArrayA[CounterI] := ArrayA[CounterI + DerivativeK] * FNumber;
  FNumber := trunc(FNumber * (CounterI + 1 + DerivativeK) / (CounterI + 1));
  if ArrayA[CounterI] < 0 then
   write(ArrayA[CounterI]:0:2,'*x^',CounterI)
  else
   write('+',ArrayA[CounterI]:0:2,'*x^',CounterI);
end;

 readln; 
end.

Объяснения к коду можно прочитать на сайте автора


В избранное