Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 01 марта 2026 08:38

Напиши ответ программу для той задачи

Ответ нейросети

01 марта 2026 08:38

Похоже, вы хотите получить программу, которая будет выдавать подробное пошаговое решение для заданной задачи. Ниже приведён готовый шаблон на Python, который может решать три распространённых типа задач средней школы: линейное уравнение, квадратное уравнение и систему из двух уравнений. Он формирует понятные шаги и объяснения.

Код (Python):

import math
from typing import Dict, Any

def format_num(n):
    # Форматирование чисел: если целое — без десятых знаков
    if isinstance(n, (int,)):
        return str(n)
    if isinstance(n, float):
        if abs(n - round(n)) < 1e-9:
            return str(int(round(n)))
        else:
            return str(round(n, 6)).rstrip('0').rstrip('.')
    return str(n)

def solve_linear(task: Dict[str, Any]) -> str:
    # task: {'type':'linear', 'a': <число>, 'b': <число>, 'c': <число>}
    a = task.get('a')
    b = task.get('b')
    c = task.get('c')
    steps = []
    steps.append(f"Решение линейного уравнения: {a}x + {b} = {c}")

    if a == 0:
        if b == c:
            steps.append("Так как a = 0 и b = c, уравнение тождественно истинно. Бесконечно много решений.")
            return "\n".join(steps)
        else:
            steps.append("Так как a = 0, а b ≠ c, решения нет.")
            return "\n".join(steps)

    steps.append(f"Перепишем уравнение: {a}x = {c} − {b} = {format_num(c - b)}")
    x = (c - b) / a
    steps.append(f"Разделим обе части на {a}: x = ({c} − {b}) / {a} = {format_num(x)}")
    steps.append(f"Ответ: x = {format_num(x)}")
    return "\n".join(steps)

def solve_quadratic(task: Dict[str, Any]) -> str:
    # task: {'type':'quadratic', 'a': <число>, 'b': <число>, 'c': <число>}
    a = task.get('a')
    b = task.get('b')
    c = task.get('c')
    steps = []
    steps.append(f"Решение квадратного уравнения: {a}x^2 + {b}x + {c} = 0")

    if a == 0:
        # Сведение к линейному: bx + c = 0
        steps.append("Обратите внимание: a = 0, уравнение линейное.")
        linear_task = {'type':'linear', 'a': b, 'b': c, 'c': 0}
        return steps + [""] + solve_linear(linear_task).split("\n")

    D = b*b - 4*a*c
    steps.append(f"Дискриминант: D = b^2 - 4ac = {b}^2 - 4*{a}*{c} = {D}")

    if D < 0:
        steps.append("D < 0, вещественных корней нет. Есть комплексные корни.")
        real = complex(-b, math.sqrt(-D)) / (2*a)
        real2 = complex(-b, -math.sqrt(-D)) / (2*a)
        steps.append(f"Корни: x1 = {real}, x2 = {real2}")
        return "\n".join(steps)

    sqrtD = math.sqrt(D)
    x1 = (-b - sqrtD) / (2*a)
    x2 = (-b + sqrtD) / (2*a)

    steps.append(f"x1 = (-b - sqrt(D)) / (2a) = ({-b} - {sqrtD}) / ({2*a}) = {format_num(x1)}")
    steps.append(f"x2 = (-b + sqrt(D)) / (2a) = ({-b} + {sqrtD}) / ({2*a}) = {format_num(x2)}")
    if abs(x1 - x2) < 1e-12:
        steps.append(f"Корень кратности 2: x = {format_num(x1)}")
    else:
        steps.append(f"Ответы: x1 = {format_num(x1)}, x2 = {format_num(x2)}")
    return "\n".join(steps)

def solve_system(task: Dict[str, Any]) -> str:
    # task: {'type':'system',
    #        'eqs': [
    #            {'a':a1, 'b':b1, 'c':c1},
    #            {'a':a2, 'b':b2, 'c':c2}
    #        ]}
    eqs = task.get('eqs', [])
    if len(eqs) != 2:
        return "Система должна содержать две линейные уравнения."

    a1, b1, c1 = eqs[0].get('a'), eqs[0].get('b'), eqs[0].get('c')
    a2, b2, c2 = eqs[1].get('a'), eqs[1].get('b'), eqs[1].get('c')

    steps = []
    steps.append("Решение системы линейных уравнений:")
    steps.append(f"{a1}x + {b1}y = {c1}")
    steps.append(f"{a2}x + {b2}y = {c2}")

    D = a1*b2 - a2*b1
    Dx = c1*b2 - c2*b1
    Dy = a1*c2 - a2*c1

    steps.append(f"Детерминант D = a1*b2 − a2*b1 = {D}")
    if D == 0:
        steps.append("D = 0. Система имеет бесконечно много решений или несовместна.")
        # Проверим совместность
        if a1*c2 == a2*c1 and b1*c2 == b2*c1 and (a1*b2 - a2*b1) == 0:
            steps.append("Система совместна*: существует бесконечно много решений, т.к. второй коэффициент пропорционален первому.")
        else:
            steps.append("Система несовместна.")
        return "\n".join(steps)

    steps.append(f"Dx = c1*b2 − c2*b1 = {Dx}")
    steps.append(f"Dy = a1*c2 − a2*c1 = {Dy}")
    x = Dx / D
    y = Dy / D
    steps.append(f"x = Dx / D = {Dx} / {D} = {format_num(x)}")
    steps.append(f"y = Dy / D = {Dy} / {D} = {format_num(y)}")
    steps.append(f"Ответ: x = {format_num(x)}, y = {format_num(y)}")
    return "\n".join(steps)

def solve_problem(task: Dict[str, Any]) -> str:
    t = task.get('type')
    if t == 'linear':
        return solve_linear(task)
    if t == 'quadratic':
        return solve_quadratic(task)
    if t == 'system':
        return solve_system(task)
    return "Неизвестный тип задачи. Поддерживаются: linear, quadratic, system."

# Пример использования:
if __name__ == "__main__":
    # Пример 1: линейное уравнение
    task_linear = {'type': 'linear', 'a': 3, 'b': 5, 'c': 20}  # 3x + 5 = 20
    print("Пример линейного уравнения:")
    print(solve_problem(task_linear))
    print("\n" + "="*50 + "\n")

    # Пример 2: квадратное уравнение
    task_quad = {'type': 'quadratic', 'a': 1, 'b': -3, 'c': 2}  # x^2 - 3x + 2 = 0
    print("Пример квадратного уравнения:")
    print(solve_problem(task_quad))
    print("\n" + "="*50 + "\n")

    # Пример 3: система из двух уравнений
    task_system = {
        'type': 'system',
        'eqs': [
            {'a': 1, 'b': 1, 'c': 3},   # x + y = 3
            {'a': 2, 'b': -1, 'c': 1}  # 2x - y = 1
        ]
    }
    print("Пример решения системы:")
    print(solve_problem(task_system))

Как это работает:

  • В коде предусмотрено три типа задач: linear, quadratic, system.
  • Для линейного уравнения ax + b = c разбор идёт по шагам: перенос и деление.
  • Для квадратного uравнения ax^2 + bx + c = 0 вычисляется дискриминант D, корни по формуле, учитывая случаи D < 0 и D = 0.
  • Для системы двух линейных уравнений по методам Крамера (детерминанты D, Dx, Dy) находится решение, при D ≠ 0. При D = 0 даётся комментарий о совместности/несовместности.

Как использовать под ваши задачи:

  • Дайте задачу в виде структурированного ввода (словарь/JSON) с полем type и соответствующими параметрами, например:
    • Линейное: {'type':'linear', 'a': <число>, 'b': <число>, 'c': <число>} representing ax + b = c
    • Квадратное: {'type':'quadratic', 'a': <число>, 'b': <число>, 'c': <число>} representing ax^2 + bx + c = 0
    • Система: {'type':'system', 'eqs':[{'a':a1,'b':b1,'c':c1},{'a':a2,'b':b2,'c':c2}]}

Если у вас есть конкретная задача, пришлите её текст или структурированную форму ввода (например, как в примерах выше), и я подставлю точные значения в программу и выведу полный пошаговый разбор.

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Напиши ответ программу для той задачи
Похоже, вы хотите получить программу, которая будет выдавать подробное пошаговое решение для заданной задачи. Ниже приведён готовый шаблон на Python, который может решать три распространённых типа задач средней школы: линейное уравнение, квадратное уравнение и систему из двух уравнений. Он формирует понятные шаги и объяснения. Код (Python): ```python import math from typing import Dict, Any def format_num(n): # Форматирование чисел: если целое — без десятых знаков if isinstance(n, (int,)): return str(n) if isinstance(n, float): if abs(n - round(n)) < 1e-9: return str(int(round(n))) else: return str(round(n, 6)).rstrip('0').rstrip('.') return str(n) def solve_linear(task: Dict[str, Any]) -> str: # task: {'type':'linear', 'a': <число>, 'b': <число>, 'c': <число>} a = task.get('a') b = task.get('b') c = task.get('c') steps = [] steps.append(f"Решение линейного уравнения: {a}x + {b} = {c}") if a == 0: if b == c: steps.append("Так как a = 0 и b = c, уравнение тождественно истинно. Бесконечно много решений.") return "\n".join(steps) else: steps.append("Так как a = 0, а b ≠ c, решения нет.") return "\n".join(steps) steps.append(f"Перепишем уравнение: {a}x = {c} − {b} = {format_num(c - b)}") x = (c - b) / a steps.append(f"Разделим обе части на {a}: x = ({c} − {b}) / {a} = {format_num(x)}") steps.append(f"Ответ: x = {format_num(x)}") return "\n".join(steps) def solve_quadratic(task: Dict[str, Any]) -> str: # task: {'type':'quadratic', 'a': <число>, 'b': <число>, 'c': <число>} a = task.get('a') b = task.get('b') c = task.get('c') steps = [] steps.append(f"Решение квадратного уравнения: {a}x^2 + {b}x + {c} = 0") if a == 0: # Сведение к линейному: bx + c = 0 steps.append("Обратите внимание: a = 0, уравнение линейное.") linear_task = {'type':'linear', 'a': b, 'b': c, 'c': 0} return steps + [""] + solve_linear(linear_task).split("\n") D = b*b - 4*a*c steps.append(f"Дискриминант: D = b^2 - 4ac = {b}^2 - 4*{a}*{c} = {D}") if D < 0: steps.append("D < 0, вещественных корней нет. Есть комплексные корни.") real = complex(-b, math.sqrt(-D)) / (2*a) real2 = complex(-b, -math.sqrt(-D)) / (2*a) steps.append(f"Корни: x1 = {real}, x2 = {real2}") return "\n".join(steps) sqrtD = math.sqrt(D) x1 = (-b - sqrtD) / (2*a) x2 = (-b + sqrtD) / (2*a) steps.append(f"x1 = (-b - sqrt(D)) / (2a) = ({-b} - {sqrtD}) / ({2*a}) = {format_num(x1)}") steps.append(f"x2 = (-b + sqrt(D)) / (2a) = ({-b} + {sqrtD}) / ({2*a}) = {format_num(x2)}") if abs(x1 - x2) < 1e-12: steps.append(f"Корень кратности 2: x = {format_num(x1)}") else: steps.append(f"Ответы: x1 = {format_num(x1)}, x2 = {format_num(x2)}") return "\n".join(steps) def solve_system(task: Dict[str, Any]) -> str: # task: {'type':'system', # 'eqs': [ # {'a':a1, 'b':b1, 'c':c1}, # {'a':a2, 'b':b2, 'c':c2} # ]} eqs = task.get('eqs', []) if len(eqs) != 2: return "Система должна содержать две линейные уравнения." a1, b1, c1 = eqs[0].get('a'), eqs[0].get('b'), eqs[0].get('c') a2, b2, c2 = eqs[1].get('a'), eqs[1].get('b'), eqs[1].get('c') steps = [] steps.append("Решение системы линейных уравнений:") steps.append(f"{a1}x + {b1}y = {c1}") steps.append(f"{a2}x + {b2}y = {c2}") D = a1*b2 - a2*b1 Dx = c1*b2 - c2*b1 Dy = a1*c2 - a2*c1 steps.append(f"Детерминант D = a1*b2 − a2*b1 = {D}") if D == 0: steps.append("D = 0. Система имеет бесконечно много решений или несовместна.") # Проверим совместность if a1*c2 == a2*c1 and b1*c2 == b2*c1 and (a1*b2 - a2*b1) == 0: steps.append("Система совместна*: существует бесконечно много решений, т.к. второй коэффициент пропорционален первому.") else: steps.append("Система несовместна.") return "\n".join(steps) steps.append(f"Dx = c1*b2 − c2*b1 = {Dx}") steps.append(f"Dy = a1*c2 − a2*c1 = {Dy}") x = Dx / D y = Dy / D steps.append(f"x = Dx / D = {Dx} / {D} = {format_num(x)}") steps.append(f"y = Dy / D = {Dy} / {D} = {format_num(y)}") steps.append(f"Ответ: x = {format_num(x)}, y = {format_num(y)}") return "\n".join(steps) def solve_problem(task: Dict[str, Any]) -> str: t = task.get('type') if t == 'linear': return solve_linear(task) if t == 'quadratic': return solve_quadratic(task) if t == 'system': return solve_system(task) return "Неизвестный тип задачи. Поддерживаются: linear, quadratic, system." # Пример использования: if __name__ == "__main__": # Пример 1: линейное уравнение task_linear = {'type': 'linear', 'a': 3, 'b': 5, 'c': 20} # 3x + 5 = 20 print("Пример линейного уравнения:") print(solve_problem(task_linear)) print("\n" + "="*50 + "\n") # Пример 2: квадратное уравнение task_quad = {'type': 'quadratic', 'a': 1, 'b': -3, 'c': 2} # x^2 - 3x + 2 = 0 print("Пример квадратного уравнения:") print(solve_problem(task_quad)) print("\n" + "="*50 + "\n") # Пример 3: система из двух уравнений task_system = { 'type': 'system', 'eqs': [ {'a': 1, 'b': 1, 'c': 3}, # x + y = 3 {'a': 2, 'b': -1, 'c': 1} # 2x - y = 1 ] } print("Пример решения системы:") print(solve_problem(task_system)) ``` Как это работает: - В коде предусмотрено три типа задач: linear, quadratic, system. - Для линейного уравнения ax + b = c разбор идёт по шагам: перенос и деление. - Для квадратного uравнения ax^2 + bx + c = 0 вычисляется дискриминант D, корни по формуле, учитывая случаи D < 0 и D = 0. - Для системы двух линейных уравнений по методам Крамера (детерминанты D, Dx, Dy) находится решение, при D ≠ 0. При D = 0 даётся комментарий о совместности/несовместности. Как использовать под ваши задачи: - Дайте задачу в виде структурированного ввода (словарь/JSON) с полем type и соответствующими параметрами, например: - Линейное: {'type':'linear', 'a': <число>, 'b': <число>, 'c': <число>} representing ax + b = c - Квадратное: {'type':'quadratic', 'a': <число>, 'b': <число>, 'c': <число>} representing ax^2 + bx + c = 0 - Система: {'type':'system', 'eqs':[{'a':a1,'b':b1,'c':c1},{'a':a2,'b':b2,'c':c2}]} Если у вас есть конкретная задача, пришлите её текст или структурированную форму ввода (например, как в примерах выше), и я подставлю точные значения в программу и выведу полный пошаговый разбор.