shit, oof
Здравствуйте.
Проблема вот в чем: надо создать функцию пользователя для таблицы умножения на 7.
Пишу:
Function V(k As Single, x As Single) As Single
k = 7
For x = 1 To 10 Step 1
V = k * x
Next x
End Function
Но почему-то, когда вызываю эту функцию, надо заново вводить значения к и х, и все равно получается неверный ответ (к=7, х=1, допустим, а ответ не 7, а 70).
Где ошибка-то? Глюк какой-то?
Проблема вот в чем: надо создать функцию пользователя для таблицы умножения на 7.
Пишу:
Function V(k As Single, x As Single) As Single
k = 7
For x = 1 To 10 Step 1
V = k * x
Next x
End Function
Но почему-то, когда вызываю эту функцию, надо заново вводить значения к и х, и все равно получается неверный ответ (к=7, х=1, допустим, а ответ не 7, а 70).
Где ошибка-то? Глюк какой-то?
-
-
06.06.2011 в 15:52-
-
06.06.2011 в 15:57-
-
06.06.2011 в 16:00print k, x, V
-
-
06.06.2011 в 16:02-
-
06.06.2011 в 16:08-
-
06.06.2011 в 16:09-
-
06.06.2011 в 16:17Если ставить вопрос именно так, то представленный вариант сгодится. Но, по-хорошему, k и x должны задаваться _вне_ функции.
пытаюсь сохранить, выдает такое:
Каков оператор/функция вывода на экран в VB, я не знаю.
-
-
06.06.2011 в 16:27Range("a1") = "k": Range("a2") = Str(k)
Range("b1") = "x": Range("b2") = Str(x)
Range("c1") = "V": Range("c2") = Str(V)
но все равно не выходит.
-
-
06.06.2011 в 21:45-
-
07.06.2011 в 01:50-
-
07.06.2011 в 08:19-
-
07.06.2011 в 08:30-
-
07.06.2011 в 08:36-
-
07.06.2011 в 09:09-
-
07.06.2011 в 09:43вы можете хотябы намекнуть чем вы руководствовались при написании этого кода?
-
-
07.06.2011 в 13:49Так, я попробую разобраться. она принимает два сингла это k и x, верно?
возвращается один V?
при этом ни один из принятых параметров она не использует, как это не использует? В формуле ведь записано V = k * x, то есть она использует и k, и x.
Или вы имеете в виду что-то другое?
-
-
07.06.2011 в 13:57-
-
07.06.2011 в 14:22бросайте вы это дело, мой вам совет.
-
-
07.06.2011 в 16:45Он имеет в виду, что ваша функция принимает два аргумента — k и x. Ни один из этих аргументов в функции не используется. Потому что их значения вы тут же перезаписываете другими данными.
В k вы помещаете 7.
В x — 1 и в цикле увеличиваете до 10.
Таким образом, переданные в функцию данные не используются вообще никак.
Это то же самое, как если бы сразу написали Function V() As Single. Ничего не изменится. Правда.
Ну а V совершенно очевидным образом это одна переменная с одним значением. Более того, функция и объявлена, как возращающая значение типа Single. Одно значение.
Теперь по поводу экселя. Как это в конечном счёте должно выглядеть? Она должна в таблице заполнить поля гм... таблицей умножения?
-
-
07.06.2011 в 17:09да, по идее.
Я так поняла, это должно быть три столбика. В первом 7, во втором - множители, от 1 до 10, в третьем результат.
Так, значит в k и x не надо писать никаких значений, да? Тогда как дать понять, что это именно таблица умножения на семь?
-
-
07.06.2011 в 17:19-
-
07.06.2011 в 17:32-
-
07.06.2011 в 17:50Х.з., как в экселе что-то куда-то писать. ) Потом как-нибудь погуглю. )
А совсем без переменных — заменить цикл на последовательный вызов операций записи. X)