Новая Школа - онлайн-школа подготовки к ЕГЭ
Информатика · 7 класс Задача №3761078
А
Аноним
25 октября 2026 17:21 · публичный вопрос
А
Аноним

import math a = float(input("Биринчи тарабын киргизиңиз: ")) b = float(input("Экинчи тарабын киргизиңиз: ")) c = float(input("Үчүнчү тарабын киргизиңиз: ")) p = (a + b + c) / 2 s…

Запрос пользователя

Import math a = float(input("Биринчи тарабын киргизиңиз: ")) b = float(input("Экинчи тарабын киргизиңиз: ")) c = float(input("Үчүнчү тарабын киргизиңиз: ")) p = (a + b + c) / 2 s = math.sqrt(p * (p - a) * (p - b) * (p - c)) print(p)

Ответ нейросети
25 октября 2026 17:21

Краткий ответ: программа по трём сторонам считает полупериметр \(p\) и площадь \(s\) по формуле Герона, но в конце выводит только полупериметр:

print(p)

Поэтому на экране будет число \(p=\frac{a+b+c}{2}\), а не площадь. Конкретный ответ зависит от того, какие стороны ввели.

Например, для сторон \(6\), \(8\), \(10\):

\[ p=\frac{6+8+10}{2}=12 \]

\[ s=\sqrt{12(12-6)(12-8)(12-10)} =\sqrt{12\cdot6\cdot4\cdot2}=24 \]

Но программа выведет 12, потому что написано print(p).

Что делает каждая часть:

  • float(input(...)) — вводит число и превращает его в десятичную дробь;
  • p = (a + b + c) / 2 — полупериметр;
  • s = math.sqrt(...) — площадь по формуле Герона;
  • print(p) — печатает полупериметр.

Как исправить, если нужна площадь:

print(p)
print(s)

или только площадь:

print(s)

Если нужна подпись:

print("Полупериметр:", p)
print("Площадь:", s)

Важно: программа не проверяет, существует ли такой треугольник. Если, например, ввести \(1\), \(2\), \(10\), под корнем получится отрицательное число, и появится ошибка math domain error.