• Какой функциональный язык переспективнее: Erlang или Scala?

    sim3x
    @sim3x
    Никакой
    Оба будут перспективны, когда у вас будет опыт в области и вам предложат позицию с одним из данных ЯП

    Субьективно, ерланг имеет меньший порог вхождения и узкий профиль использования - хайлоад
    Ответ написан
    3 комментария
  • Почему данный код не работает?

    GavriKos
    @GavriKos Куратор тега Unity
    Потому что ваш код неправильный. Надо все засовывать в корутину.
    Ответ написан
    Комментировать
  • Как правильно сделать функцию для повторяющихся действий?

    FoggyFinder
    @FoggyFinder
    Попробуйте рассматривать функцию в программировании как некоторый участок кода который выполняет определенное действие.

    Давайте разберем на примере вашего задания:

    Заданы три функции y1=x^3, y2=x^3+1, y3= 1/(1+x^2). Определить, являются ли эти функции четными или нечетными.


    Вас может смущать число "три" в формулировке, отбросьте его как не существенное, тогда будет проще понять как правильно поступить. Переформулируем, оставив только самую суть:

    Определить четность функций.


    Возьмем определение "четности":

    Нечётными и чётными называются функции, обладающие симметрией относительно изменения знака аргумента.


    Так как функция может быть произвольная, то можно лишь говорить о свойствах на некотором интервале с заданным шагом.

    Определим тип функции в виде перечисления:

    public enum FuncType { Odd, Even, Unknown };

    Нам понадобиться функция которая будет определять тип функции для конкретной точки:

    Func<double, FuncType> isEven = v =>
    {
        var y1 = func(v);
        var y2 = func(-v);
    
        if (y1 == y2)
            return FuncType.Even;
        if (y1 == -y2)
            return FuncType.Odd;
    
        return FuncType.Unknown;
    };


    и функция для суммирования двух состояний:

    Func<FuncType, FuncType, FuncType> add = (v1, v2) =>
    {
        if (v1 == v2) return v2;
        return FuncType.Unknown;
    };


    теперь, чтобы не делать ненужные проверки, нужен способ вернуть результат сразу как только станет понятно, что функция не является ни четной ни нечетной:

    Для начала нужно определить "состояние" функции для первой точки (a) и, если, однозначного ответа нет, то можно возвращать результат - в дальнейших вычислениях нет необходимости:

    var funcType = isEven(a);
    if (funcType == FuncType.Unknown)
        return FuncType.Unknown;


    теперь, когда предварительная обработка сделана, можно писать цикл:

    for (double x = a + step; x <= b; x += step)
        {
            var funcTypeNext = isEven(x);
            funcType = add(funcType, funcTypeNext);
            if (funcType == FuncType.Unknown)
                return FuncType.Unknown;
         }


    и в итоге нужно вернуть funcType.

    Полностью функция выглядит так:

    public static FuncType IsEvenFunction(Func<double, double> func, double a, double b, double step)
    {
    
        Func<double, FuncType> isEven = v =>
        {
            var y1 = func(v);
            var y2 = func(-v);
    
            if (y1 == y2)
                return FuncType.Even;
            if (y1 == -y2)
                return FuncType.Odd;
    
            return FuncType.Unknown;
        };
    
        Func<FuncType, FuncType, FuncType> add = (v1, v2) =>
        {
            if (v1 == v2) return v2;
            return FuncType.Unknown;
        };
    
        var funcType = isEven(a);
        if (funcType == FuncType.Unknown)
            return FuncType.Unknown;
    
        for (double x = a + step; x <= b; x += step)
        {
            var funcTypeNext = isEven(x);
            funcType = add(funcType, funcTypeNext);
            if (funcType == FuncType.Unknown)
                return FuncType.Unknown;
        }
    
        return funcType;
    }


    Проверка:

    Func<double, double> fn1 = x => x * x * x;
    Func<double, double> fn2 = x => x * x * x + 1;
    Func<double, double> fn3 = x => 1 / (1 + x * x);
    
    Console.WriteLine("Fn1: {0}", IsEvenFunction(fn1, 1, 10, 0.01));
    Console.WriteLine("Fn2: {0}", IsEvenFunction(fn2, 1, 10, 0.01));
    Console.WriteLine("Fn3: {0}", IsEvenFunction(fn3, 1, 10, 0.01));


    Теперь что касается вывода как у вас примере, попробуйте добавить функцию .ToString() для форматирования перечисления. А также добавить описание для функции. Можно использовать кортеж - (описание, функция).

    Если возникнут вопросы - не стесняйтесь спрашивать, буду рад помочь.
    Ответ написан
    1 комментарий
  • Как правильно сделать функцию для повторяющихся действий?

    MrMureno
    @MrMureno
    VR for all
    Вы не поверите, но просто взять и сделать отдельным методом/функцией))

    параметры для функции определить не можете?? ..разбирайте тогда примеры попроще, учитесь. разве не для этого такие задания/лабораторные работы делают
    Ответ написан
    4 комментария
  • SQL. Как из двух данных запросов получить один?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    select MAX(s.salary) from salaries as s
    join employees as e on e.emp_no = s.emp_no
    where s.to_date = '9999-01-01'
    GROUP BY e.gender
    Ответ написан
    1 комментарий
  • Почему return не срабатывает в функции?

    myspace
    @myspace
    Вы делаете return в цикле, просто прерывая цикл, а не останавливая функцию. Вынесите это условие за цикл
    function multiply(){
    
      if( arguments.length === 0 ) {
         return 0; 
      }
    
      let calc = 1;
    
      for(let i = 0, len = arguments.length; i < len; i++){
        calc = calc * arguments[i];
      }
    
      return calc
    }
    Ответ написан
    1 комментарий
  • Как сделать так что бы инпуты были ровно друг под другом, а не так как в нижеприведенном коде?

    @m1roku
    Начинающий
    Я эту форму за вечер уже третий раз вижу.
    Я предлагаю тебе два варианта:
    1) Обратиться на фриланс за версткой.
    2) Освоить азы верстки.
    Конкретно по твоему вопросу, имеет место быть такое решение, разбиваешь форму на две колонки, в левой лейблы полей ввода, в правой, соотвественно, сами поля ввода.
    Или же использовать флексы.
    Ответ написан
    2 комментария
  • Как сделать адаптивное меню с логотипом в центре?

    nickolyashka
    @nickolyashka
    Вариантов много, от абсолютного позиционирования до flex.
    Вот так
    Ответ написан
    Комментировать
  • Стоит и какие наработки выкладывать на github для будущего портфолио?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Стоит выкладывать свои классы (PHP) и библиотеки (JS).
    2. Стоит выкладывать нетривиальный и востребованный функционал.
    3. Целый проект чего-либо - лучше не выкладывать: мало кто поверит, что Вы делали его в одиночку и это достаточно трудоёмкая задача.
    4. Стоит в коде показать ваши знания и умения по владению структурой кода, алгоритмами, работой с текстом или бинарными данными, рекурсией и т.д.
    5. Лучше всего - взять отсутствующую реализацию востребованного алгоритма с википедии на том языке, на котором планируете показать свои навыки и реализовать (предварительно поискав на гитхабе и в гугл, и убедившись в отсутствии его реализации или недостаточном качестве).
    6. Можете ДАЖЕ ОДНУ функцию сделать, но чтобы она была востребована и делала свою работу лучше (качественнее и быстрее) существующих аналогов и привести таблицу сравнения по скорости исполнения вашего и других аналогичных решений.
    7. Задача портфолио на гите - не только показать качество кода и знания языка программирования (и различных подходов), но и способность мыслить не стандартно с максимально возможным результатом на выходе.
    Ответ написан
    2 комментария
  • Находил ли кто подобный плагин?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    уверен, что это самопис, судя по коду:
    Вот пример как это сделать:
    https://habrahabr.ru/post/142137/
    вот много вариантов:
    https://yandex.ru/search/?text=parallax%20jquery%2...
    Ответ написан
    4 комментария