Вопрос от Анонимного юзера 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}]}
Если у вас есть конкретная задача, пришлите её текст или структурированную форму ввода (например, как в примерах выше), и я подставлю точные значения в программу и выведу полный пошаговый разбор.
Понравился ответ?
Задай свой вопрос
Напиши любую задачу или вопрос, а нейросеть её решит



