Цель: понять решение и привести готовую программу на BASIC.
Что известно:
- Пусть короткий катет равен x, а длинный — 2x.
- Площадь прямоугольного треугольника: S = (1/2) * x * (2x) = x^2.
- Следовательно, x = sqrt(S), а другие стороны: x и 2x.
- Гипотенуза: c = sqrt(x^2 + (2x)^2) = sqrt(5x^2) = sqrt(5S).
Пошаговое решение:
- Вводим S (площадь). Если S < 0 — вывести сообщение об ошибке.
- Вычисляем x = sqrt(S).
- Катеты: a = x, b = 2x.
- Гипотенуза: c = sqrt(a^2 + b^2) = sqrt(5S).
- Выводим результаты.
Программа на BASIC ( GW-BASIC / QuickBASIC стиль, с номерами строк ): 10 INPUT "Введите площадь S: ", S 20 IF S < 0 THEN PRINT "Ошибка: S не может быть меньше нуля": END 30 X = SQR(S) 40 A = X 50 B = 2 * X 60 C = SQR(AA + BB) 70 PRINT "Короткий катет =", A 80 PRINT "Длинный катет =", B 90 PRINT "Гипотенуза =", C 100 END
Пример работы:
- Ввод: S = 4
- x = sqrt(4) = 2
- катеты: 2 и 4
- гипотенуза: sqrt(2^2 + 4^2) = sqrt(20) ≈ 4.4721
Если нужна другая версия кода (например, без вывода по строкам, или на другой вариант BASIC), скажите — адаптирую.