Составить программку на Паскале: Решение кубических уравнений по схеме Горнера. Если

Составить программку на Паскале: Решение кубических уравнений по схеме Горнера. Если что прочитайте в вебе. Я над этой программой сижу 2 недели не могу сделать. Прошу помогите. Я так понял за ваше решение дают 99 баллов

Задать свой вопрос
Katjusha Shaljadova
Да мне это нужно для проекта
Тарлецкий Санек
именно по схеме горнера
Shagenkov Pasha
1) Turbo? Free? Lazarus? ABC? Delphi? ABC.NET?
Кирилл Зубчевский
2) Для решения необыкновенно кубического? Либо можно, чтоб программа была и четвёртую, и пятую, и десятую ступень?
Miroslava Kuhoreva
Так я эти вопросы задал, поэтому что он зашёл с утра - ответил на прошлые))
Софья
только кубического
1 ответ
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

type
  fraction=(integer,integer);

function RatFact(Self:array of integer):sequence of fraction;
    extensionmethod;
//
// На основе метода 78б
// В кн.: Агеев М.И., Алик В.П., Марков Ю.И.
// Библиотека алгоритмов 51б-100б. (Справочное пособие.) Вып.2.
// М.б "Сов. радио", 1976.
//
// Отыскание разумных корней полиномов с целыми коффициентами.
// Употребляется предоженное Дж.Пеком расширение вычисления полинома
// способом Горнера.
// !!! Коэффициенты полинома записываются, начиная со свободного члена !!!
//
begin
  var L:=new Listlt;fractiongt;; // вынужденное: метод время от времени дает дубликаты
  (var a0, var an):=(абс(Self.First),абс(Self.Last));
  for var p:=1 to a0 do begin
    if a0 mod plt;gt;0 then continue;
    for var q:=1 to an do begin
      if an mod qlt;gt;0 then continue;
      var g:=Self.First; (var f, var t):=(g,p);
      foreach var k in Self.Skip(1) do begin
        var r:=k*t; (f,g,t):=(f*q+r,-g*q+r,t*p);
        end;
      if f=0 then L.Add((p,q));
      if g=0 then L.Add((-p,q))
      end
    end;
    Result:=L
end;

function RedFrac(Self:fraction):fraction; extensionmethod;
begin
  (var p,var q):=Self;
  var s:=sign(p*q);
  (p,q):=(абс(p),абс(q));
  (var a,var b):=(p,q);
  while blt;gt;0 do begin a:=a mod b; Swap(a,b) end;
  Result:=(s*p div a,q div a)
end;

function Beautify(Self:sequence of fraction):sequence of string;
    extensionmethod;
begin
  Result:=Self.Select(e-gt;e.RedFrac).Distinct.OrderBy(x-gt;x[0]/x[1]).
    Select(e-gt;e[0]+(e[1]lt;gt;1?'/'+e[1]:''))
end;

begin
  ReadArrInteger(4).RatFact.Beautify.Println
end.

Образцы
1) -36x+3x+14x+3 = 0
 
3 14 3 -36
-1/3 3/4

2) (x-1)(x+2)(x+3/5) = 0;  5x+8x-7x-6 = 0

-6 -7 8 5
-2 -3/5 1
Коля Селефонов
Спасибо большое
Максим
Программка хорошая но там есть оплошности она выводит не так корешки тоесть он мне пишет 1/2 1/4 1/5 где 2 4 5 корешки
Вестениус Милена
1x^3 -11x^2 + 38x -40
Виталий Мартиконис
Вы просто нигде не написали, что коэффициенты необходимо вводить напротив))))
, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Во сколько раз число атомов кислорода в земной коре больше числа

Химия.

Составить монолог от имени дневника двоечника 7-10 предложений

Русский язык.

Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Определить предложения какие они по цели высказывания и по интонации

Русский язык.

"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.

Русский язык.

на одной грядке коротышки посадили 3 ряда морковок по 8 штук

Разные вопросы.

эссе на тему какое образование дается в каждой семье

Қазақ тiлi.

Put the verb in brackets into the Present Indefinite. 1The Volga ,

Английский язык.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт