Расчет средней квадратической взвешенной: блок-схема и программа

Photo

Задание 13

Необходимо составить блок-схему алгоритма и программу для расчета средней квадратической взвешенной по формуле:

$x = \sqrt{\frac{\sum x^2 f}{\sum f}}$

где:
- $x$ - варианты;
- $f$ - частоты.

Блок-схема алгоритма:

  1. Начало
  2. Ввод данных: Ввод вариантов ($x_i$) и соответствующих частот ($f_i$).
  3. Инициализация: $\text{sum_x2f} = 0$, $\text{sum_f} = 0$.
  4. Цикл по всем вариантам:
    • Для каждого $i$ от 1 до $n$:
      • Вычислить $x_i^2 * f_i$.
      • $\text{sum_x2f} = \text{sum_x2f} + x_i^2 * f_i$.
      • $\text{sum_f} = \text{sum_f} + f_i$.
  5. Вычисление средней квадратической взвешенной:
    • Если $\text{sum_f} > 0$, то $x = \sqrt{\frac{\text{sum_x2f}}{\text{sum_f}}}$.
    • Иначе, вывести сообщение об ошибке (деление на ноль).
  6. Вывод результата: Вывести значение $x$.
  7. Конец

Пример программы на Python:

import math

def weighted_quadratic_mean(data):
    sum_x2f = 0
    sum_f = 0

    for x, f in data.items():
        sum_x2f += (x**2) * f
        sum_f += f

    if sum_f > 0:
        return math.sqrt(sum_x2f / sum_f)
    else:
        return "Error: Division by zero"

# Пример использования
data = {  # варианты: частоты
    10: 5,
    15: 8,
    20: 3
}

result = weighted_quadratic_mean(data)
print("Средняя квадратическая взвешенная:", result)
thinking img
progress gif

Текст скопирован
Готово
Ошибка
×