Автор | Задача по дельфи |
Хотя может я в логике оператора while ошибаюсь
не ошибаешся (: while -> пока условие true - делаем, repeat..until -> пока условие false делаем (: |
для Раздетая:
виснет по черному. Мой правильный :Р Потому как ты задаешь параметр что надо считать до А, то бишь бедная прога никак не может понять как можно завершить цикл если до нужного порога нельзя доходить =)
Я же задаю параметр таким образом чтобы он остановился сразу же как только пройдет порог. :Р |
не ошибаешся (: while -> пока условие true - делаем, repeat..until -> пока условие false делаем (:
Тогда вот так будет вернее
while s<=a do |
для Mangecu:
begin перенёс? |
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c, l, s:integer;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
l:=1;
s:=b;
begin
while s>a do
b:=b+c;
l:=l+1;
s:=s+b;
end;
Label4.caption:=inttostr(l);
end;
end.
Вот как правильно. Пашет все правильно.
Дай угадаю, в результат "2" выводит?:) |
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c, l, s:integer;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
c:=strtoint(edit3.text);
l:=1;
s:=b;
while s<a do
begin
b:=b+c;
l:=l+1;
s:=s+b;
end;
Label4.caption:=inttostr(l);
end;
end.
вот правильный способ. Тема закрыта =) В будущем еще задачки будет, ибо кураторша с домашками мозг всегда выносит хД |
тема закрыта by Mangecu (2011-11-27 18:38:20) |
---|