Задать вопрос
  • Как правильно преобразовать запрос из curl-формата в Python requests?

    @vasilek-nik
    Есть хороший сервис который позволяет преобразовать cUrl запрос в код с использованием модуля requests.
    На здоровье, пользуйтесь:
    https://curl.trillworks.com
    Ответ написан
    2 комментария
  • Telegram Bot Api Как отправить сообщение в приватный канал через бота?

    @Islamfon
    Знаю как это сделать!

    1. Сделай канал публичным, установи для него username.
    2. Добавь в канал любого бота.
    3. Перейди по ссылке
    https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[USERNAME_КАНАЛА]&text=тест
    . После перехода по ссылке будет выведен id канала, сохрани его.
    4. Сделай канал приватным.
    5. Отправляй сообщения вот так:
    https://api.telegram.org/bot[ТОКЕН_БОТА]/sendMessage?chat_id=@[ID_КАНАЛА]&text=тест.
    Ответ написан
    1 комментарий
  • Как передать данные на сервер?

    @estoy
    На cisco.by нету шлюза по умолчанию.
    Ответ написан
    3 комментария
  • Как передать данные на сервер?

    @throughtheether
    human after all
    Под рукой packet tracer'а нет, проект не могу посмотреть. Проверьте адрусацию, маршрутизацию и ACL на ISP и cisco.by

    Я так понял, на Gateway маршрут по умолчанию прописан через ISP?
    Ответ написан
    Комментировать
  • Сколько чисел, не превосходящих 240, которые не делятся ни на 2, ни на 3, ни на 5?

    Посчитать те, которые делятся хотя бы на одно. При этом надо учитывать, что некоторые числа будут посчитаны несколько раз. Надо воспользоваться формулой включений-исключений.
    Итого делящихся хотя бы на одно из этих чисел:
    240/2 + 240/3 + 240/5 - 240/(2*3) - 240/(2*5) - 240/(3*5) + 240/(2*3*5) = 176
    Значит, неделящихся 240 - 176 = 64

    Проверяем:
    ghci> length $ filter (\x -> 0 `notElem` [x `mod` 2, x `mod` 3, x `mod` 5]) [1..240]
    64
    Ответ написан
    Комментировать
  • Зачем измерять силу петлевого тока 4-20 мА?

    softmart
    @softmart
    Разработчик
    Есть куча датчиков с выходом 4-20 мА. 4 мА соответствуют минимумум показаний, 20 мА - максимуму.

    Зачем такие сложности, почему датчики являются источниками тока, а не напряжения? С целью передачи сигнала от датчика на большие расстояния. Если от датчика как от источника тока идет 5мА, то эти 5мА он будет вкачивать стабильно в линию связи, на это будут мало влиять наводки и помехи.

    А начинают с 4мА, а не с 0 чтобы понять, датчик нерабочий или передает показания "0".
    Ответ написан
    Комментировать
  • Зачем измерять силу петлевого тока 4-20 мА?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Это для отладки стандартного протокола обмена датчиков, входящих в состав систем АСУ ТП (SCADA).
    Ответ написан
    Комментировать
  • Как реализовать программу работы с многочленом, представленным в виде списка (на базе указателей)?

    @Lexans
    Делал такую лабу) Вот код класса многчлена. Так же есть готовые формочки и тп, а также реализация на двузвязном циклическом списке
    192514de5e6e444c8545404ac9d7446b.png
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    
    namespace WindowsFormsApplication1
    {
        public class Polinom
        {
            private Node head;
    
            //элементарное кольцо
            public Polinom()
            {
                head = new Node();
                head.Next = head;
                head.Prev = head;
            }
    
            //инициализируем строкой
            public Polinom(string PolynomString)
            {
                head = new Node();
                head.Next = head;
                head.Prev = head;
                Parse(PolynomString);
            }
    
            //создание мночлена из строки
            public void Parse(string PolynomString)
            {
                head.Next = head;
                head.Prev = head;
    
                Regex polynomRegExp = new Regex("^[+-]?\\d*(?:x(?:\\^\\d+)?)?(?:[+-]\\d*(?:x(?:\\^\\d+)?)?)*$");
                Regex termRegExp = new Regex("[+-]?\\d*(?:x(?:\\^\\d+)?)?");
    
                if (polynomRegExp.IsMatch(PolynomString))
                {
                    MatchCollection terms = termRegExp.Matches(PolynomString);
                    foreach (Match term in terms)
                        Insert(term.ToString());
                }
                else
                    throw new FormatException();
            }
    
            //вставка члена
            public void Insert(int degree, int coef)
            {
                if (coef != 0)
                {
                    Node term = head.Next;
                    while ((term != head) && (term.Degree < degree))
                        term = term.Next; //ищем место вставки
    
                    if (degree != term.Degree || term == head) //вставка слева от найденного
                    {
                        Node newTerm = new Node(degree, coef);
                        newTerm.Next = term;
                        newTerm.Prev = term.Prev;
                        term.Prev.Next = newTerm;
                        term.Prev = newTerm;
                    }
                    else //если степень уже существует - складываем коэфициенты
                    {
                        term.Coef += coef;
                        if (term.Coef == 0) //поглощение членов
                            Delete(term.Degree);
                    }
                }
            }
    
            //вставка члена из строки
            public void Insert(string termString)
            {
                int degree, coef;
                Node.Parse(termString, out degree, out coef);
                if (coef != 0)
                    Insert(degree, coef);
            }
    
    
            //удаление члена заданной степени
            public void Delete(int degree)
            {
                Node term = head.Next;
                while ((term != head) && (term.Degree != degree))
                    term = term.Next;
    
                if (term != head)
                {
                    term.Prev.Next = term.Next;
                    term.Next.Prev = term.Prev;
                }
                else
                    throw new IndexOutOfRangeException(); //если не нашли
            }
    
    
            //возвращает строковое представление многочлена
            override public string ToString()
            {
                StringBuilder Expr = new StringBuilder();
                Node term = head.Next;
                while (term != head)
                {
                    if ((Expr.Length != 0) && (Expr[0] != '-'))
                        Expr.Insert(0, '+'); //знак плюса перед членом
                    Expr.Insert(0, term.ToString());
    
                    term = term.Next;
                }
    
                return Expr.ToString();
            }
    
            //сложение
            public Polinom Addition(Polinom polinom)
            {
                Polinom result = new Polinom(polinom.ToString());
    
                Node term = head.Next;
                while (term != head)
                {
                    result.Insert(term.Degree, term.Coef);
                    term = term.Next;
                }
    
                return result;
            }
    
            public static Polinom operator +(Polinom p1, Polinom p2)
            {
                return p1.Addition(p2);
            }
    
        }
    }
    
     //класс члена
        public class Node
        {
            private int stepen; //степень члена
            private int a; //коэффициент члена
            private Node link; // поле связи
    
            //свойства
            public int stepen
            {
                get { return stepen; }
                set { stepen = value; }
            }
    
            public int A
            {
                get { return a; }
                set { a = value; }
            }
    
            public Node Link
            {
                get { return link; }
                set { link = value; }
            }
    
            //конструкторы
            public Node()
            {
            }
    
            public Node(int degree, int coef)
            {
                stepen = degree;
                a = coef;
                Link = null;
            }
    
            public Node(int stepen, int a, Node link)
            {
                Stepen = stepen;
                A = a;
                Link = link;
            }
    
            //строковое представление члена
            public override string ToString()
            {
                StringBuilder Expr = new StringBuilder();
    
                if (stepen == 0)
                    Expr.Insert(0, a);
                else if (stepen == 1)
                    Expr.Insert(0, String.Format("{0}x", a));
                else
                    Expr.Insert(0, String.Format("{0}x^{1}", a, stepen));
    
                return Expr.ToString();
            }
    
            //парсит строку члена в параметры stepen и a
            public static void Parse(string termString, out int degree, out int coef)
            {
                if (termString != "")
                {
                    Regex termRegExp = new Regex("^([+-]?\\d*)(?:(x)(?:\\^(\\d+))?)?$");
    
                    if (termRegExp.IsMatch(termString))
                    {
                        Match match = termRegExp.Match(termString);
                        string coefMatch = match.Groups[1].ToString();
                        string xMatch = match.Groups[2].ToString();
                        string degreeMatch = match.Groups[3].ToString();
    
                        if (coefMatch == "+" || coefMatch == "")
                            coef = 1;
                        else if (coefMatch == "-")
                            coef = -1;
                        else
                            coef = Int32.Parse(coefMatch);
    
    
                        if (degreeMatch != "")
                            degree = Int32.Parse(degreeMatch);
                        else if (xMatch == "x")
                            degree = 1;
                        else
                            degree = 0;
                    }
                    else
                        throw new FormatException();
                }
                else
                {
                    coef = 0;
                    degree = 0;
                }
            }
        }
    Ответ написан
    2 комментария