import Random　# 乱数を扱うためのモジュールをインポート
n = 100000  # 試行回数
triangleAreas = zeros(n)  # 三角形ABQの面積を格納する配列
Random.seed!(1)  # 乱数のシード値を固定
for i in 1:n
    omega = rand() * 4  # U(0,4)に従う乱数を1個生成
    if omega <= 1  # 点Qが辺AB上にあるとき
        triangleAreas[i] = 0.0
    elseif omega <= 2  # 点Qが辺BC上にあるとき
        triangleAreas[i] = (omega - 1) / 2
    elseif omega <= 3  # 点Qが辺CD上にあるとき
        triangleAreas[i] = 0.5
    elseif omega <= 4  # 点Qが辺DA上にあるとき
        triangleAreas[i] = (4 - omega) / 2
    end
end
# 三角形ABQの面積の期待値を表示
println(sum(triangleAreas) / n)  # モンテカルロ法
println(1/4)  # 参考：理論値