Россия, Санкт Петербург |
Знакомство с JavaSсript
Пример 7. Знакомство с математической библиотекой. Нахождение наибольшего значения из пяти чисел
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 7. Знакомство с математической библиотекой. Нахождение наибольшего значения из пяти чисел</title> </head> <script type="text/javascript"> var a1, a2, a3, a4, a5, b1, b2, b3, b4, str; a1 = 3; a2 = 5; a3 = -8; a4 = 16; a5 = 32; b1 = Math.max(a1, a2); b2 = Math.max(a3, a4); b3 = Math.max(b1, b2); b4 = Math.max(b3, a5); str = "Наибольшее из пяти чисел: " + b4; document.write(str); </script> <body> </body> </html>
Результат:
Продолжим знакомство с математической библиотекой. В следующем примере мы разберем нахождение модуля числа, а также округление до целого с недостатком и избытком.
Пример 8. Знакомство с математической библиотекой. Модуль числа. Округление чисел
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 8. Знакомство с математической библиотекой. Модуль числа. Округление чисел</title> </head> <script type="text/javascript"> var a1, a2, a3, b1, b2, b3, b4, str; a1 = 3.35; a2 = -3.35; a3 = 3.75; b1 = Math.abs(a2); //Модуль числа b2 = Math.round(a1); //Округление до целого b3 = Math.floor(a3); //Округление до целого с недостатком b4 = Math.ceil(a1); //Округление до целого с избытком str = "Модуль числа: " + "Math.abs(" + a2 + ") = " + b1 + "<br/>" + "Округление до целого: " + "Math.round(" + a1 + ") = " + b2 + "<br/>" + "Округление до целого с недостатком: " + "Math.floor(" + a3 + ") = " + b3 + "<br/>" + "Округление до целого с избытком: " + "Math.ceil(" + a1 + ") = " + b4; document.write(str); </script> <body> </body> </html>
Результат:
Далее, мы решим квадратное уравнение. Здесь нам потребуется условный оператор, а также функция возведения в степень и функция нахождения квадратного корня.
Пример 9. Решение квадратного уравнения
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 9. Решение квадратного уравнения</title> </head> <script type="text/javascript"> var a, b, c, d, x1, x2, str; a = -3; b = 5; c = 14; d = Math.pow(b, 2) - 4 * a * c; if (d < 0) { str = "Действительных корней нет!"; } else { x1 = (-b - Math.sqrt(d)) / (2 * a); x2 = (-b + Math.sqrt(d)) / (2 * a); str = "x1 = " + x1 + "<br/>" + "x2 = " + x2; } document.write(str); </script> <body> </body> </html>
Результат:
А теперь, от математических функций перейдем к массивам. При выполнении различных численных расчетов часто приходится подсчитывать количество элементов массива, удовлетворяющих некоторому критерию. В следующем примере мы создадим динамический числовой массив, состоящий из отрицательных и положительных элементов. Нам понадобится подсчитать количество отрицательных элементов и сумму положительных элементов массива. Заодно продемонстрируем использование цикла For.
Пример 10. Цикл For. Подсчет количества отрицательных элементов массива. Нахождение суммы положительных элементов массива
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 10. Цикл For. Подсчет количества отрицательных элементов массива. Нахождение суммы положительных элементов массива</title> </head> <script type="text/javascript"> var n, i, NegativeElementsNumber, SumOfPositiveElements, str; Alpha = new Array(-6, 11, 8, -4, 9, 15, 23, 61, -2); n = Alpha.length NegativeElementsNumber = 0; SumOfPositiveElements = 0; str = "Массив:" + "<br/>"; for (i = 0; i <n; i++) { str += Alpha[i] + "<br/>"; if (Alpha[i] < 0) { NegativeElementsNumber += 1; } else {SumOfPositiveElements += Alpha[i]; } } str += "<br/>" + "Количество отрицательных элементов массива = " + NegativeElementsNumber + "<br/>" + "Сумма положительных элементов массива = " + SumOfPositiveElements; document.write(str); </script> <body> </body> </html>
Результат:
Другой важной задачей при работе с массивами является сортировка и связанная с этой задачей проблема нахождения минимального и максимального элементов. Эту задачу мы решим также с помощью цикла For.
Пример 11. Цикл For. Нахождение минимального и максимального элементов массива
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 11. Цикл For. Нахождение минимального и максимального элементов массива</title> </head> <script type="text/javascript"> var n, i, min_value,max_value, str; Alpha = new Array(12,-6, 11, 8, -4, 9, 15, 23, 61, -2); n = Alpha.length max_value = Alpha[0]; min_value = Alpha[0]; str = Alpha[0] + "<br/>"; for (i = 1; i <n; i++) { str += Alpha[i] + "<br/>"; if (Alpha[i] < min_value) { min_value = Alpha[i]; } if (Alpha[i] > max_value) { max_value = Alpha[i]; } } str += "<br/>" + "Минимальный элемент массива = " + min_value + "<br/>" + "Максимальный элементов массива = " + max_value; document.write(str); </script> <body> </body> </html>
Результат:
Задачу сортировки можно решить гораздо проще, воспользовавшись функцией Sort.
Пример 12. Использование функции сортировки
Добавьте новую HTML-страницу со следующим кодом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример 12. Использование функции сортировки</title> </head> <script type="text/javascript"> var n, i, str; Alpha = new Array(12,-6, 11, 8, -4, 9, 15, 23, 61, -2); n = Alpha.length str = "Массив до сортировки: "+ "<br/>"; for (i = 0; i <n; i++) { str += Alpha[i] + "<br/>"; } str += "<br/>" + "Массив после сортировки: " + "<br/>"; function compare(x, y) { return x - y; } Alpha.sort(compare); for (i = 0; i < n; i++) { str += Alpha[i] + "<br/>"; } document.write(str); </script> <body> </body> </html>
Результат: