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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2010, 22:38   #1
шурег
 
Регистрация: 09.12.2010
Сообщений: 4
Восклицание поиск корней уравнения

напишите прогу вычисления корней квадратного уравнения
шурег вне форума Ответить с цитированием
Старый 10.12.2010, 22:47   #2
Bright-rider
Форумчанин
 
Регистрация: 09.07.2010
Сообщений: 102
По умолчанию

Хоть бы пожалуйста сказал.
Пробуй сам, это не сложно.
Bright-rider вне форума Ответить с цитированием
Старый 11.12.2010, 13:43   #3
Я_и
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 37
По умолчанию

Ладно... Как студент студенту... Помогу...
Пишу на паскале - на делфи перенести - ерунда.

Код:
program Eq;
type TComplex=record Re,Im:Real end;
var A,B,C,X1,X2:TComplex; 

procedure ReadNum(var Num:TComplex;Symbol:Char);
begin
   clrscr;
   Writeln('Enter real part of '+Symbol+': ');
   Readln(Num.Re);
   clrscr;
   Writeln('Enter Im part of '+Symbol+': ');
   Readln(Num.Im);
   clrscr;
end;

procedure WriteNum(const Num:TComplex);
begin
   Write('(');Write(Num.Re,4,1);Write(',');Write(Num.Im,4,1);Write(')');
end;

function NegC(const Num:TComplex):TComplex;
var temp:TComplex;
begin
   temp.Re:=-Num.Re;
   temp.Im:=-Num.Im;
   AddC:=temp;
end;

function AddC(const Num1,Num2:TComplex):TComplex;
var temp:TComplex;
begin
   temp.Re:=Num1.Re+Num2.Re;
   temp.Im:=Num1.Im+Num2.Im;
   AddC:=temp;
end;

function MulC(const Num1,Num2:TComplex):TComplex;
var temp:TComplex;
begin
   temp.Re:=Num1.Re*Num2.Re-Num1.Im*Num2.Im;
   temp.Im:=Num1.Re*Num2.Im-Num1.Im*Num2.Re;
   AddC:=temp;
end;

function SqrtC(const Num:TComplex):TComplex;
begin
   {эту функцию пропиши сам - корень добывается переходом к полярной системе координат и обратно}
end;

function DivC(const Num1,Num2:TComplex):TComplex;
begin
   {эту функцию тоже пропиши сам }
end;

function MulC_Real(const Num1:TComplex;Num2:Real):TComplex;
temp:Tcomplex;
begin
   temp.Re:=Num1.Re*Num2;
   temp.Im:=Num1.Im*Num2;
   AddC:=temp;
end;

begin
   ReadNum(A,'A');
   ReadNum(B,'B');
   ReadNum(C,'C');

   ....Тут дискриминант и прочее...Все функции для подсчетов готовы...
   
   Write('X1 = ');
   WriteNum(X1);
   Writeln;Write('X1 = ');
   WriteNum(X2);
   Readln;
end;

Последний раз редактировалось Stilet; 11.12.2010 в 15:56.
Я_и вне форума Ответить с цитированием
Старый 11.12.2010, 13:54   #4
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию


Кошмар!! И это несложное решение??С объявлениями записей и кучей новых функций??Да....
Код:
Uses CRT;
Var
     A,B,C:Real;
     X1,X2,D:Real;
Begin
        Write('Enter A,B,C:');
        Readln(A,B,C);
        D:=Sqr(B)-4*A*C;
        If D<0 Then
        Begin
                Writeln('Корней нет!');
                Halt;
         End;
        If D = 0 Then 
        Begin
                X1:=-B/(2*A);
                Writeln('Один корень:',x1:0:2);
                Readln;
                Halt;
        End;
        X1:=(-B-Sqrt(D))/(2*A);
        X2:=(-B+Sqrt(D))/(2*A);
        Writeln('Два корня:');
        Writeln('x1 = ',x1:0:2);
        Writeln('x2 = ',x2:0:2);
        Readln;
End.
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.12.2010, 14:14   #5
Я_и
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 37
По умолчанию

Зато программа:
1. Работает корректно с любыми данными.
2. Работает любыми с комплексными числами.
Да, и вот еще подначка:
в твоей проге надпись "корней нет" - это бред... Напомню основную теорему алгебры: Любой многочлен степени n>0 имеет n корней... И моя прога выводит эти корни, а не пишет, что их как-бы нет...
Я_и вне форума Ответить с цитированием
Старый 11.12.2010, 14:35   #6
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
в твоей проге надпись "корней нет" - это бред... Напомню основную теорему алгебры: Любой многочлен степени n>0 имеет n корней... И моя прога выводит эти корни, а не пишет, что их как-бы нет...
Хм..Да? Как правило, в квадратном уравнении не вычисляют комплексные корни(не считая матан и всё прочее), это раз;
Второе, моя тоже корректно работает с любыми данными.
А третье - никакой препод, если он только не сумасшедший, не будет давать задачу на реализацию вычисления комплексных корней квадратного уравнения, потому как мало какой студент сможет подобное реализовать.
_-Re@l-_ вне форума Ответить с цитированием
Старый 11.12.2010, 15:31   #7
Я_и
Пользователь
 
Регистрация: 14.09.2010
Сообщений: 37
Радость

Хм. И то правда: квадратные уравнения нам не задавали - только кубические с комплексными коефициентами (по формулам Кардано)...

И если уже на то пошло, давайте писать только программы типа:

Program P1;
begin
Writeln('Hello, world!')
end.

Я_и вне форума Ответить с цитированием
Старый 11.12.2010, 15:49   #8
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Цитата:
И если уже на то пошло, давайте писать только программы типа:

Program P1;
begin
Writeln('Hello, world!')
end.
Хм. Зачем так длинно?
Можно такязык Perl)
Код:
print "Hello,World!\n";
_-Re@l-_ вне форума Ответить с цитированием
Старый 15.12.2010, 11:41   #9
шурег
 
Регистрация: 09.12.2010
Сообщений: 4
По умолчанию

всем спасибо. сам бы в ближайшем будующем не смог
шурег вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на нахождение корней уравнения DarkSwan Общие вопросы C/C++ 0 19.10.2010 15:16
определить значение корней уравнения battleground Общие вопросы C/C++ 0 10.10.2010 20:08
Найти один из корней уравнения RfG Помощь студентам 1 26.06.2010 15:05
Вычисления корней квадратного уравнения Наталья111 Общие вопросы Delphi 4 25.12.2008 11:06
Методы нахождения корней уравнения werser Помощь студентам 8 20.02.2008 22:41