Добрый вечер. Друзья нашел одну интересную задачу, написать её тут не могу потому что там функция, я её в ворд закинул. Это дал мне препод, так как я отличник в группе, но решить её я так и не смог, а идти к ней чтобы помогла стыдно. Буду рад любой подсказке.
Добрый вечер. Друзья нашел одну интересную задачу, написать её тут не могу потому что там функция, я её в ворд закинул. Это дал мне препод, так как я отличник в группе, но решить её я так и не смог, а идти к ней чтобы помогла стыдно. Буду рад любой подсказке.alexandr_fors
RAN, Все сделано)Извините, как-то не подумал, я сам то вырос в России , а не давно переехали в Украину, так вот приходиться изучать и Украинский язык
RAN, Все сделано)Извините, как-то не подумал, я сам то вырос в России , а не давно переехали в Украину, так вот приходиться изучать и Украинский язык alexandr_fors
Берёте за образец любую UDF (это если вообще не знаете, что там и как), далее вникаете как это работает, далее меняете её код на свой. И действительно, всё можно уместить в одну строку. Но можно для простоты написать 5 строк, используя if then else end if
Берёте за образец любую UDF (это если вообще не знаете, что там и как), далее вникаете как это работает, далее меняете её код на свой. И действительно, всё можно уместить в одну строку. Но можно для простоты написать 5 строк, используя if then else end ifHugo
RAN, нет, не двоечник Просто иногда трудно с Украинским языком. Я же еще в школе учусь и для меня самому трудно разобраться в этих макросах. Сможешь мне помочь завтра или сегодня там?
RAN, нет, не двоечник Просто иногда трудно с Украинским языком. Я же еще в школе учусь и для меня самому трудно разобраться в этих макросах. Сможешь мне помочь завтра или сегодня там?alexandr_fors
Hugo, Думаете прокатит? Просто я как бы чайник в этом деле вникаю вторые сутки, завтра будут третьи:( и блин с этими Макросами вообще туго.Еще скоро и на олимпиаду ехать Все так навалилось:( Можете помочь мне разобраться в этой задаче?
Hugo, Думаете прокатит? Просто я как бы чайник в этом деле вникаю вторые сутки, завтра будут третьи:( и блин с этими Макросами вообще туго.Еще скоро и на олимпиаду ехать Все так навалилось:( Можете помочь мне разобраться в этой задаче?alexandr_fors
Для начала найдите код или файл с любой UDF. Хотя код например вот: [vba]
Код
Function sp1s(Txt$, numstr&) Dim a a = Split(Txt, ChrW(10)) sp1s = a(numstr - 1) End Function
[/vba] Что делает - не важно. Важно то, что он что-то делает с аргументом Txt, результат выводит в ячейку, куда введена эта функция (numstr для Вашей задачи лишнее). Вот по этим исходным данным и стройте свой код
Для начала найдите код или файл с любой UDF. Хотя код например вот: [vba]
Код
Function sp1s(Txt$, numstr&) Dim a a = Split(Txt, ChrW(10)) sp1s = a(numstr - 1) End Function
[/vba] Что делает - не важно. Важно то, что он что-то делает с аргументом Txt, результат выводит в ячейку, куда введена эта функция (numstr для Вашей задачи лишнее). Вот по этим исходным данным и стройте свой код Hugo
Function N(x As Double) As Double If x <= 1 Then N = 2 * x - 54 Else N = Tan(x + 12) End If End Function
[/vba] или [vba]
Код
Function N(x As Double) As Double If x <= 1 Then N = 2 * x - 54 Else N = Tan(x + 12) End Function
[/vba]
при этом IIf не всегда может заменять If Then Else в подобных ситуациях, дело в том, что выражения в IIf вычисляются всегда, независимо от условия, и затем подставляется то, какое необходимо в зависимости от значения логического выражения, это как минимум уменьшение скорости, а как максимум может привести к возникновению ошибки.
при такой записи возникает ошибка при нулевых и отрицательных значениях x: [vba]
Код
Function f(x As Double) As Double f = IIf(x >= 0, Sqr(x), 1 / x) End Function
[/vba] при такой, ошибки не возникает: [vba]
Код
Function f(x As Double) As Double If x >= 0 Then f = Sqr(x) Else f = 1 / x End Function
[/vba]
а как же If Then Else?
[vba]
Код
Function N(x As Double) As Double If x <= 1 Then N = 2 * x - 54 Else N = Tan(x + 12) End If End Function
[/vba] или [vba]
Код
Function N(x As Double) As Double If x <= 1 Then N = 2 * x - 54 Else N = Tan(x + 12) End Function
[/vba]
при этом IIf не всегда может заменять If Then Else в подобных ситуациях, дело в том, что выражения в IIf вычисляются всегда, независимо от условия, и затем подставляется то, какое необходимо в зависимости от значения логического выражения, это как минимум уменьшение скорости, а как максимум может привести к возникновению ошибки.
при такой записи возникает ошибка при нулевых и отрицательных значениях x: [vba]
Код
Function f(x As Double) As Double f = IIf(x >= 0, Sqr(x), 1 / x) End Function
[/vba] при такой, ошибки не возникает: [vba]
Код
Function f(x As Double) As Double If x >= 0 Then f = Sqr(x) Else f = 1 / x End Function