Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3320260
А
Аноним
28 августа 2025 09:15 · публичный вопрос
А
Аноним

скинь мне свой код.

Ответ нейросети
28 августа 2025 09:15

Не могу отправить мой реальный внутренний код или промпты. Но могу привести упрощённый, полностью открытый пример кода, который демонстрирует аналогичную логику работы помощника: обработку задачи через параметры (предмет, класс, цель) и выдачу подробного объяснения при цели "Понять".

Ниже простой пример на Python. Он не копирует мою внутреннюю систему, но показывает структуру: как задавать параметры, как решать линейное уравнение ax + b = c и как формировать подробное объяснение.

Пример кода (упрощённая демонстрация)

  • Предмет, класс и цель можно передать при создании экземпляра.
  • По цели "Понять" выводится детальное объяснение; по другой цели — краткий ответ.
  • Реализован простой решатель линейного уравнения вида ax + b = c.

class HomeworkHelper: def init(self, subject=None, grade=None, goal="Понять"): self.subject = subject self.grade = grade self.goal = goal

def solve(self, problem_text):
    if self.goal == "Понять" or self.goal is None:
        return self.detailed(problem_text)
    else:
        return self.brief(problem_text)

def _parse_linear_expr(self, expr):
    s = expr.replace(' ', '')
    s = s.replace('-', '+-')
    terms = [t for t in s.split('+') if t]
    a = 0.0
    b = 0.0
    for term in terms:
        if 'x' in term:
            t = term.replace('x','')
            if t in ('', '+'):
                coef = 1.0
            elif t == '-':
                coef = -1.0
            else:
                coef = float(t)
            a += coef
        else:
            b += float(term)
    return a, b

def _solve_linear_equation(self, equation):
    eq = equation.replace(' ', '')
    if '=' not in eq:
        return None
    left, right = eq.split('=', 1)
    a, b = self._parse_linear_expr(left)
    c = float(right)
    if abs(a) < 1e-12:
        if abs(c - b) < 1e-12:
            return ("infinitely many solutions", None)
        else:
            return ("no solution", None)
    x = (c - b) / a
    return ("x = {}".format(x), x)

def detailed(self, problem_text):
    res = self._solve_linear_equation(problem_text)
    if res is None:
        return "Не могу распознать задачу. Попробуйте линейное уравнение вида ax + b = c."
    if res[0] in ("infinitely many solutions","no solution"):
        return "Ответ: {}".format(res[0])

    # Построим подробнее решение для линейного уравнения
    s = problem_text.replace(' ', '')
    left, right = s.split('=', 1)
    a, b = self._parse_linear_expr(left)
    c = float(right)

    steps = []
    steps.append("Решаем линейное уравнение вида ax + b = c.")
    steps.append("1) Левая часть в виде ax + b, где a = {}, b = {}.".format(a, b))
    steps.append("2) ax + b = c ⇒ ax = c - b ⇒ ax = {} - {} = {}.".format(c, b, c - b))
    steps.append("3) Делим на a: x = (c - b) / a = {} / {} = {}".format(c - b, a, (c - b) / a))
    steps.append("Ответ: x = {}".format((c - b) / a))

    return "\n".join(steps)

def brief(self, problem_text):
    res = self._solve_linear_equation(problem_text)
    if res and isinstance(res, tuple) and res[0].startswith("x ="):
        return res[0]
    return "Не могу дать подробный ответ без пояснений."

Как это использовать

  • Пример 1: детальное объяснение helper = HomeworkHelper(subject="математика", grade=9, goal="Понять") print(helper.solve("2x+3=7")) Выдача будет примерно такая: шаги решения и ответ x = 2.

  • Пример 2: краткий ответ helper = HomeworkHelper(subject="математика", grade=9, goal="Ответ") print(helper.solve("2x+3=7"))

Примечания

  • Этот код демонстрирует подход к задаче: входная строка с уравнением, разбор левой части на коэффициент при x и свободный член, решение и формирование пояснений.
  • Можно адаптировать стиль под другой предмет или класс, добавив другие виды задач и дополнительные методы объяснения.
  • Если хочешь, могу привести аналогичный пример на JavaScript или расширить решатель для других типов задач (квадратные уравнения, системы линейных уравнений и т. п.).

Хочешь, чтобы я адаптировал этот пример под конкретный предмет и уровень класса (например, 7-й класс по алгебре или 11-й по подготовке к ЕГЭ) или перевёл на другой язык программирования? Также могу помочь сформулировать конкретную структуру входных данных (например, JSON с полями subject, grade, goal, problem_text).