Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по Java Script 1.doc
Скачиваний:
131
Добавлен:
12.02.2015
Размер:
1.44 Mб
Скачать

Функции обработки числовых массивов

Во многих приложениях требуется получить статистические характеристики числовых данных, хранящихся в виде массива: сумму всех чисел, среднее, максимальное и минимальное значения. Здесь мы приведем коды функций, вычисляющих эти величины.

Функция, возвращающая сумму значений всех элементов непустого массива:

function S(aN){

var S=aN[0];

for(var i = 1; i<= aN.length-1; i++){

S += aN[i];

return S

}

Очевидно, для вычисления среднего значения следует просто воспользоваться выражением S(aN)/aN.length.

Функция, возвращающая минимальное значение среди элементов массива:

function Nmin(aN){

var Nmin = aN[0];

for(var i = l ; i <= aN.length-1; i++){

if (aN[i] < Nmin);

Nmin = aN[i]; }

return Nmin }

Функция, возвращающая максимальное значение среди элементов массива:

function Nmax(aN){

var Nmax = aN[0];

for(var i = 1; 1 <= aN.length -1; i++){

if (aN[i] > Nmax)

Nmax = aN[i]; }

return Nmax }

Мы можем создать одну функцию, которая вычисляет все перечисленные выше статистические характеристики и возвращает их как значения массива:

function statistic(aN){

if (aN == 0 || aN == null || aN == "")

return new Array(0,0,0,0)

var S = aN[0]

var Nmin = aN[0]

var Nmax = aN[0]

for(var i = l; i<=aN.length-1; i++){

S += aN[i]

if (aN[i] < Nmin)

Nmin = aN[i]

if (aN[i] > Nmax)

Nmax = aN[i]

}

return new Array(S, S/aN.length, Nmin, Nmax)

}

В начале кода функции statistic() мы проверяем, не является ли параметр пустым. Если это так, то все статистические характеристики считаются равными нулю.

Пример 1. Создание циклического баннера (слайд-шоу).

Создадим массив изображений, которые будут появляться на странице через некоторые промежутки времени.

<html>

<head>

<title> Смена изображений</title>

<script language="JavaScript">

Slide = new Array("./pic/1.gif", "./pic/2.gif", "./pic/3.gif", "./pic/4.gif", "./pic/5.gif", "./pic/6.gif", "./pic/7.gif","./pic/8.gif", "./pic/9.gif");

//Изображения находятся во вложенной папке pic

k=0; Len=Slide.length;

function rotate(){

if (document.images){

k++;

if (k == Len) {

k=0; }

document.banner.src=Slide[k];

setTimeout ("rotate()",1*1000);

}

}

</script>

</head>

<body onload="rotate();">

<img src="./pic/1.gif" name="banner">

</body>

</html>

Практическое задание

1. Доработайте слайд-шоу, добавив кнопку play/stop, при нажатии на которую слайд шоу либо останавливается, либо воспроизводится. Можно вместо одной кнопки можно создать две отдельные: play и stop.

Пример 2. Вывод случайного афоризма на странице. Случайный афоризм появляется при каждом обновлении страницы.

<html>

<head> <title> Случайный афоризм на странице</title>

<script language="JavaScript">

quote= new Array();

author= new Array();

quote[quote.length]="Одни едят, чтобы жить. Другие - живут, чтобы есть.";

author[author.length]="Мольер";

quote[quote.length]="Работа не волк, в лес не убежит";

author[author.length]="Народная мудрость";

quote[quote.length]="Узкий специалист подобен флюсу.";

author[author.length]="Кoзьма Прутков";

quote[quote.length]="Скорость процессоров каждые два года удваивается.";

author[author.length]="Не помню";

quotes = new Array();

quotes = [quote,author]

function getSay() {

var k=Math.floor(Math.random()*(quote.length));

var tmp=("Афоризм " +quotes[0][k]+ "Автор:" +quotes[1][k]+"<br>");

return tmp; }

</script>

</head>

<body > <center>

<script language="JavaScript">document.write(getSay())</script>

</center>

</body>

</html>