Вход  ::   Регистрация  ::   Забыли пароль?  ::   Правила
 
ОтветитьСоздать новую темуСоздать новое голосование

> Итерационный цикл в VB, Помогите, пожалуйста, с задачей...

 
Piroman
  post 03.06.09 - 19:42   (Ответ #1)
Пользователь offline

-----


Kindle
Группа: Обыватель
Сообщений: 306
Репутация: 38
Нарушений: (0%)
Доброго времени суток. Нужна помощь знающих людей, коих здесь немало, я полагаю smile.gif Вот задача:

Цитата: 
Составить алгоритм и программу для вычисления значения функции Y с заданной точностью E. Итерационные вычисления значений функции y производятся по определенной рекуррентной формуле, пусть будет пока в общем виде: y(i+1) = f(y(i); y(i-1))  .Вычисления заканчиваются при выполнении условия |y(i+1) - y(i)|<=E . Вывести на печать значения функции Y и число итераций, выполненных для выполнения поставленного условия. Е = 0,01. Начальные значения y0=0.55, y1=0.35

Указание: использовать операторы Do... Loop


надо добавить, что (i), (i + 1), (i - 1) - просто нижние индексы.

Думаю, прог. код недлинный, но это было бы просто идеально, поэтому я буду рад блок-схемке какой-нить или просто пунктам, которых надо придерживаться.

PS. итерации на занятиях почему-то не проходили... да и я не программист, преуспеваю, только в рамках программы, не более.

Не читай это!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Mechanical Lover
  post 03.06.09 - 21:04   (Ответ #2)
Пользователь offline

-----


Герцог Мира
Группа: Обыватель
Сообщений: 892
Репутация: 82
Нарушений: (0%)
Составить цикл любой сложности - не проблема. Может потребоваться несколько вложенных и промежуточные переменные. Но если подробнее растолкуешь условия задачи smile.gif Что поделать, математику со студенческих времен подзабыл, вот в программировании упражняться приходится регулярно smile.gif
И почему непременно Do...Loop, когда тут, похоже, логичнее использовать For...Next?

Сообщение отредактировал Mechanical Lover - 03.06.09 - 21:25

Не говорите мне что делать, и я не скажу куда вам пойти.
[SPOILER] >->o ---> (_!_) [/SPOILER]
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Piroman
  post 03.06.09 - 21:59   (Ответ #3)
Пользователь offline

-----


Kindle
Группа: Обыватель
Сообщений: 306
Репутация: 38
Нарушений: (0%)
Вот собственно задача со всеми данными условиями.

Спойлер! Чтобы прочитать скрытый текст, щелкните мышкой.


А по поводу Do... Loop сказано:

Цитата: 
Указания. При программировании циклов с незаданным числом повторения следует использовать цикл с условием, организуемый с помощью оператора Do… Loop. Цикл будет выполняться до тех пор, пока не будет выполнено <вышеупомянутое> условие. Число итераций – это количество выполненных циклов для достижения заданной точности вычисления.

Не читай это!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Dr. YankeeDoodle
  post 04.06.09 - 01:01   (Ответ #4)
Пользователь offline

-----


Психохирург
Группа: Обыватель
Сообщений: 1 084
Репутация: 286
Нарушений: (0%)
Ах, ьим ышшо и счетчег нужен...
Код:

Do Until Abs(y1 - y0) <= E
   i=i+1
   y0 = f(y0, y1)
   y1 = f(y1, f(y0, y1))
   Debug.Print y0 & vbCrLf
   Debug.Print y1 & vbCrLf & vbCrLf
Loop
Debug.Print i


добавлено Dr. YankeeDoodle - 04.06.09 - 01:01
Код:
Private Function f(y0, y1)
    f = 0.5 * ((y1 / (y0 + 2)) + y1)
End Function


Сообщение отредактировал Dr. YankeeDoodle - 04.06.09 - 01:35

Is that how drowned all your witches?
Down in the ocean
One by one
Disappear
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
 
Piroman
  post 05.06.09 - 18:12   (Ответ #5)
Пользователь offline

-----


Kindle
Группа: Обыватель
Сообщений: 306
Репутация: 38
Нарушений: (0%)
Всем спасибо!

Не читай это!
ПрофайлОтправить личное сообщениеВернуться к началу страницы
+Цитировать сообщение
ОтветитьСоздать новую тему
 

Цитата не в тему: Серия Fallout при всей своей "культовости" продавалась крайне вяло, как бы ни печально это было, но старый Fallout ушел как коммунизм, его можно вспоминать, хвалить-ругать, но его не вернуть, в том виде, в котором он был любим многими. Отсюда и руки-ноги Oblivion, тот продавался ой как буйно и рассчитывать, что разработчик будет рубить сук, на котором сидят, крайне наивно. Эпоха сменилась, сменились ценности, изменилась целевая аудитория, технологии, конкуренция, разве что люди все также неизменно продолжают истреблять друг друга, но это никогда не изменится. Да, еще будут поделки, "по теме", но это все уже будет "не то". Fallout умер, да здравствует Fallout! ([FG])
Упрощённая версия / Версия для печати Сейчас: 30.04.24 - 18:37