Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   КАк Сделайте калькулятор, который будет находить площадь треугольника по трем сторона (https://javascript.ru/forum/misc/82764-kak-sdelajjte-kalkulyator-kotoryjj-budet-nakhodit-ploshhad-treugolnika-po-trem-storona.html)

javascript888 30.06.2021 17:05

КАк Сделайте калькулятор, который будет находить площадь треугольника по трем сторона
 
Сделайте калькулятор, который будет находить площадь треугольника по трем сторонам.
КАк Сделайте калькулятор, который будет находить площадь треугольника по трем сторонам.
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>focusout</title>
</head>
<body>
<p><input type="text" placeholder="Ширина треугольника" id="width"></p>
<p><input type="text" placeholder="Длина треугольника" id="length"></p>
<p><input type="text" placeholder="Высота треугольника" id="height"></p>

<hr>
<button id="go">Вычислить</button>
<p><input type="text" id="area" disabled>Площадь треугольника:</p>

<script>
    let width = document.querySelector("#width");
    let length = document.querySelector("#length");
    let height = document.querySelector("#height");
    let area = document.querySelector("#area");


    go.addEventListener('click', function() {
        let halfPerimetr = (+width.value + +length.value + +height.value) / 2;
        area.value = Math.sqrt(halfPerimetr * (halfPerimetr - width.value) * (halfPerimetr - length.value) * (halfPerimetr - height.value));

    })


</script>

</body>
</html>

javascript888 30.06.2021 17:42

не работет

Alexandroppolus 30.06.2021 21:40

Цитата:

Ширина треугольника
Длина треугольника
Высота треугольника
:lol: :lol:

javascript888 01.07.2021 08:12

а все работает. Писало нан

ksa 01.07.2021 13:02

Цитата:

Сообщение от javascript888
Ширина треугольника
Длина треугольника

- Как найти площадь Ленина?
- Нужно высоту Ленина умножить на ширину Ленина.

Irek 21.10.2022 10:47

Цитата:

Сообщение от Rise (Сообщение 538327)
javascript888, всё работает, ты что дурной?

смотря какие данные ввести. Если вводим 3, 4, 5, то да, все работает,
А если допустим вводим 7, 3, 3 - то уже NaN.
Так что код надо доработать.

ksa 21.10.2022 11:40

Цитата:

Сообщение от javascript888
находить площадь треугольника по трем сторонам

Цитата:

Сообщение от Irek
А если допустим вводим 7, 3, 3

Это уже не треугольник. :nono:

рони 21.10.2022 11:57

:) :write:
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>focusout</title>
</head>
<body>
    <p><input type="text" placeholder="Ширина треугольника" id="width"></p>
    <p><input type="text" placeholder="Длина треугольника" id="length"></p>
    <p><input type="text" placeholder="Высота треугольника" id="height"></p>
    <hr>
    <button id="go">Вычислить</button><br>
    <label>Площадь треугольника:<input type="text" id="area" disabled></label>
    <script>
        let width = document.querySelector("#width");
        let length = document.querySelector("#length");
        let height = document.querySelector("#height");
        let area = document.querySelector("#area");
        go.addEventListener('click', function() {
            let impossible = [+width.value, +length.value, +height.value];
            let max = Math.max(...impossible);
            impossible = impossible.reduce((a, b) => a + b) - 2 * max;
            if (impossible < 0) {
                alert("такого треугольника не существует");
                return;
            };
            if (!impossible) {
            alert("это скорее отрезок или вырожденный треугольник");
            area.value = 0;
            return;
            }
            let halfPerimetr = (+width.value + +length.value + +height.value) / 2;
            area.value = Math.sqrt(halfPerimetr * (halfPerimetr - width.value) * (halfPerimetr - length.value) * (halfPerimetr - height.value));
        })
    </script>
</body>
</html>


Часовой пояс GMT +3, время: 13:30.