В двух массивах хранятся фамилии абонентов и соответствующие номера телефонов. По заданной с клавиатуры фамилии найти номер телефона. Вывести диалоговое окно метода alert с информацией “абонент не найден”, если в массиве фамилий таковой не окажется.
Решение. Алгоритм решения задачи сводится к следующим частям:
1. Создание объектов Array для переменных f (массив фамилий – 5 элементов) и t (массив телефонов – 5 элементов).
2. Заполнение массивов способом «присваивание».
3. Ввод с клавиатуры интересующей фамилии в переменную z.
4. Организация цикла для поиска интересующего элемента в массиве фамилий (z==f[i]), вывода интересующего элемента из массива телефонов (t[i]) и выход из цикла break.
5. Организация проверки условия (i==f.length) по окончании работы цикла и вывод результата (“абонент не найден”).
4. Задачи поиска max (min) элементов массива
Поиск max (min) элемента.Найти минимальный элемент и его номер в заданном массиве a0, a1, … an-1. Данные массива и количество элементов n ввести с клавиатуры.
Решение. Поиск проводится путём сравнения всех элементов массива с «эталоном». За «эталон» обычно принимают переменную со значением первого элемента массива.
Алгоритм решения задачи сводится к следующим частям:
1. Ввод данных, создание массива и организация цикла для заполнения массива.
2. Объявление «эталона»: min = a[0]; к =0;
3. Организация цикла для сравнения «эталона» с элементами массива (a[i]<min) и переприсваиванием переменных min и k.
4. Вывод результатов из переменных min и k.
Скрипт. n=prompt(“Введи количество элементов”,””); n=parseInt (n);
var a = new Array ()
for (i=0; i<=n-1; i++) {
b=prompt(“Введи”+i+”-й элемент”,””);
a[i]=parseInt (b);
}
var min=a[0]; var k=0;
for (i=1; i<=n-1; i++) {
if (a[i]<min) { min = a[i]; k=i }
}
document.write ( “Минимальный элемент равен ”+min+”его номер ”+k)
Для поиска максимального элемента, в логическом выражении при сравнении элементов массива с «эталоном» (a[i]< ) надо поменять знак на противоположный (a[i]> ).
Контрольные вопросы
1. Назовите типовые задачи обработки массивов.
2. Как осуществляется доступ к элементам массива?
3. Каков алгоритм поиска суммы элементов массива?
4. Каков алгоритм поиска интересующего элемента в массиве?
5. Как создаются “справочники”?
6. Как найти минимальный элемент массива?
7. Как изменится алгоритм для поиска максимального элемента массива?
8. Как задаётся “эталон” для поиска второго минимального элемента массива? Максимального?
Выводы
· Массив – это последовательность данных, которая обозначена одной переменной с разными индексами. Доступ к каждому элементу массива осуществляется по его индексу.
· Типовые задачи обработки массивов: поиск суммы элементов, интересующего элемента, max (min) элемента, слияние массивов, перестановка элементов, сортировка.
· Для создания массива данных применяется объект Array и конструктор new.
· Для реализации алгоритма поиска в среде программирования массивы необходимо заполнять.
· Чтобы найти сумму элементов массива необходимо организовать цикл, количество шагов которого задаётся по количеству элементов массива для их суммирования.
· Для поиска интересующего элемента применяется «интересующее» условие в теле цикла при просмотре элементов массива. Так создаются «справочники».
· Перед поиском минимального или максимального элемента массива необходимо объявить «эталоны» для дальнейшего сравнения их с элементами массива. При нахождении элементов массива, удовлетворяющих «эталонам», те переприсваиваются.
· Для поиска первого минимального (максимального) элемента массива за «эталон» можно принимать первый элемент массива, для поиска второго и следующих минимальных (максимальных) элементов за «эталон» принимается большое (маленькое) число.