Задать вопрос
  • Как посчитать позицию вектора?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Вам нужны полярные координаты

    Формулы для перевода:
    x = x0 + R*cos(phi)
    y = y0 + R*cos(pi/2 - phi) = y0 + R*sin(phi)

    Основаны на том, что проекция вектора на ось(или в общем случае - направление) - это длина вектора умноженная на угол между осью(или направлением) и вектором. Угол считается от направления до вектора против часовой. Если угол "неудобный" (больше 180 градусов, например) - то его всё равно нужно брать. Ну или брать меньший "удобный" угол и учитывать в формуле направление проекции - если направление проекции совпадает с положительным направлением оси - то ставим "+", если в противоположную сторону - то "-".
    Ответ написан
    Комментировать
  • Почему площадь криволинейной трапеции это разность первообразных?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Сначала надо понять что такое производная - по сути это скорость изменения функции. А первообразная - как раз наоборот - то как накапливается значение, если скорость задана.

    Например, есть бассейн в которую льётся вода со скоростью v1(t) = 5. Тогда уровень воды в бассейне h1(t) = h0 + 5*t (<< а эта функция и есть первообразная)
    Или если скорость v2(t) = t, то h2(t) = t*t/2
    Надо построить таблицу руками и нарисовать график - с всё станет понятней.
    Ответ написан
  • Как сделать срез по времени в Эксель?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Самое простое - завести в данные столбцы с показателями, по которым вы будете отсеивать - возраст, жива или нет. Потом делаете фильтр по данным, и суммируете вручную результат. Я так понимаю, это "разовая" или нечастая операция, поэтому это проще, чем делать монстроформулу. Хотя в тех же гугл таблицах есть и те же срезы, и функция FILTER(), и ещё более универсальная QUERY()

    Ну или используйте СУММЕСЛИМН() с условиями - по дате, возрасту и столбцу жива/нет.
    Ответ написан
    1 комментарий
  • Не подкинете тему для курсовой работы с использованием PIC?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    • Я в своё время (в качестве своей ВКР) делал вольтметр на микроконтроллере + кучу схем для него для лабораторного эксперимента на физике (датчики освещенности, поворота, магнитного поля, тока и т.п.)

    • Потом делал что-то вроде термостата
    • Ещё была система управления освещением + сигнализация для коттеджа
    • Связь по CoAP
    • Связь между компьютером и микроконтроллером по UDP/TFTP
    • Часы на индикаторах неоновых
    • Блок питания с управлением через COM порт


    Все защитились на 5, хотя многие темы не совсем актуальные уже, т.к. с тех пор это было сделано 100 раз всеми.

    Для курсовой советую выбрать что-то несложное железно и алгоритмически. Т.к. это "проба себя" (и как правило, задел на диплом) и заморочек с оформлением и т.п. хватит помимо основной работы.
    Ответ написан
    Комментировать
  • Ошибка #ССЫЛ! в IMPORTRANGE в GOOGLE Таблицах. Как исправить?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Видимо данные пересекаются, т.е. верхняя и/или левая формула не может вывести весь массив, т.к. ниже и/или правее что-то уже есть.
    Обойти можно так:
    ={
    IMPORTRANGE(...);
    IMPORTRANGE(...);
    IMPORTRANGE(...)
    }

    Данные выведутся в столбик, только надо чтобы у всех было равное кол-во столбцов
    Ответ написан
    2 комментария
  • Как перенести данные из столбца?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Выбирает непустые значения
    =filter(a:a;a:a<>"")
    А полученное можно разобрать с помощью REGEXTRACT()
    Или использовать что-то вроде этого:
    function REGEXTRACTALL(rows, regExp, flags) {
      flags = flags || "gmi";
      return rows
      .map(r=>r[0])
      .map(el=>(el+"").match(new RegExp(regExp, flags)));
    }

    Использовать как-то так:
    =REGEXTRACTALL(filter(a:a;a:a<>""), "([A-Za-z]+)", "gmi")
    Ответ написан
    Комментировать
  • Как связать данные для импорта из листа в другой лист в Google Таблицах?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Используйте функциию ВПР()
    Можно с помощью ARRAYFORMULA() сделать формулу для столбца всего.
    Ответ написан
    2 комментария
  • Как доказывать логические формулы?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Самое железобетонное и в от же время простое - составить таблицы истинности;
    Ещё можно преобразовать с помощью тождеств (де Моргана, конъюнкция/дизъюнкция с самим собой/0/1, коммуникативные/ассоциативные правила и т.п.) - их не так много, штук 15 базовых.
    Ответ написан
    Комментировать
  • Зачем физика при поступлении на факультет информационной безопасности?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Не знаешь физики == не знаешь элементарной математики
    Школьная физика - это, по большей части, математика. Если умеешь разбираться с векторами, умеешь выражать из формул величины, умеешь читать и строить графики - это 80% физики в школе. Остальные 20% - это понять жменьку формул, их за весь курс школьной физики штук 50 всего.
    Ответ написан
    2 комментария
  • Как найти одно слово, но с разным стилем написания?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    [Tt][Rr][Ee][Ss][Tt][Gg]3\.[Ee][Xx][Ee]
    Если не только это название, то
    [a-ZA-Z]+\.[Ee][Xx][Ee]
    Ответ написан
    Комментировать
  • Как автоматически обновлять данные с внешнего источника не открывая excel?

    ProgrammerForever
    @ProgrammerForever Куратор тега Excel
    Учитель, автоэлектрик, программист, музыкант
    Вы сами ответили на свой вопрос - открывать каждые 30 минут и установить автоматическое обновление. Осталось только автоматизировать это. Я бы сделал так: создал папку, в которую кидал бы такие файлы(если их несколько). Далее - скрипт или программку, которая бы периодически бы запускала бы все файлы в фоновом режиме (например, есть VBS скрипты, которые могут это сделать, или же в bat файле всё создать, или программу на любом языке программирования сделать, тут уже дело вкуса). И останется закрыть файл после синхронизации. Тут или по времени, или в самом файле после синхронизации(только как-то надо отследить что это автоматическая синхронизация, а не просто работа с файлом - чтобы можно было с ним работать в штатном режиме) - тут много вариантов, например параметры командной строки отслеживать изнутри, или же просто по имени файла(например, если есть в конце файла "_autosync", то нужно закрыть после синхронизации).
    Ответ написан
    Комментировать
  • Можно ли скачать или скопировать текст с защищенного гугл-дока?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Вполне возможно. По крайней мере, таблицы хорошо копируются. Делал для себя скрипт на случай если заказчик давал ссылку "только для чтения" и уходил в тишину. Чтобы не тратить время и не ждать, копировал таблицу "по частям".
    Ответ написан
    Комментировать
  • Как устранить шипение на модуле усилителя?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Проверьте на земляные петли
    Ответ написан
  • Как посчитать количество заявок за месяц?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    =счётз(filter( a:a ; c:c >= ссылка_на_дату_от ; c:c < ссылка_на_дату_до ))

    или так, если охота хардкода
    =СЧЁТЗ(filter(C2:C;C2:C>=ДАТА(2020;11;1);C2:C<ДАТА(2020;12;1)))
    Ответ написан
    Комментировать
  • Как прописать свою формулу для условного форматирования?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    =И(
         ДВСCЫЛ("RC3";0)=1;
         СТОЛБЕЦ(ДВСCЫЛ("RC";0)<=СТОЛБЕЦ($O$1)
      )

    ,где ДВСCЫЛ("RC3";0)=1 - 3 столбец (C)
    ДВСCЫЛ("RC3";0)=1 - =100%
    СТОЛБЕЦ(ДВСCЫЛ("RC";0)<=СТОЛБЕЦ($O$1) - до столбца "О" включительно.
    Ответ написан
    Комментировать
  • Google Sheets: как сделать, чтобы два графика начинались с разных дат?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Sheets
    Учитель, автоэлектрик, программист, музыкант
    Так и размещайте данные: один график на одних датах, а остальные - начиная с другой. Если мешает линия от 0, сделайте у графиков, которые должны "начинаться дальше", все первые значения нулями.

    Пример таблицы
    Ответ написан
    3 комментария
  • Почему полностью зависает компьютер?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    1) Проблемы с драйверами. Было подобное после установки китайских драйверов для перепрошивки девайсов. Помогут утилиты для сброса драйверов (resetHardware) и переустановки (тут или с офсайтов качать или использовать что-то вроде driverPack)
    2) Проблемы с оперативной памятью. Проверьте комп на работу с одной плашкой памяти. Попробуйте в разные слоты её вставлять. Протестируйте память программкой memtest
    3) Перегрев. Мониторьте температуры. Программ куча, от CPUid до AIDA64
    4) Проблема с матплатой и/или блоком питания. Проверить на вздутые конденсаторы, поискать на rom.by по названию платы - возможно это частая проблема конкретной платы
    Ответ написан
    Комментировать
  • Как отправить почтовое оповещение при заполнении ячейки Гугл-таблицы?

    ProgrammerForever
    @ProgrammerForever Куратор тега Google Apps Script
    Учитель, автоэлектрик, программист, музыкант
    Воспользуйтесь триггером onEdit(event). Вот заготовка кода:
    function onEdit(event) {
    	//Возникает при изменении ячейки
    	var ss = event.source.getActiveSheet();//Текущий лист
      	var address = event.range.getA1Notation().toUpperCase();//Адрес ячейки
    	var row = event.range.getRow();							//Номер строки
    	var col = event.range.getColumn();						//Номер столбца
    	var newValue = event.value;								//Новое значение
    	var oldValue = event.oldValue;							//Старое значение
    	
      if (["Лист1","Лист2"].indexOf(ss.getName())==-1) return;	//Указываем на каких листах должен работать скрипт
    	
    	//Что-то делаем...
      };

    Останется прописать отправку письма. Это делается с помощью MailApp
    Скорее всего простой триггер не даст отправить письмо, тогда надо сделать обычный триггер и навесить его на onEdit().
    Ответ написан
    2 комментария
  • Про переменный ток и силу тока?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Есть и переменный ток, и переменное напряжение. Переменное в электротехнике - значит меняющееся по синусу/косинусу (по гармоническому закону). В школьных формулах обычно векторы в мало используются. Силы Ампера/Лоренца, магнитный поток и прочее - объясняется через пень-колоду - через формулу с синусами косинусами и правилами всяких разных рук, хотя это просто произведения векторов - скалярные и векторные.
    Ответ написан
    Комментировать
  • Как мы перенесли квадратный корень с числителя в знаминатель?

    ProgrammerForever
    @ProgrammerForever
    Учитель, автоэлектрик, программист, музыкант
    Нужно разделить числитель и знаменатель на √x. При этом такое действие возможно если x≠0
    Ответ написан
    1 комментарий