IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Численное решение систем линейных алгебраических уравнений, Решение уравнения 2-ого порядка
dron4ik
сообщение 2.11.2008 19:11
Сообщение #1


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


Привет всем!


В качестве контрольного примера подобрать уравнение 2-ого порядка. Получить решение в ручную и по нему проверить программу. После отладки программы сформировать уравнение 2-ого порядка, коэффициенты которого выбрать с использованием датчика случайных чисел( стандартная функция ПАСКАЛЯ RANDOM)

(Мы сам задаем любое уравнение и решаем его вручную) и потом пишем прогуэ


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
dron4ik
сообщение 3.11.2008 11:27
Сообщение #2


Бывалый
****

Группа: Пользователи
Сообщений: 318
Пол: Мужской

Репутация: -  0  +


вот прога но коэфициенты пользователем задает сам
void __fastcall TForm1::Button5Click(TObject *Sender)
{
//sqrt(*) квадратный корень из числа....
float A,B,C,D,X1,X2;
if (Edit9->Text=="" || Edit10->Text=="" || Edit11->Text=="" ||
Edit9->Text=="Значение A" || Edit10->Text=="Значение B" || Edit11->Text=="Значение C")
{
ShowMessage ("Необходимо ввести данные");
RichEdit1->Lines->LoadFromFile("lst/error.lst");
Image1->Picture->LoadFromFile("img/error.jpg");
StatusBar1->SimpleText = "Задание 2 - Ошибка";
Beep(1000,100);
return;
}
else
{

A=StrToFloat(Edit9->Text);
B=StrToFloat(Edit10->Text);
C=StrToFloat(Edit11->Text);
//Находим дискременант
D=B*B-4*A*C;
//Основное правило
//D > 0 " X1 <> X2
//D = 0 " X1 = X2
//D < 0 " Жаль, но корней у нас нету...

if (D>0)
{
X1=-(B+(sqrt(D)))/(2*A);
X2=-(B-(sqrt(D)))/(2*A);

RichEdit4->Text="Уровнение имеет два корня т.к дискреминант > 0\nДискрименант ="+
FloatToStr(D)+"\nПервый корень (X1) = "+FloatToStr(X1)+"\nВторой корень (X2) = "+
FloatToStr(X2);
}
else if(D==0) //один корень x1=x2 = +x1
{
X1 = -B/(2*A);
RichEdit4->Text="Уровнение имеет один корень (X1=X2) т.к дискрименант = "+
FloatToStr(D)+"\nКорень уравнения X1=X2="+FloatToStr(X1);
}
else
{
RichEdit4->Text="Уровнение не имеет корней т.к Дискрименант < 0 \nДискрименант = "+
FloatToStr(D);
//Нет корней
}

//выводим дополнительные данные
RichEdit1->Lines->LoadFromFile("lst/2.lst");
Image1->Picture->LoadFromFile("img/2.jpg");
StatusBar1->SimpleText = "Задание 2 - Выполнено";

}
}
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.07.2025 7:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"