Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2011, 14:31   #1
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию [VB] Вычислить произведение ряда N чисел

Вычислить произведение ряда N чисел
R = 5/9 * 10/16 * 17/25 * 26/36 * ...
Мой главный вопрос: правильно ли устроена программа (правильно ли заданы циклы, задана и использована переменная n)?

Код:
Option Explicit
Dim n, S1, S2, h, h2, i, i2 As Integer
Private Sub Command1_Click()
n = Val(InputBox("Ââåäèòå n"))
S1 = 1
h = 5
i = 5
Do
S1 = S1 * i
i = i + h
h = h + 2
Loop While n >= i
Print S1
S2 = 1
i2 = 9
h2 = 7
Do
S2 = S2 * i2
i2 = i2 + h2
h2 = h2 + 2
Loop While i >= i2
Print S2
Print " R = "; S1 / S2
End Sub
Raikerian вне форума Ответить с цитированием
Старый 11.06.2011, 19:28   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

что, чужой код? Действительно, запутано.
А почему не For цикл? Надо в одном цикле считать и S1, и S2.
А то с такими условиями (while) любого преподавателя запутаете....
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 11.06.2011, 20:02   #3
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию

Код мой. Но я сомневался с задаванием переменной. Задание было сделать программу с тремя циклами: while, until и for. Если в while все правильно тогда я и в остальном не сомневаюсь =)
Raikerian вне форума Ответить с цитированием
Старый 11.06.2011, 20:21   #4
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

А по шагам (клавишей F8) прогнать программу не судьба? Ведь все значения переменных сразу видны на каждом шаге...
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 11.06.2011, 20:32   #5
Raikerian
Пользователь
 
Регистрация: 04.06.2011
Сообщений: 10
По умолчанию

Все разобрался! N колво, а значит сколько дробей этих должно быть с прогрессией

Код:
Option Explicit
Dim N, h, h2, i, i2, d As Integer, R As Single
Private Sub Command1_Click() 
Me.Cls
N = Val(InputBox("Введите N"))
R = 1
i = 5  
i2 = 9 
h = 5  
h2 = 7 
d = 1 
Do 
R = R * i / i2
i = i + h      
i2 = i2 + h2 
h = h + 2   
h2 = h2 + 2 
d = d + 1 
Loop While N >= d
Print " N ="; N
Print " R ="; R
End Sub
А с for как
Код:
R1 = 1
h = 5
i = 5
d = 1
Do
R1 = R1 * i
i = i + h
h = h + 2
d = d + 1
Loop While N >= d
переделать? Можно ли тут вообще с For сделать?
For i = 5 to незнаю до чего Step h
R1 = R1 * i
i = i + h
h = h + 2
Next i
Что упустил как исправить в For?

Последний раз редактировалось Raikerian; 11.06.2011 в 21:49. Причина: Окончательный код/исправил
Raikerian вне форума Ответить с цитированием
Старый 12.06.2011, 07:48   #6
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Цитата:
N колво, а значит сколько дробей этих
поэтому
Код:
For j=1 to N
здесь с   i, h, R1 что хочешь делай
Next j
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить произведение P кубов трех чисел a, b и c, если их сумма меньше нуля, произведение P модулей NoUserName Помощь студентам 3 01.03.2009 18:10
Как в С++ Вычислить произведение первых N сомножителей? JiLiYa Общие вопросы C/C++ 2 18.02.2009 12:30
Вычислить сумму ряда Alex1991 Помощь студентам 1 09.11.2008 19:22
вычислить произведение четных чисел в каждой строке массива. Oliver Sykes Паскаль, Turbo Pascal, PascalABC.NET 5 09.10.2008 03:43
Если все элементы матрицы четные, вычислить их произведение. Misho0k Паскаль, Turbo Pascal, PascalABC.NET 7 20.05.2008 22:51