![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.12.2009
Сообщений: 34
|
![]()
Попалась задача, вот такая "Последовательно вводятся вещественные числа. Признаком окончания ввода является отрицательное число или ноль. Вычислить (х-2)(х-4)(х-6)...(х-22) для каждого из х"
Не могу понять как образовать цикл в цикле, во внутреннем цикле использую оператор FOR, все время получается выполнить задачу для одного из Х, используя условие что Х>0 Какие лучше использовать операторы, или как решить задачу, могу написать часть программы, если кто не понял в чем трудность. |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 24.12.2009
Сообщений: 34
|
![]()
Вот часть программы
readln(x); writeln(x); s:=1; n:=0; For I:=1 to 11 do begin n:=n+1; r:=(x-2*n); s:=s*r; end; с помощью этой программы я считаю для одного из Х, посоветуйте, какой оператор использовать что бы вычислять, для каждого из Х>0, вводимых с клавиатуры, Последний раз редактировалось SkyL1ne; 02.04.2010 в 00:54. |
![]() |
![]() |
![]() |
#3 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Как на счет того, чтобы ограничить тело цикла операторными скобками begin и end для начала? Иначе в этом цикле будет выполняться единственный оператор присваивания n:=n+1.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.12.2009
Сообщений: 34
|
![]()
исправил .
|
![]() |
![]() |
![]() |
#5 |
Экспериментатор
Форумчанин
Регистрация: 16.04.2008
Сообщений: 218
|
![]()
Можно просто заставить пользователя ввести число больше нуля:
repeat readln(x) until x > 0; И весь код в еще один цикл поместить. В любой - хоть while, хоть repeat.
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.12.2009
Сообщений: 34
|
![]()
я понимаю что можно так, но если так выполнить, то мы высчитаем для одного х, а в условии не сказано сколько нужно ввести
|
![]() |
![]() |
![]() |
#7 |
FORTRAN programmer
Форумчанин
Регистрация: 08.12.2009
Сообщений: 153
|
![]()
В данном случае внутренний цикл лучше оформить как подпрограмму.
|
![]() |
![]() |
![]() |
#8 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
Здесь нужен цикл только с предусловием. Изначально пользователь может ввести либо 0, либо отрицательное число, что должно прекратить выполнение программы... Т.е. использовать только while, но не repeat! И вообще зачем там цикл, который будет выполняться то всего один раз? Достаточно просто условного оператора...
Код:
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 02.04.2010 в 07:44. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
цикл в цикле (Си++) | ConChita | Помощь студентам | 2 | 11.03.2010 09:13 |
Цикл в цикле... | Davlet M | Помощь студентам | 6 | 25.01.2010 01:42 |
Цикл в цикле и циклом погоняет... | Guguzjaka | Помощь студентам | 5 | 27.11.2009 18:17 |
Составить программу вычисления значений функций, используя приём "цикл в цикле" | Chaynik011091 | Помощь студентам | 5 | 22.06.2009 21:33 |