Как заменить цикл while .. do на repeat .. until?

Рейтинг: 0Ответов: 1Опубликовано: 18.10.2014

Я написал решение через while do (рабочее решение), но мне нужно через repeat until, я его написал, но оно не работает. Помогите переделать.

Код через while do

procedure TForm1.BitBtn1Click(Sender: TObject);
var x, y, xn, xk, h:real;
begin
  xn:= strToFloat(edit1.Text);
  xk:= strToFloat(edit2.Text);
  h:= strToFloat(edit3.Text);
  chart1.Series[0].Clear;
  x:= xn;
  while x<=xk do
  begin
    y:=x*sin(x);
    chart1.Series[0].AddY(y);
    x:= x+h
  end;
end;    

Код через repeat until

procedure TForm1.BitBtn1Click(Sender: TObject);    
var x, y, xn, xk, h:real;    
begin    
  xn:= strToFloat(edit1.Text);    
  xk:= strToFloat(edit2.Text);    
  h:= strToFloat(edit3.Text);    
  chart1.Series[0].Clear;    
  x:= xn;
  repeat    
    y:=x*sin(x);    
    chart1.Series[0].AddY(y);    
    x:= x+h    
  until x<=xk;
end;

Ответы

▲ 2Принят

Всем спасибо. Я решил эту проблему нужно было "until x<=xk;" сменить знак на противоположный "until x>=xk;".