Math オブジェクトのメソッドを実際のシナリオに適用する
このステップでは、Math オブジェクトのメソッドが現実世界のシナリオでどのように実際に使われるかを探索します。math-demo.htmlファイルを開き、実際の使い方をデモするために次のコードを追加します。
// Math オブジェクトのメソッドを使った実際のシナリオ
// 1. 割引価格を計算する
function calculateDiscount(originalPrice, discountPercentage) {
let discountAmount = originalPrice * (discountPercentage / 100);
let finalPrice = originalPrice - discountAmount;
displayOutput(`元の価格:$${originalPrice.toFixed(2)}`);
displayOutput(`割引 (${discountPercentage}%): $${discountAmount.toFixed(2)}`);
displayOutput(`最終価格:$${finalPrice.toFixed(2)}`);
return finalPrice;
}
calculateDiscount(100, 20);
// 2. 円の面積を計算する
function calculateCircleArea(radius) {
let area = Math.PI * Math.pow(radius, 2);
displayOutput(`円の半径:${radius}`);
displayOutput(`円の面積:${area.toFixed(2)} 平方単位`);
return area;
}
calculateCircleArea(5);
// 3. 温度変換 (摂氏から華氏)
function celsiusToFahrenheit(celsius) {
let fahrenheit = Math.round((celsius * 9) / 5 + 32);
displayOutput(`${celsius}°C は${fahrenheit}°F`);
return fahrenheit;
}
celsiusToFahrenheit(25);
// 4. 斜辺を計算する
function calculateHypotenuse(a, b) {
let hypotenuse = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
displayOutput(`三角形の辺:${a}, ${b}`);
displayOutput(`斜辺の長さ:${hypotenuse.toFixed(2)}`);
return hypotenuse;
}
calculateHypotenuse(3, 4);
// 5. 小テストのためのランダムな点数を生成する
function generateQuizScores(numberOfStudents) {
displayOutput(`${numberOfStudents}人の学生の小テストの点数:`);
for (let i = 1; i <= numberOfStudents; i++) {
let score = Math.floor(Math.random() * 51) + 50; // 50-100 の間の点数
displayOutput(`学生${i}: ${score}`);
}
}
generateQuizScores(5);
例の出力は次のようになるかもしれません。
元の価格: $100.00
割引 (20%): $20.00
最終価格: $80.00
円の半径: 5
円の面積: 78.54 平方単位
25°Cは77°F
三角形の辺: 3, 4
斜辺の長さ: 5.00
5人の学生の小テストの点数:
学生1: 75
学生2: 92
学生3: 63
学生4: 87
学生5: 69
このデモは、Math オブジェクトのメソッドがさまざまな実際のシナリオでどのように適用できるかを示しています。
- 割引を計算する
- 幾何学的な面積を計算する
- 温度を変換する
- 斜辺の長さを求める
- ランダムな点数を生成する