Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ cho hệ số biến thiên (Coefficient of variation)


Cho mảng các giá trị float kích thước n, nhiệm vụ là tìm hệ số biến thiên và hiển thị kết quả.

Hệ số biến thiên (Coefficient of variation) là gì?

Trong thước đo thống kê, hệ số biến thiên dùng để tìm phạm vi biến thiên qua dữ liệu cho trước. Về tài chính, hệ số biến thiên dùng để tìm mức độ rủi ro liên quan đến số tiền đầu tư. Nếu tỷ lệ giữa độ lệch chuẩn và trung bình thấp thì rủi ro đầu tư cũng thấp. Hệ số biến thiên là tỷ lệ giữa độ lệch chuẩn và trung bình, được cho bởi –

Hệ số biến thiên = Độ lệch chuẩn / Trung bình

Ví dụ

Đầu vào: array[] = {10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0}
Đầu ra: hệ số biến thiên là: 0.75772

Đầu vào: array[] = {15.0, 36.0, 53.67, 25.45, 67.8, 56, 78.09}
Đầu ra: hệ số biến thiên là: 0.48177

Cách tiếp cận dùng trong chương trình cho trước –

  • Nhập mảng chứa giá trị float
  • Tính giá trị trung bình và độ lệch chuẩn trên mảng cho trước
  • Tính giá trị hệ số biến thiên bằng cách chia độ lệch chuẩn cho trung bình
  • Hiển thị kết quả là hệ số biến thiên

Thuật toán

Bắt đầu
Bước 1 -> Khai báo hàm tính giá trị trung bình
    float cal_mean(float arr[], int size)
    Khai báo float sum = 0
    Vòng lặp Với i = 0 đến i < size và i++
        Gán sum = sum + arr[i]
    Kết thúc
    trả về sum / size

Bước 2 -> Khai báo hàm tính độ lệch chuẩn
    float StandardDeviation(float arr[], int size)
    Khai báo float sum = 0
    Vòng lặp Với i = 0 đến i < size và i++
        Gán sum = sum + (arr[i] - cal_mean(arr, size)) * (arr[i] - cal_mean(arr, size))
    Kết thúc
    Gọi cal_mean(arr, size)
    trả về sqrt(sum / (size - 1))

Bước 3 -> Khai báo hàm tính hệ số biến thiên
    float CoefficientOfVariation(float arr[], int size)
    trả về StandardDeviation(arr, size) / cal_mean(arr, size)

Bước 4 -> Trong main()
    Khai báo mảng float arr[] = {10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0}
    Tính kích thước mảng int size = sizeof(arr) / sizeof(arr[0])
    Gọi hàm CoefficientOfVariation(arr, size)
Kết thúc

Ví dụ mã C++

#include <bits/stdc++.h>
using namespace std;

// Hàm tính trung bình
float cal_mean(float arr[], int size) {
    float sum = 0;
    for (int i = 0; i < size; i++)
        sum = sum + arr[i];
    return sum / size;
}

// Hàm tính độ lệch chuẩn
float StandardDeviation(float arr[], int size) {
    float sum = 0;
    for (int i = 0; i < size; i++)
        sum = sum + (arr[i] - cal_mean(arr, size)) * (arr[i] - cal_mean(arr, size));
    return sqrt(sum / (size - 1));
}

// Hàm tính hệ số biến thiên
float CoefficientOfVariation(float arr[], int size) {
    return StandardDeviation(arr, size) / cal_mean(arr, size);
}

int main() {
    float arr[] = {10.0, 21, 23, 90.0, 10.5, 32.56, 24, 45, 70.0};
    int size = sizeof(arr) / sizeof(arr[0]);
    cout << "hệ số biến thiên là: " << CoefficientOfVariation(arr, size);
    return 0;
}

Đầu ra

hệ số biến thiên là: 0.75772