Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PI_lektsii_2016.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.12 Mб
Скачать

4.6.2 Константи

При написанні програм зручно, коли під рукою є інструмент, що забезпечує виклик часто використовуваних математичних констант. Таким інструментом в JavaScript є властивості об'єкта Math, які пов'язані з наступними константами:

  • Math. E – основа натурального логарифма, рівне 2.7183 (в записі і в наступних наведено округлені значення з точністю до чотирьох знаків після коми);

  • Math. LN2 – натуральний логарифм 2, рівний 0.6931;

  • Math.LNIO –натуральний логарифм 10, равный2.3026;

  • Math. LOG2E – логарифм е за основою 2 рівний 1.4427;

  • Math. LOG10E – логарифм по підставі 10, рівний 0.4343;

  • Math.PI –число л = 3.1416;

  • Math. SQRT1_2 – квадратний корінь з 1/2, рівний 0.7071;

  • Math. SQRT2 – квадратний корінь з 2, рівний 1.4142.

Щоб привласнити значення константи, потрібно просто звернутися до відповідної властивості, наприклад, х = Math.SQRT2 або а = Math.PI. Зверніть увагу, що імена констант записуються великими літерами. Якщо ви запишіть ім'я з використанням рядкових літер, наприклад, Math. Pi, то це буде вважатися помилкою. Для ілюстрації виклику констант запишемо функцію обчислення площі кола:

function circle(R)

{ S=R*R*Math.PI returnS; } Зауважимо, що для звернення до властивостей або методів Math не потрібно попередньо створювати об'єкт Math, як у випадку з об'єктом Date .

4.6.3 Математичні функції.

Перерахуємо основні методи об'єкта Math. В таблиці 4.7 дані формати виклику методів і операції, які можна виконати з їх допомогою. Табл. 4.7 - Таблиця методів об'єкта Math

Метод

Операція

Math.ceil(x)

Округлює х до найближчого найбільшого цілого числа

Math.floor(х)

Округлює х до найближчого меншого цілого числа

Math.round(x)

Округлює х до найближчого цілого

Math.random()

Генерація випадкових чисел у діапазоні від 0 до 1

Math.abs(x)

Повертає модуль х

Math.cos(x), Math.sin(x), Math.tan(x)

Повертають значення тригонометричних функцій

Math.acos(x), Math.asin(x), Math.atan(x)

Повертають значення обернених тригонометричних функцій

Math.exp(x),Math.log(x)

Повертають значення експоненти і натурального логарифма

Math.sqrt(x)

Повертає квадратний корінь з х

Math.min(x,y)

Повертає мінімальне з двох чисел х, у

Math.max(x/y)

Повертає максимальне з двох чисел х, у

Math.pow (x, y)

Повертає значення ступеня ху

Як бачимо з таблиці, методи об'єкта Math мають один або два аргументи. Значення, що повертається методом, як і значення функції, можна безпосередньо використовувати у виразах. Проілюструємо застосування методів деякими прикладами.

4.6.4 Приклад. Генератор випадкових чисел

Серед функцій об'єкта Math є генератор випадкових чисел: Math. Random. Цей генератор «викидає» рівномірно розподілені випадкові числа в діапазоні від 0 до 1.

М ноживши ці числа на який-небудь коефіцієнт, ними можна заповнити будь-який відрізок [а,b] на числовій прямій. Визначити якість генератора випадкових чисел найпростіше шляхом обчислення середнього арифметичного від деякої (досить великої) набору випадкових чисел. Чому дорівнює середнє від набору рівномірно розподілених випадкових чисел в інтервалі [0,1]? Очевидно, це значення повинне дорівнювати 1/2. Перевіримо це твердження за допомогою генератора випадкових чисел Math. random (). Складемо сценарій, який буде обчислювати середнє арифметичне для набору чисел {Xi}:

(4.1)

Скористаємося вже відомим нам оператором циклу for в якому число повторень циклу задається кількістю чисел в наборі (N):

<Html>

<Head>

</ Head>

<Body>

<SCRIPT LANGUAGE = "JavaScript">

document.write ("Обчислення середнього");

N = 1000;

// Завдання кількості випадкових чисел

av = 0;

for (i = 0; i <N; i ++)

{

     x = Math.random ();

    // Генерація випадкового числа

     av + = x / N;

// Обчислення середнього

}

document.write ("Середнє для набору випадкових чисел:", av)

</ SCRIPT>

</ Body>

</ Html>

Чим більше N, тим менше значення середнього буде відхилятися від 0.5. Можна призвести обчислення при різних значенияях N = 100, 1000, 10000 і так далі. Якщо потрібно генерація випадкових чисел в діапазоні [ 0,1 ], а в довільному інтервалі [ а, b], то можна можете задати наступну функцію:

function genrand(a,b)

{

return (a + (b-a)* Math.random());

}

Ця функція повертає випадкове число в інтервалі від а до b. Наприклад, щоб привласнити змінній х випадкове значення з інтервалу [2,10], потрібно в сценарій разом з визначенням функції записати інструкцію: x=genrand (2,10).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]