|
#1
|
|||
|
|||
While+Or+Do
Добрый день! Прошу Вашей помощи...
Пытаюсь в Delphi сделать программу расчета. Что требуется: есть две переменные, которые просчитываются до тех пор, пока одна из них не достигнет определенного значения. Если делаю программу, где сравнивается только одна переменная, то все работает, если с двумя - не работает (первая переменная достигает нужного значения, но цикл продолжается). Привожу кусочек кода (хотя, в принципе, можно рассматривать только первую строку): While (P<=0.98) or (P1<=0.95) do begin inc(i); SetData; AddToExcel(i); Formula; end; Как правильно расставить операторы, чтобы условие работало (необходимо, чтобы шел цикл и останавливался, когда будет достигнуто одно из условий)? |
#2
|
|||
|
|||
Пробовал:
While ((P<=0.98) or (P1<=0.95)) do не сработало |
#3
|
|||
|
|||
Используй And:
Код:
While ((P<=0.98) And (P1<=0.95)) Do Тебе ведб надо чтобы выполнялись оба условия. |
#4
|
|||
|
|||
В том то и дело, что надо, чтобы расчет цикл остановился при достижении любого одного из условий (есть две величины, которые изменяются независимо друг от друга - растут с разным шагом и в зависимости от исходных данных может или одна или другая величина Р или Р1 достигнуть критического значения, при котором расчет должен остановиться).
Плюс может добавиться еще одна величина... Последний раз редактировалось Van, 06.10.2008 в 09:22. |
#5
|
||||
|
||||
Van, не упорствойте в своем незнании булевой логики. lmikle Вам правильно подсказал.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#6
|
|||
|
|||
lmikle, спасибо за помощь - сработало!
|