<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Создание web-приложения для расчета точки безубыточности с помощью JavaScript

Создание web-приложения для расчета точки безубыточности с помощью JavaScript

Здравствуйте! В сегодняшней статье мы рассмотрим создание простого web-приложения на JavaScript для расчета точки безубыточности с использованием библиотеки Chart.js. Это приложение будет принимать данные от пользователя (постоянные издержки, переменные издержки на единицу продукции и цену за единицу продукции) и автоматически рассчитывать точку безубыточности. Кроме того, оно визуализирует этот расчет в виде графика.

Как работает приложение?

Наше приложение состоит из одной HTML-страницы, которая включает форму для ввода данных и область для отображения графика. Сама логика расчета реализована на JavaScript, и для построения графика используется Chart.js. Основные шаги работы приложения:

  1. Пользователь вводит данные: постоянные издержки, переменные издержки на единицу и цену за единицу продукции.
  2. Приложение проверяет корректность данных: цена за единицу должна быть больше переменных издержек.
  3. После проверки приложение рассчитывает точку безубыточности по формуле:

  4. Точка безубыточности = Постоянные издержки/(Цена за единицу - Переменные издержки на единиц)

  5. Рассчитанное значение выводится на экран, и на основе введенных данных строится график, где отображаются издержки и выручка. График показывает, при каком объеме производства выручка начинает превышать издержки (точка безубыточности).

HTML-страница

Приложение представлено в одном файле HTML, который включает как структуру страницы, так и логику на JavaScript. Подключение Chart.js происходит через CDN, что делает проект легко настраиваемым.

Пример HTML-кода:

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Точка безубыточности</title>
    <!-- Подключаем библиотеку Chart.js -->
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
        }
        h1, h2 {
            text-align: center;
        }
        form {
            text-align: center;
            margin-top: 20px;
        }
        canvas {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    <h1>Рассчитать точку безубыточности</h1>
    <form id="breakEvenForm">
        <label for="fixedCosts">Постоянные издержки:</label>
        <input type="number" id="fixedCosts" required><br><br>

        <label for="variableCosts">Переменные издержки (на единицу):</label>
        <input type="number" id="variableCosts" required><br><br>

        <label for="pricePerUnit">Цена за единицу продукции:</label>
        <input type="number" id="pricePerUnit" required><br><br>

        <button type="submit">Рассчитать</button>
    </form>

    <h2 id="result"></h2>
    <canvas id="breakEvenChart" width="400" height="200"></canvas>

    <script>
    document.getElementById('breakEvenForm').addEventListener('submit', function(e) {
        e.preventDefault(); // Предотвращаем перезагрузку страницы

        // Получаем значения с формы
        const fixedCosts = parseFloat(document.getElementById('fixedCosts').value);
        const variableCosts = parseFloat(document.getElementById('variableCosts').value);
        const pricePerUnit = parseFloat(document.getElementById('pricePerUnit').value);

        // Проверка значений
        if (pricePerUnit <= variableCosts) {
            document.getElementById('result').innerText = "Ошибка: цена за единицу должна быть больше переменных издержек.";
            return;
        }

        // Рассчитываем точку безубыточности
        const breakEvenPoint = fixedCosts / (pricePerUnit - variableCosts);
        document.getElementById('result').innerText = `Точка безубыточности: ${breakEvenPoint.toFixed(2)} единиц продукции`;

        // Данные для построения графика
        const units = [];
        const totalCosts = [];
        const revenues = [];

        for (let i = 0; i <= Math.ceil(breakEvenPoint) * 2; i++) {
            units.push(i);
            totalCosts.push(fixedCosts + variableCosts * i);
            revenues.push(pricePerUnit * i);
        }

        // Удаляем предыдущий график, если он был
        const oldCanvas = document.getElementById('breakEvenChart');
        oldCanvas.remove();

        // Создаем новый canvas для графика
        const newCanvas = document.createElement('canvas');
        newCanvas.id = 'breakEvenChart';
        newCanvas.width = 400;
        newCanvas.height = 200;
        document.body.appendChild(newCanvas);

        // Получаем контекст нового canvas
        const ctx = newCanvas.getContext('2d');

        // Строим график
        new Chart(ctx, {
            type: 'line',
            data: {
                labels: units,
                datasets: [
                    {
                        label: 'Издержки',
                        data: totalCosts,
                        borderColor: 'red',
                        fill: false,
                        tension: 0.1
                    },
                    {
                        label: 'Выручка',
                        data: revenues,
                        borderColor: 'green',
                        fill: false,
                        tension: 0.1
                    }
                ]
            },
            options: {
                scales: {
                    x: {
                        title: {
                            display: true,
                            text: 'Количество единиц продукции'
                        }
                    },
                    y: {
                        title: {
                            display: true,
                            text: 'Сумма'
                        }
                    }
                }
            }
        });
    });
    </script>
</body>
</html>

Вывод

Таким образом, мы создали простое и наглядное web-приложение для расчета точки безубыточности с графиком. Оно позволяет легко вводить экономические показатели, рассчитывать ключевые значения и мгновенно видеть результаты на графике. Это приложение отлично подходит для быстрого анализа данных и демонстрации расчета безубыточности. Если вы хотите глубже погрузиться в программирование на JavaScript, рекомендую курс "Программирование на JavaScript с Нуля до Гуру 2.0", который поможет вам стать настоящим экспертом.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (2):

Silver78 Silver78 23.10.2024 13:53:45

а можно как-то для визуализации хотя бы скрины того, что должно получиться на веб-странице ???.. или как раньше ссылку на jsfiddle ... ибо понять о чем речь просто глядя на строки кода не очень получается

Ответить

Castels Castels 23.10.2024 15:11:18

Да, конечно. Вот ссылка на пример сайта https://resplendent-semolina-ae28e2.netlify.app/. И ссылка на результат https://prnt.sc/Ri1l8Y1tHYxY.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.