Введение
В этом лабе участники углубятся в объект Math JavaScript, исследуя его мощные методы и свойства с помощью практической демонстрации на основе HTML. Лаба guides студентов по созданию интерактивной веб-страницы, которая демонстрирует различные математические операции, включая доступ к встроенным свойствам, таким как Math.PI и Math.E, реализация методов вычислений, генерация случайных чисел и применение техник объекта Math в практических сценариях.
Следуя пошаговому подходу, студенты создадут HTML-файл с встроенным JavaScript, который позволит им экспериментировать с функциональностью объекта Math. Они научатся использовать методы, такие как Math.random(), Math.floor() и другие математические утилиты, получая практический опыт в использовании встроенных математических возможностей JavaScript для решения вычислительных задач и выполнения числовых манипуляций.
Настройте HTML-файл для демонстрации объекта Math
В этом шаге вы создадите HTML-файл для демонстрации методов объекта Math JavaScript. Мы настроим базовую структуру HTML с секцией сценария, которая позволит нам исследовать и экспериментировать с функциональностью объекта Math.
Откройте WebIDE и перейдите в каталог ~/project. Создайте новый файл с именем math-demo.html с следующим содержимым:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JavaScript Math Object Demonstration</title>
</head>
<body>
<h1>Math Object Exploration</h1>
<div id="output"></div>
<script>
// Мы добавим наши демонстрации объекта Math здесь в следующих шагах
const outputDiv = document.getElementById("output");
function displayOutput(message) {
outputDiv.innerHTML += `<p>${message}</p>`;
}
</script>
</body>
</html>
Разберём основные компоненты этого HTML-файла:
- Мы создали базовую структуру документа HTML5.
- Добавили
<div>сid="output"для отображения результатов нашего JavaScript. - Включили секцию
<script>, где мы напишем наши демонстрации объекта Math. - Создали вспомогательную функцию
displayOutput(), чтобы легко показать результаты на странице.
Пример вывода при открытии этого файла в браузере:
Math Object Exploration
Функция displayOutput() поможет нам легко показать результаты методов объекта Math в следующих шагах. Эта настройка обеспечивает чистый, интерактивный способ изучения возможностей объекта Math JavaScript.
Используйте свойства объекта Math
В этом шаге вы изучите встроенные свойства объекта Math JavaScript. Откройте файл math-demo.html из предыдущего шага и измените секцию сценария, чтобы продемонстрировать эти свойства.
Добавьте следующий код в существующую секцию <script>:
// Exploring Math Object Properties
displayOutput(`Math.PI: ${Math.PI}`);
displayOutput(`Math.E: ${Math.E}`);
displayOutput(`Euler's number (e): ${Math.E}`);
displayOutput(`Pi value: ${Math.PI}`);
// Demonstrating the use of these properties in a simple calculation
let circleRadius = 5;
let circleCircumference = 2 * Math.PI * circleRadius;
displayOutput(
`Circle Circumference (radius ${circleRadius}): ${circleCircumference.toFixed(
2
)}`
);
Объект Math в JavaScript предоставляет несколько важных математических констант:
Math.PI: Представляет математическую константу π (пи), приблизительно 3.14159Math.E: Представляет число Эйлера (е), приблизительно 2.71828
При открытии HTML-файла в браузере вы увидите вывод, похожий на этот:
Math.PI: 3.141592653589793
Math.E: 2.718281828459045
Euler's number (e): 2.718281828459045
Pi value: 3.141592653589793
Circle Circumference (radius 5): 31.42
Эти свойства полезны для математических вычислений, особенно тех, которые включают круги, экспоненциальные функции и другие математические вычисления.
Реализуйте методы объекта Math для вычислений
В этом шаге вы изучите различные методы объекта Math для выполнения математических вычислений. Откройте файл math-demo.html и добавьте следующий код, чтобы продемонстрировать разные методы Math:
// Math Calculation Methods Demonstration
let number = -7.5;
let positiveNumber = Math.abs(number);
displayOutput(`Absolute Value of ${number}: ${positiveNumber}`);
let decimalNumber = 4.7;
let roundedDown = Math.floor(decimalNumber);
let roundedUp = Math.ceil(decimalNumber);
let rounded = Math.round(decimalNumber);
displayOutput(`Floor of ${decimalNumber}: ${roundedDown}`);
displayOutput(`Ceiling of ${decimalNumber}: ${roundedUp}`);
displayOutput(`Rounded of ${decimalNumber}: ${rounded}`);
let baseNumber = 2;
let exponent = 3;
let powerResult = Math.pow(baseNumber, exponent);
displayOutput(
`${baseNumber} raised to the power of ${exponent}: ${powerResult}`
);
let largestNumber = Math.max(10, 5, 8, 12, 3);
let smallestNumber = Math.min(10, 5, 8, 12, 3);
displayOutput(`Largest number: ${largestNumber}`);
displayOutput(`Smallest number: ${smallestNumber}`);
let squareRoot = Math.sqrt(16);
displayOutput(`Square root of 16: ${squareRoot}`);
Этот код демонстрирует несколько ключевых методов объекта Math:
Math.abs(): Возвращает абсолютное значение числаMath.floor(): Округляет вниз до ближайшего целого числаMath.ceil(): Округляет вверх до ближайшего целого числаMath.round(): Округляет до ближайшего целого числаMath.pow(): Возводит число в заданную степеньMath.max(): Возвращает наибольшее число в спискеMath.min(): Возвращает наименьшее число в спискеMath.sqrt(): Вычисляет квадратный корень числа
Пример вывода:
Absolute Value of -7.5: 7.5
Floor of 4.7: 4
Ceiling of 4.7: 5
Rounded of 4.7: 5
2 raised to the power of 3: 8
Largest number: 12
Smallest number: 3
Square root of 16: 4
Генерируйте случайные числа с использованием Math.random()
В этом шаге вы изучите, как генерировать случайные числа с использованием Math.random() и создадите более продвинутые методы генерации случайных чисел. Откройте файл math-demo.html и добавьте следующий код, чтобы продемонстрировать генерацию случайных чисел:
// Random Number Generation Demonstration
// Basic random number (between 0 and 1)
let basicRandom = Math.random();
displayOutput(`Basic Random Number: ${basicRandom}`);
// Generate random number in a specific range
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// Random integer between 1 and 10
let randomInt = getRandomNumber(1, 10);
displayOutput(`Random Integer (1-10): ${randomInt}`);
// Generate multiple random numbers
displayOutput("Five Random Numbers (1-100):");
for (let i = 0; i < 5; i++) {
let randomNumber = getRandomNumber(1, 100);
displayOutput(randomNumber);
}
// Simulating a coin flip
function coinFlip() {
return Math.random() < 0.5 ? "Heads" : "Tails";
}
displayOutput(`Coin Flip Result: ${coinFlip()}`);
// Random color generator
function getRandomColor() {
let r = getRandomNumber(0, 255);
let g = getRandomNumber(0, 255);
let b = getRandomNumber(0, 255);
return `rgb(${r}, ${g}, ${b})`;
}
displayOutput(`Random Color: ${getRandomColor()}`);
Пример вывода может выглядеть так:
Basic Random Number: 0.7234567890123456
Random Integer (1-10): 7
Five Random Numbers (1-100):
42
15
83
61
29
Coin Flip Result: Heads
Random Color: rgb(134, 45, 211)
Основные моменты о Math.random():
- Возвращает псевдослучайное число в диапазоне от 0 (включительно) до 1 (исключительно)
- Может быть масштабировано и манипулировано для генерации чисел в заданных диапазонах
- Полезен для игр, симуляций и случайных выборов
Применяйте методы объекта Math в практических сценариях
В этом шаге вы изучите практические применения методов объекта Math в реальных ситуациях. Откройте файл math-demo.html и добавьте следующий код, чтобы продемонстрировать практические применения:
// Practical Scenarios with Math Object Methods
// 1. Calculate Discount Price
function calculateDiscount(originalPrice, discountPercentage) {
let discountAmount = originalPrice * (discountPercentage / 100);
let finalPrice = originalPrice - discountAmount;
displayOutput(`Original Price: $${originalPrice.toFixed(2)}`);
displayOutput(
`Discount (${discountPercentage}%): $${discountAmount.toFixed(2)}`
);
displayOutput(`Final Price: $${finalPrice.toFixed(2)}`);
return finalPrice;
}
calculateDiscount(100, 20);
// 2. Circle Area Calculator
function calculateCircleArea(radius) {
let area = Math.PI * Math.pow(radius, 2);
displayOutput(`Circle Radius: ${radius}`);
displayOutput(`Circle Area: ${area.toFixed(2)} sq units`);
return area;
}
calculateCircleArea(5);
// 3. Temperature Converter (Celsius to Fahrenheit)
function celsiusToFahrenheit(celsius) {
let fahrenheit = Math.round((celsius * 9) / 5 + 32);
displayOutput(`${celsius}°C is ${fahrenheit}°F`);
return fahrenheit;
}
celsiusToFahrenheit(25);
// 4. Hypotenuse Calculator
function calculateHypotenuse(a, b) {
let hypotenuse = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
displayOutput(`Triangle Sides: ${a}, ${b}`);
displayOutput(`Hypotenuse Length: ${hypotenuse.toFixed(2)}`);
return hypotenuse;
}
calculateHypotenuse(3, 4);
// 5. Random Score Generator for a Quiz
function generateQuizScores(numberOfStudents) {
displayOutput(`Quiz Scores for ${numberOfStudents} students:`);
for (let i = 1; i <= numberOfStudents; i++) {
let score = Math.floor(Math.random() * 51) + 50; // Scores between 50-100
displayOutput(`Student ${i}: ${score}`);
}
}
generateQuizScores(5);
Пример вывода может выглядеть так:
Original Price: $100.00
Discount (20%): $20.00
Final Price: $80.00
Circle Radius: 5
Circle Area: 78.54 sq units
25°C is 77°F
Triangle Sides: 3, 4
Hypotenuse Length: 5.00
Quiz Scores for 5 students:
Student 1: 75
Student 2: 92
Student 3: 63
Student 4: 87
Student 5: 69
Это демонстрация показывает, как методы объекта Math могут быть применены в различных практических сценариях:
- Вычисление скидок
- Вычисление геометрических площадей
- Конвертация температур
- Нахождение длины гипотенузы
- Генерация случайных оценок
Резюме
В этом лабе участники исследуют возможности объекта Math JavaScript с помощью практической HTML-демонстрации. Лаб начинается с настройки интерактивного HTML-файла с специальным div для вывода и вспомогательной функцией для отображения результатов, создавая структурированную среду для изучения математических операций и методов.
Путь обучения включает в себя ключевые аспекты объекта Math, в том числе изучение встроенных свойств, таких как Math.PI и Math.E, реализация методов вычислений, таких как округление, нахождение максимальных и минимальных значений и генерация случайных чисел. Постепенным добавлением кода в секцию сценария HTML, учащиеся получают практический опыт работы с математическими утилитами JavaScript, понимая, как использовать эти методы для различных вычислительных задач и реальных сценариев программирования.



