🚀 主要機能: • Everything is Box哲学による革新的アーキテクチャ • WebAssemblyブラウザー対応プレイグラウンド • アーティスト協同制作デモ - 複数Boxインスタンス実証 • 視覚的デバッグシステム - DebugBox完全統合 • static box Mainパターン - メモリ安全設計 ⚡ 言語機能: • NOT/AND/OR/除算演算子完全実装 • ジェネリクス/テンプレートシステム • 非同期処理(nowait/await) • try/catchエラーハンドリング • Canvas統合グラフィックス 🎨 ブラウザー体験: • 9種類のインタラクティブデモ • リアルタイムコード実行 • WebCanvas/WebConsole/WebDisplay • モバイル対応完了 🤖 Built with Claude Code collaboration Ready for public release!
130 lines
3.0 KiB
Plaintext
130 lines
3.0 KiB
Plaintext
// 📊 統計計算アプリ(シンプル版) - MathBox新機能を活用!
|
||
|
||
print("📊 === Statistics Calculator (Simple) ===")
|
||
print("MathBox拡張機能を活用した統計計算デモ\n")
|
||
|
||
// MathBoxインスタンス作成
|
||
math = new MathBox()
|
||
|
||
// 統計データ配列
|
||
data = new ArrayBox()
|
||
|
||
// テストデータ追加
|
||
print("📝 Adding test data...")
|
||
data.push(85)
|
||
data.push(92)
|
||
data.push(78)
|
||
data.push(95)
|
||
data.push(88)
|
||
data.push(73)
|
||
data.push(90)
|
||
data.push(82)
|
||
|
||
// データ表示
|
||
print("\n📈 Data points (" + data.length() + " items):")
|
||
i = 0
|
||
loop(i < data.length()) {
|
||
print(" [" + i + "] = " + data.get(i))
|
||
i = i + 1
|
||
}
|
||
|
||
// 平均値計算
|
||
print("\n🧮 Calculating statistics...")
|
||
sum = 0
|
||
i = 0
|
||
loop(i < data.length()) {
|
||
sum = sum + data.get(i)
|
||
i = i + 1
|
||
}
|
||
// 除算の代わりにpow(-1)を使用
|
||
count = data.length()
|
||
mean = sum * math.pow(count, -1)
|
||
print("Mean: " + mean)
|
||
|
||
// 最大値・最小値
|
||
maxVal = data.get(0)
|
||
minVal = data.get(0)
|
||
i = 1
|
||
loop(i < data.length()) {
|
||
maxVal = math.max(maxVal, data.get(i))
|
||
minVal = math.min(minVal, data.get(i))
|
||
i = i + 1
|
||
}
|
||
print("Max: " + maxVal)
|
||
print("Min: " + minVal)
|
||
print("Range: " + (maxVal - minVal))
|
||
|
||
// 分散計算
|
||
sumSquaredDiff = 0
|
||
i = 0
|
||
loop(i < data.length()) {
|
||
diff = data.get(i) - mean
|
||
sumSquaredDiff = sumSquaredDiff + (diff * diff)
|
||
i = i + 1
|
||
}
|
||
variance = sumSquaredDiff * math.pow(count, -1)
|
||
print("Variance: " + variance)
|
||
|
||
// 標準偏差
|
||
stdDev = math.sqrt(variance)
|
||
print("Standard Deviation: " + stdDev)
|
||
|
||
// 新機能:三角関数を使った周期データ
|
||
print("\n\n🌊 === Sine Wave Data ===")
|
||
waveData = new ArrayBox()
|
||
pi = math.getPi()
|
||
|
||
print("Generating sine wave data...")
|
||
i = 0
|
||
loop(i < 12) {
|
||
angle = i * pi * 0.1667 // π/6 ごと(30度刻み)
|
||
value = math.sin(angle) * 10 + 50
|
||
rounded = math.round(value)
|
||
waveData.push(rounded)
|
||
print(" angle=" + math.round(angle * 100) * 0.01 + " rad, sin=" + rounded)
|
||
i = i + 1
|
||
}
|
||
|
||
// 対数・指数関数のデモ
|
||
print("\n\n📈 === Exponential Growth ===")
|
||
growthData = new ArrayBox()
|
||
|
||
i = 0
|
||
loop(i < 8) {
|
||
value = math.exp(i * 0.3) * 10
|
||
rounded = math.round(value)
|
||
growthData.push(rounded)
|
||
print(" exp(" + (i * 0.3) + ") * 10 = " + rounded)
|
||
i = i + 1
|
||
}
|
||
|
||
// 切り捨て・切り上げのデモ
|
||
print("\n\n🔢 === Rounding Functions ===")
|
||
testVals = new ArrayBox()
|
||
testVals.push(3.14)
|
||
testVals.push(2.718)
|
||
testVals.push(-1.5)
|
||
testVals.push(9.99)
|
||
|
||
i = 0
|
||
loop(i < testVals.length()) {
|
||
val = testVals.get(i)
|
||
print("\nValue: " + val)
|
||
print(" floor: " + math.floor(val))
|
||
print(" ceil: " + math.ceil(val))
|
||
print(" round: " + math.round(val))
|
||
i = i + 1
|
||
}
|
||
|
||
// 数学定数の表示
|
||
print("\n\n🌟 === Mathematical Constants ===")
|
||
print("π (pi) = " + math.getPi())
|
||
print("e (euler) = " + math.getE())
|
||
|
||
// 累乗計算
|
||
print("\n\n⚡ === Power Calculations ===")
|
||
print("2^10 = " + math.pow(2, 10))
|
||
print("10^-1 = " + math.pow(10, -1) + " (1/10)")
|
||
print("√144 = " + math.sqrt(144))
|
||
|
||
print("\n✅ Statistics Calculator completed!") |