4) Декартово произведение
двух двумерных массивов – это массив, содержащий все столбцы исходных массивов. В результирующем массиве выводится итог соединения по типу «каждый с каждым». Например, если даны массив А, состоящий из трех столбцов и двух строк, и массив В, состоящий из двух столбцов и трех строк, то их декартовым произведением будет массив С, состоящий из пяти столбцов и шести строк.
В общем случае, если заданы массивы размерностью [l nl, l ml] и [1 n2, 1 m2], то результирующий массив будет иметь размерность [l nl*n2, l ml + m2]. Прямое решение задачи очевидно: полный перебор по строкам массивов. Более интересны случаи сокращения перебора (здесь можно использовать известные методы: бинарный поиск, хеширование и т.д.), представляющие экспериментальную часть работы.
5) Выборка
(селекция) – выбор подмножества строк массива по некоторому условию. Результирующий массив имеет то же количество столбцов, но другое количество строк. Эту операцию еще называют «горизонтальная выборка».
Иллюстрацией операции выборки может служить решение следующей задачи. Дан двумерный массив размером n*m, заполненный целыми случайными числами. Сформировать новый массив, содержащий строки исходного массива, которые удовлетворяют заданному условию, например, строка содержит элемент k.
Основной момент при решении этих задач – грамотное оформление функции, проверяющей выполнение условия для строк исходного массива. Поиск наиболее оптимального алгоритма для этой функции может составлять экспериментальный раздел работы с программой.
6) Проекция
(«вертикальная выборка») – указание подмножества столбцов данного массива, участвующих в формировании нового массива. Результирующий массив имеет другое количество столбцов и, может быть, другое количество строк (исключаются одинаковые строки, которые могут появиться в результате проекции).
Для усвоения учащимися смысла операции проекции можно предложить такую задачу: дан двумерный массив размером n*m, заполненный целыми случайными числами. Сформировать новый массив, содержащий столбцы исходного массива с номерами kl, k2, k3. Алгоритм решения не вызывает сложностей, но особое внимание следует уделить исключению повторяющихся строк, которые могут появиться в результате проекции.
7) Соединение
двух двумерных массивов, имеющих общий столбец, – это массив, который строится объединением всех столбцов исходных массивов для одинаковых значений общих столбцов.
Пример. Соединение массивов А и В в массив С осуществляется по общему столбцу, который является первым в массивах А и В.
Программная реализация соединения двух массивов может быть получена из решения задачи о декартовом произведении. Разница будет в том, что соединение идет не по типу «каждый с каждым», а по одинаковым значениям общих столбцов. Кроме того, если какое-то значение общего столбца в одном массиве отсутствует в общем столбце другого массива, то соответствующую строку результирующего массива нужно добавлять нулями. Эти условия нужно учесть при модификации программы.
8) Деление
двух двумерных массивов – это массив, который строится вычитанием из множества столбцов первого массива множества столбцов второго массива, результирующие строки формируются для одинаковых значений общих столбцов. По сути дела, это процедура, обратная соединению массивов. То есть результатом деления массива С в предыдущем примере на массив В будет массив А. Поэтому и решение задачи на деление массивов будет основано на алгоритме соединения массивов. Сложность будет состоять в том, чтобы учесть как случай деления исходного массива на массив А, так и случай деления его на массив В.
Для усвоения рассмотренных операций учащимся может быть предложена следующая система задач.
1. Задачи на двумерные числовые массивы:
1)
Даны два двумерных массива размером n*m и k*m, заполненные целыми случайными числами. Сформировать новый массив, содержащий совокупность всех строк исходных массивов (одинаковые строки не дублируются).
2) Даны три двумерных массива размером n*m и k*m, заполненные целыми случайными числами. Сформировать новый массив, содержащий совокупность всех строк исходных массивов (одинаковые строки не дублируются).
Статьи по теме:
Сценарий обрядовой Русской свадьбы
Молодых встречает фольклорный ансамбль и сваха. Сваха: Подплывает лебедь белая К Марии в беседу, съезжаются гости. У ворот на ёлке, у ворот на ёлке Слетаются пчёлки, слетаются пчёлки. Посмотреть, как Мария на свадьбу снаряжается. Фольклорный коллектив девушки уводят невесту от жениха, юноши уводят ...
Изучение проблемы сенсорного воспитания зарубежными и отечественными педагогами
и психологами
Значение сенсорного воспитания в раннем детстве трудно переоценить. Именно этот возраст наиболее благоприятен для совершенствования деятельности органов чувств, накоплению представлений об окружающем мире. Выдающиеся ученые в области дошкольной педагогики такие, как Ф.Фребель, М.Монтессори, а также ...
Количественные методы в педагогике
Качественное и количественное в явлениях окружающего мира неразрывно связаны; поэтому качественные и количественные характеристики педагогических явлений надо изучать в единстве. Необходимо различать два основных направления в использовании количественных методов в педагогике: первое – обработка ре ...