Right Condition

Модераторы: Duncon, Naeel Maqsudov, Хыиуду, Игорь Акопян

Ответить
Аватара пользователя
Monopo
Сообщения: 119
Зарегистрирован: 06 дек 2007, 20:08
Откуда: Linux

12 дек 2007, 16:22

Помогите, пожалуйста, написать условие? Задание типа :
"Найдите и выведите на экран значения функции F(x) для всех х, от Хначального до Хконечного с шагом dX".

Понятно, что можно было бы задать условие типа :

while (Х{нач} <= Х{кон}) do
begin
{Находим значение х, выводим}
X{нач} := Х{нач} + dX;
end;

Но это подойдет ведь не для всех Х. Если будет, например, Х{нач}=5, Х{кон}=-4, dX=-1, то найти значения можно, а программа не пойдет.

Вот помогите, пожалуйста, составить условие, при истинном значении которого для последовательности всех получающихся Х можно будет найти F(x), в противном случае вывести на экран соответствующее сообщение о невозможности выполнения операции??????
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

13 дек 2007, 10:57

var increment: boolean
increment:=Xнач<Хкон;
while increment=Xнач<=Xкон do
....
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

13 дек 2007, 11:31

а я бы сделал так: ввел начальное и конечное значение и dx, потом сделал бы

Код: Выделить всё

n:=abs(round((кон-нач)/dx));
for i:=0 to n+1 do
бла бла бла бла бла
по крайней мере достаточно просто и понятно, без мудрёных вещей
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

13 дек 2007, 14:36

Тогда уж пиши в теле цикла, что x:=Xнач+i*dx
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
annihilator
Сообщения: 30
Зарегистрирован: 27 ноя 2007, 00:22

13 дек 2007, 20:59

Хыиуду, а чем плох предыдущий вариант Хнач:=Хнач+dx в теле цикла? не обязательно каждый раз вычислять значение переменной, можно просто использовать такое инкрементирование, это ничего не изменит =)
Вот представьте себе: чистое поле - ни кустика, ни деревца, и вдруг из-за угла выезжает танк!
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

14 дек 2007, 11:19

Гм... можно и так. Я просто не понял, что у тебя "Хнач:=Хнач+dx" по умолчанию включается в "бла бла бла бла бла"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить