Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Вниз

В чем ошибка?   Найти похожие ветки 

 
Chort ©   (2006-12-21 00:20) [0]

Сейчас сижу, глаза скоро вылезут из орбит, а исправить ошибку не могу.Короче говоря решение квадратного уравнения
implementation
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;

procedure Disc(a, b, c: real; var d: real; var ok: boolean);
begin
 d := Sqr(b) - 4 * a * c;
 if d < 0
   then
   ok := False // уравнение не имеет решения
 else
 begin
   ok := True;
   end;
    end;
{$R *.dfm}

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
 k1, k2,k: real; // корни уравнения
 rez, rez1: boolean; // True - решение есть, False - решения нет
 mes: string; // сообщение
 mes1: string;
begin
 SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text), k1, k2, rez);
   disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text),k, rez1);

 if rez  then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
   mes := "Уровнение не имеет решения";
   mes1 := "Уровнение не имеет решения";
 label20.Caption := mes;
 label21.Caption:= mes1;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
 k: real; // Дискриминант
 rez: boolean; // True - решение есть, False - решения нет
 mes: string; // сообщение
begin
 disc(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
   StrToFloat(Edit3.Text),k, rez);
 if rez then
mes:= FloatToStrF(k, ffGeneral, 4, 2)
else
   mes := "Уравнение не имеет решения так как" + #13 +
       "дискриминант меньше 0";
Label5.Caption:= mes;
end;
end.
Нигде при компиляции не Матюкается. Но при работе находит один икс нормально, а другой в любом случае пишет "Уровнение не имеет решения"
P.s. Edit1,2,3-это соответственно a,b,c.


 
Axis_of_Evil ©   (2006-12-21 00:23) [1]

if rez  then begin
mes:= FloatToStrF(k1, ffGeneral, 4, 2);
mes1:= FloatToStrF(k2, ffGeneral, 4, 2)
end
else
begin отсутствует
  mes := "Уровнение не имеет решения";
  mes1 := "Уровнение не имеет решения";
end; а зря
label20.Caption := mes;
label21.Caption:= mes1;
end;


 
Chort ©   (2006-12-21 00:29) [2]


> Axis_of_Evil ©   (21.12.06 00:23) [1]

Ну что я могу сказать?Тормоз я короче говоря. Большое спасибо!



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.015 c
2-1166806144
AlexanderMS
2006-12-22 19:49
2007.01.14
Мусор в памяти после жизнедеятельности программы.


2-1166690745
Slimer
2006-12-21 11:45
2007.01.14
DBGrid


2-1166890583
olevacho_
2006-12-23 19:16
2007.01.14
мфссив tedit


2-1167137665
Numark
2006-12-26 15:54
2007.01.14
Проблема с таймером


15-1166706608
genelectric
2006-12-21 16:10
2007.01.14
Вакансия программиста - Санкт-Петербург





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский