Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Динамические веб.docx
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
705.74 Кб
Скачать

12. Массивы

Массив в языках программирования — это упорядоченный набор однотипных элементов. Без массива не обойтись, когда нужно обрабатывать большой объём структурированной информации. Например, каждый день проводят метеорологические наблюдения и замеряют температуру, влажность воздуха и атмосферное давление. В течение года эти данные заносят в компьютер, чтобы затем их обрабатывать, например, строить графики. Эти данные имеют чёткую структуру, так как каждый день проводятся одни и те же измерения. Таким образом получается таблица из 365 строк и 3 столбцов.

Другой пример упорядоченной информации: месяцы года. Они следуют друг за другом в строгом порядке, поэтому они имеют свои номера: январь — 1, февраль — 2 и так далее. Для машинной обработки месяцев удобны числовые обозначения, а для отображения на экране — словесные. Поэтому часто названия месяцев сохраняют в массиве.

Доступ к элементу массива производится по его номеру. Обозначается i-й элемент массива a как a[i]. Элементы массива нумеруются с нуля, т. е. массив a, состоящий из N элементов, содержит элементы a[0], a[1], …, a[N-1]. Для наглядности массив удобно представить в виде таблицы:

0

1

2

...

N-1

значение1

значение2

значение3

...

значениеN

Массив создаётся в два этапа. В начале создаётся пустой массив с помощью объекта Array (англ. матрица, решётка), а затем он заполняется значениями. Пример:

<script> сезон = new Array(); // пустой массив “сезон” сезон[0]='зима';   // заполнение массива сезон[1]='весна'; сезон[2]='лето'; сезон[3]='осень'; document.write(сезон[0] + ', ' + сезон[1] + ', ' + сезон[2]+ ', ' + сезон[3]); </script>

Код в действии зима, весна, лето, осень

Задание 1

Создайте массив «месяцы» и заполните его названиями месяцев. Выведите на страницу только месяцы летних каникул.

 

Переменная-счётчик

В программировании часто требуется подсчитать сколько раз происходит какое-нибудь событие. Для создания счётчика таких событий делают следующее:

  • создаётся переменная-счётчик, имя выбирается произвольно;

  • переменная инициализируется, то есть присваивается начальное значение;

  • при каждом событии счётчик увеличивается на единицу.

В примере ниже создаётся и инициализируется переменная number. При каждом нажатии на кнопку вызывается функция counter, которая увеличивает на единицу счётчик и выводит его значение в текстовое поле.

<script type="text/javascript"> var number; number = 0; function counter(){    number = number + 1;    document.getElementById('output').value = number; } </script> <input type="button" value="Нажимайте" onClick="counter()"> Количество нажатий: <input id="output" type="text" size="5">

Код в действии

Количество нажатий:

Такой счётчик удобно использовать для перебора элементов массива.

Задание 2

  • Разместите на странице кнопку «Показать следующий элемент» и текстовое поле ввода.

  • По каждому щелчку на кнопке должен выводиться очередной элемент массива «месяцы».

Внешний вид

 

Иногда при достижении определённого значения счётчика (порога) требуется совершить какое-то действие. Это делают следующим образом. При каждом увеличении счётчика сравнивается его значение с заданным порогом. Если он достиг его, то выполняется нужное действие. Ниже показана функция counter из предыдущего примера, в которой добавлена проверка достижения первого десятка нажатий. При этом событии выводится окно сообщения.

function counter(){    number = number + 1;    document.getElementById('output').value = number;    if(number == 10){       window.alert('Десяток!');    } }

Код в действии

Количество нажатий:

Такую проверку удобно использовать для обнаружения конца массива. Дело в том, что при использовании массивов программисту приходится следить, чтобы номер элемента массива не превышал максимального номера. Например, в массиве «сезон» всего 4 элемента и последний имеет номер 3. Если мы обратимся к пятому элементу, то получим значение undefined (англ. неопределённый).

Задание 3

Доработайте скрипт из предыдущего задания так, чтобы при достижении последнего элемента массива «месяцы» последующие щелчки выводили слово «Конец».

 

Массивы часто используются для того, чтобы упорядочить, пронумеровать данные. Дело в том, что вычислительная машина хорошо «понимает» числа, а человек — слова. Так, в примере ниже дни недели занесены в массив, чтобы по номеру дня вызывать его название и отображать на экране. Номер дня получают с помощью метода getDay объекта Date.

<script> день = new Array; день[0]='воскресенье'; день[1]='понедельник'; день[2]='вторник'; день[3]='среда'; день[4]='четверг'; день[5]='пятница'; день[6]='суббота'; сейчас = new Date(); document.write('Сегодня ' + день[сейчас.getDay()]); </script>

Код в действии Сегодня четверг

 

Задание 4

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

 

Задание 5

Скопируйте на свою страницу приведённый ниже код игрушки «Угадай телеканал», проверьте её работу. Проанализируйте код и измените названия телеканалов на те, которые вы знаете.

Пример кода

<SCRIPT> телеканал=new Array(); телеканал[0]="ОРТ"; телеканал[1]="РТР"; телеканал[2]="ТВЦ"; телеканал[3]="НТВ"; телеканал[4]="ТВ6"; случай=0; function picktv(){    дата=new Date()    случай=(дата.getSeconds())%5 } function whichtv(){    picktv();    предположение=" ";    while (телеканал[случай] != предположение.toUpperCase()){       предположение=prompt("Угадайте мой любимый телеканал: ОРТ, РТР, ТВЦ, НТВ или ТВ6?");       if (предположение.toUpperCase() == телеканал[случай]){          alert("Это мой любимый телеканал!")       }else{          alert("Нет, попробуйте ещё раз.")       }    } } </SCRIPT> <INPUT TYPE="button" VALUE="Угадайте" onclick="whichtv()">