Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Робота умовного оператора if з числовими величинами



Приклад 5.8:

Необхідно визначити максимальне з двох чисел. Вирішимо задачу двома способами.

1 спосіб: значення чисел задано: х=5 і у=11

<script language="JavaScript">

var х=5

var у=11

if (х>у) alert('х - максимальне число')

else

alert('у - максимальне число')

</script>

в результаті виконання програми видається повідомлення:

2 спосіб: значення х і у задаються методом prompt()

<script language="JavaScript">

var х

var у

х=prompt('Введите х=','')

у=prompt('Введите у=','')

if (х>у) alert('х - максимальне число')

else

alert('у - максимальне число')

</script>

введемо х=5

введемо у=11

результат порівняння чисел х і у:

Виходить, що при порівнянні одних і тих же чисел, 5 і 11, результат порівняння цілком різний (можна навіть сказати протилежний). При рішенні задачі першим способом видається вірний результат (дійсно число 11 більш ніж число 5). Другий же спосіб породжує помилку. Чому?

Метод prompt() працює з рядковими величинами. Тому введені значення сприймаються як текст. Дійсно рядок '5' більш ніж рядок '11'.

Пригадаємо, як йде порівняння з рядковими величинами: спочатку порівнюються коди перших символов, та стоку більше код символа якої більше. Так в нашому прикладі код символа '5' більш ніж код символа '1'. На цьому порівняння закінчується (як тільки знайдеться символ з великим кодом, перевірка завершується). Як тоді бути, якщо необхідно значення ввести за допомогою методу prompt().

5.7. Порівняння чисел методом prompt()

Приклад 5.9:

Вимагається пізнати, чи належить введене число х заданому відрізку [2;11]. Число для перевірки будемо задавати за допомогою методу prompt(). Текст програми буде виглядати таким чином:

<script language="JavaScript">

var х

х=prompt('Введите х=','')

if (х>=2 && х<=11) alert('число принадлежит отрезку')

else

alert('число не принадлежит отрезку')

</script>

При виконанні програми видається повідомлення:

якщо введене значення х=5, видається повідомлення:

інакше (коли умова помилкова: введене числове значення не належить відрізку):

Потрібно помітити, що значення х= 5числове значення, тобто 5 сприймається як число, а не як текст. В протилежному б випадку 5 не входило в заданий відрізок, оскільки було розглянуто раніше '5'>'11'. Отже даний випадок можна розцінювати як виняток. Тобто, якщо порівняння чисел відбувається з конкретними числовими значеннями, то введеному значенню за допомогою методу prompt() при сравнении автоматично привласнюється числовий тип.

5.8. Перетворення типів даних

Як же бути якщо необхідно порівнювати числові значення введені методом prompt(). Для цих цілей в JavaScript використовуються дві функції.

Обидві функції прочитують число у вигляді тексту і перетворить його в числовий тип даних.

Увага: функції перетворення типів даних "шукають" числа тільки на початку рядка тексту. Якщо число не знайдено, функція повертає рядкове значення NaN, указуючи на те, що текст не містить числових значень.

Приклад 5.10:

<script language="JavaScript">

var х

var у

х=prompt('Введите х=','')

у=prompt('Введите у=','')

х=parseInt(х)

у=parseInt(у)

if (х>у) alert('х - максимальне число')

else

alert('у - максимальне число')

</script>

введемо х=5

введемо у=11

результат порівняння чисел х і у:

Тепер задача вирішена вірно.

5.9. Об'єкт Math

Math - один з вбудованих об'єктів мови JavaScript, має як методи і властивості основні математичні константи і функції. Властивості об'єкта Math містять математичні константи, а методи - математичні функції.

Математичні константи:

· Е - основа натуральних логарифмів (приблизно 2,718)

· LN10 - натуральний логарифм 10 (приблизно 2,302)

· LN2 - натуральний логарифм 2 (приблизно 0,693)

· LOG10Е - десятковий логарифм Е (приблизно 0,434)

· LOG2Е - двійковий логарифм Е (приблизно 1,442)

· SQRT1 2 - 1 на квадратний корінь з 2 (приблизно 0,707)

· SQRT2 - квадратний корінь з 2 (приблизно 1,414)

· PI - ставлення довжини кола до діаметра (приблизно 3,141)

Оскільки всі властивості об'єкта Math є приреченими константами, звертатися до них треба завжди одним і тим же способом. Розглянемо на прикладі числа PI:

Приклад 5.11:

<script language="JavaScript">

var у

у=Math.PI

alert(у)

</script>

результат виконання програми:

Увага: в даному випадку ми говоримо тільки про константи, якщо ж Ви хочете задати інші значення, то звернетеся до таблиці 5.1.

Таблиця 5.1

Метод Опис Синтаксис Результат
abs(число) повертає абсолютне значення аргументу Math.abs(-12)  
sin(число), cos(число), tan(число) стандартні тригонометричні функції, аргументи указуються в радіанах Math.sin(1/2) 0.479425538604203
asin(число), acos(число), atan(число) інверсні тригонометричні функції, повертають значення в радіанах Math.asin(1/2) 0.5235987755982989
exp(число) повертає Е в ступені х (експонентний логарифм) Math.exp(2) 7.38905609893065
log(число) повертає натуральний логарифм Math.log(1.7) 0.5306282510621704
pow(база, експонента) повертає базу в ступені експоненти Math.pow(3,2)  
sqrt(число) повертає квадратний корінь аргументу Math.sqrt(85) 9.219544457292887
ceil(число) округляє число до найближчого більшого цілого Math.ceil(56.4678954321)  
floor(число) Округляє число до найближчого меншого цілого Math.floor(56.4678954321)  
round(число) Округляє число до найближчого цілого Math.round(56.4678954321)  
min(х,у) і max(х,у) повертає менше і більше з аргументів відповідно Math.min(12,56)  
random() повертає псевдовипадкове число від 0 до 1 Math.random() видає кожного разу різне значення, наприклад, одне із значень: 0.34822759625322974

Розглянемо приклади обчислення переменных х, у, z:

х=43;

у=2*ln2;

z=6.8*sin(1.7);

с=pi;

Програма на мові JavaScript:

Приклад 5.12:

<script language="JavaScript">

var х,у,z,с

х=Math.pow(4,3)

у=2*Math.LN2

z=6.8*Math.sin(1.7)

с=Math.PI

document.write('х=',х,'<BR>')

document.write('у=',у,'<BR>')

document.write('z=',z,'<BR>')

document.write('с=',с,'<BR>')

</script>

Результат виконання обчислень відображується у вікні броузера:

х=64
у=1.3862943611198905
z=6.7433207110767865
с=3.141592653589793

При використанні великого числа властивостей і методів об'єкта Math зручно скористатися оператором приєднання with. Тоді приклад 6.12 буде виглядати таким чином:

Приклад 5.13:

<script language="JavaScript">

var х,у,z,с

with(Math){

х=pow(4,3)

у=2*LN2

z=6.8*sin(1.7)

с=PI

}

document.write('х=',х,'<BR>')

document.write('у=',у,'<BR>')

document.write('z=',z,'<BR>')

document.write('с=',с,'<BR>')

</script>





Дата публикования: 2015-04-10; Прочитано: 265 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.014 с)...