Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ помогите найти ошибку

Автор: bigglewood 19.06.2006 22:42

вот кусочек кода


var a,b,c,x,y : real;
begin
x:=strtofloat(edit1.text);
case radiogroup1.ItemIndex of
0: begin
a:=1.2; b:=2.4; c:=4.7; end;
1: begin
a:=1.4; b:=3.7; c:=5.1; end;
2: begin
a:=1.6; b:=4.2; c:=6.5; end;
end;
if x>a then begin
y:=c*a + b*exp(3*ln(cos(a*x)));
end
else if (a<=x) and (x<b) then begin
y:=ln(abs(a*c/sqrt(x)))+b*x*exp(3*ln©);
end
else
if x>b then begin
y:=cos(a+b*x*c+a*sqr©);
end;
showmessage(floattostrF(y,fffixed,5,2));
end;

почему то при выборе из CASE варианта 1(Не 0) и вводе Х=2 выдает ошибку и указывает строку
  if x>a then begin
y:=c*a + b*exp(3*ln(cos(a*x)));

Автор: klem4 19.06.2006 23:01

cos(1.4 * 2) = -0.94 ...

LN(-0.94) = rolleyes.gif

Автор: bigglewood 20.06.2006 0:51

спасибо smile.gif ща сделаем...

Автор: klem4 20.06.2006 0:57

Да ... и выкладывай в этом разделе решения на Паскале, как ты понимашь, то что ты выложил на паскале откомпилировать не получится. Второй вариант выкладывать проект полностью в раздел Делфи.