Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.07.2011, 07:39   #1
Алексей4
Новичок
Джуниор
 
Регистрация: 09.07.2011
Сообщений: 2
Восклицание Задачи на Паскаль: выбор нужных элементов из массива, решение кубического уравнения

задали задачи

1. Для изготовления химического прибора взяли бесконечную плос-кую равномерную по толщине пластину. На нее нанесли катализатор в виде точек, требуется вырезать из пластины квадратный кусок наимень-шего веса, причем так, чтобы по крайней мере две различные точки ( пор-ции катализатора) лежали на границе этого куска.
Итак, входные данные: N - число точек катализатора(N ,<9 ). ( , )-- координаты точек (0<i<=N).
Выходные данные:
(хс, ус) - координаты центра искомого квадрата наименьшего веса,
( , ), ( , )- - координаты любых двух различных вершин этого квадрата.
2. Даны целые коэффициенты a, b, c, d многочлена aх3 +b х2 +cx + d.
Найти все его а) целые, б) рациональные корни, использовать теорему Виета.
3. Имеются гири с массами 1г, 2г, ...,N г (N < или = 10000). Написать алгоритм и программу, распределяющую эти гири на максимально возможное количество пар так, чтобы суммарный вес гирь в каждой паре выражался простым числом.


______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
На первый раз я исправил.
В последующем, темы с подобным названием будут закрываться или удаляться,
а автор такой темы будет получать штрафные баллы.
Учтите это на будущее.

Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.07.2011 в 10:46. Причина: ошибка
Алексей4 вне форума Ответить с цитированием
Старый 09.07.2011, 10:14   #2
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
По умолчанию

Цитата:
Сообщение от Алексей4 Посмотреть сообщение
Это форум помощи, а не продажи решений.
Код:
procedure SqRoot(a, b, c: real; var x1, x2: real; var ok: boolean);
    { a,b,c - коэффициенты уравнения
      x1,x2 - корни уравнения
      ok = True  - решение есть
      ok = False - решения нет }
var
  d: real; // дискриминант
begin
  d := Sqr(b) - 4 * a * c;
  if d < 0
    then
    ok := False // уравнение не имеет решения
  else
  begin
    ok := True;
    x1 := (-b + Sqrt(d)) / (2 * a);
    x2 := (b + Sqrt(d)) / (2 * a);
  end;
end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось Serge_Bliznykov; 09.07.2011 в 10:49.
denisbrain вне форума Ответить с цитированием
Старый 09.07.2011, 10:29   #3
Алексей4
Новичок
Джуниор
 
Регистрация: 09.07.2011
Сообщений: 2
По умолчанию

Спасибо....

Ток это квадратное а надо кубическое



_____________________________
Форум - не чат!
Не надо плодить подряд несколько коротких сообщений!
Это нарушение правил...
для того, чтобы через минуту/другую дописать сообщение,
не надо создавать ещё один новый пост.
нажимайте на предыдущем кнопку "Правка"
и дописывайте в своё сообщение, что Вы хотели добавить!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 09.07.2011 в 10:48.
Алексей4 вне форума Ответить с цитированием
Старый 09.07.2011, 11:18   #4
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

Насчет кубического уравнения смотри здесь http://algolist.manual.ru/maths/findroot/cubic.php
Алгоритм очень понятен,осталось только связать все в одну программу(есть еще пример на СИ++).Реализацию Arccos и др тригонометрических операций смотри в интернете.
Человек Панда вне форума Ответить с цитированием
Старый 09.07.2011, 12:39   #5
denisbrain
Форумчанин
 
Регистрация: 29.05.2011
Сообщений: 449
Радость

Код:
Function SqRootQobe(a, b, c: real; var x1, x2,x3: real):integer;
   
 { a,b,c - коэффициенты уравнения
      x1,x2 - корни уравнения
      result=0 - решения нет
      result=1 - решения есть и оно одно X1 
      result=2 - решения есть и их два X1,x2 
      result=3 - решения есть и оно X1,x2,x3 

}


var T,R,Q:Real;
    aa,bb:Real;
begin

result:=0;
q:=(a*a-3*b)/9;
R:=(2*power(a,3)-9*a*b+27*c)/54;
t:=arccos(R/sqrt(power(q,3)))/3;
  if power(R,2)<power(q,3) then begin

    x1:=-2*sqrt(Q)*cos(t)-a/3;
    x2:=-2*sqrt(Q)*cos(t+(2*pi/3))-a/3;
    x3:=-2*sqrt(Q)*cos(t-(2*pi/3))-a/3;
    result:=3;
  end
  else begin
    if (r<=0) then  r:=-r;
    aa:=-power(r+sqrt(power(r,2)-power(q,3)),1/3);
    if(aa<>0) then bb:=q/aa
    else bb:=0;
    a:=3; q:=aa+bb; r:=aa-bb;
    x1:=q-a;
    x2:=(-0.5)*q-a;
    x3:=(sqrt(3)*0.5)*abs(r);
    if(x3=0) then result:=2
    else
    result:=1;

  end;
 end;

проверь
задания на pascal/delphi ICQ 368254335
Tel +79177425326 mail denis-naymov1985(at)mail.ru login skype denis.new.skype

Последний раз редактировалось denisbrain; 09.07.2011 в 12:43.
denisbrain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
решение полиномиального уравнения на Паскаль Sheport Фриланс 5 21.06.2011 15:53
задачи по С++ решение полинома и уравнения с плавающей точкой Microlab007 Помощь студентам 0 21.11.2010 13:04
Реализация решения кубического уравнения niziriska Помощь студентам 2 12.05.2009 12:22
Решение биквадратного уравнения Паскаль.... КиношкА Помощь студентам 8 19.12.2008 01:25