ВУЗ:
Составители:
Рубрика:
23
Начать просмотр фамилий списков с начала каждого списка и сравни-
вать имена клиентов следующим образом:
Если фамилии клиентов в обоих списках совпадают, переместить эту
фамилию в столбец D и сместиться на строку вниз в столбцах А и В для
сравнения следующей пары фамилий.
Если фамилия в столбце А
расположена раньше фамилии в столбце В
(в соответствии с алфавитным порядком), то следует переместить пер-
вое имя из столбца А в столбец D и перейти в следующую строку в
столбце А ( но не в столбце В) для сравнения следующей пары имен.
Следует выполнить те же действия, если фамилия в столбце В
располо-
жена перед фамилией в столбце А ( в соответствии с алфавитным по-
рядком).
Продолжать анализ, сравнивая фамилии в столбцах А и В, пока не бу-
дут скопированы все фамилии из столбца А или из столбца В. После
этого оставшиеся во втором столбце или первом фамилии необходимо
переместить в столбец D.
Пояснения
к составлению программного кода процедуры.
В начале выполнения программного кода процедуры предыдущий ре-
зультат объединения списков удаляется из столбца D; для этого исполь-
зуется метод ClearContents. Затем вычисляется размер существующих
списков, и массивы List1 и List2 заполняются содержимым исходных
списков. Для заполнения массива List3 используется процедура слия-
ния, а результаты заносятся в
столбец D.
Процедура использует переменные Index1 и Index2 для указания пози-
ции в соответствующем списке. Фамилии клиентов сохраняются в пе-
ременных Name1 и Name2. Сравнение фамилий позволяет выяснить,
какую из них заносить в результирующий список, а также какой счет-
чик (Index1 или Index2)увеличивать на 1. Цикл Do While в нашем слу-
чае более удобен, поскольку он продолжает
обработку списков до тех
пор, пока хоть в одном из списков присутствуют фамилии.
После завершения цикла Do оставшиеся фамилии (если такие есть) из
одного списка заносятся в результирующий список. Затем содержимое
массива List3 заносится в столбец D.
Sub MergeLists()
‘ Переменная LSx указывает размер списков
‘ (x изменяется от 1 до 3)
‘ Массивы Listx содержат
элементы списков
‘ (x изменяется от 1 до 3)
‘ Списки индексируются от 1 до 3 следующим
‘ образом:
‘ List1– клиенты за 2007 год (существующие данные)
‘ List2– клиенты за 2008 год (существующие данные)
Начать просмотр фамилий списков с начала каждого списка и сравни- вать имена клиентов следующим образом: Если фамилии клиентов в обоих списках совпадают, переместить эту фамилию в столбец D и сместиться на строку вниз в столбцах А и В для сравнения следующей пары фамилий. Если фамилия в столбце А расположена раньше фамилии в столбце В (в соответствии с алфавитным порядком), то следует переместить пер- вое имя из столбца А в столбец D и перейти в следующую строку в столбце А ( но не в столбце В) для сравнения следующей пары имен. Следует выполнить те же действия, если фамилия в столбце В располо- жена перед фамилией в столбце А ( в соответствии с алфавитным по- рядком). Продолжать анализ, сравнивая фамилии в столбцах А и В, пока не бу- дут скопированы все фамилии из столбца А или из столбца В. После этого оставшиеся во втором столбце или первом фамилии необходимо переместить в столбец D. Пояснения к составлению программного кода процедуры. В начале выполнения программного кода процедуры предыдущий ре- зультат объединения списков удаляется из столбца D; для этого исполь- зуется метод ClearContents. Затем вычисляется размер существующих списков, и массивы List1 и List2 заполняются содержимым исходных списков. Для заполнения массива List3 используется процедура слия- ния, а результаты заносятся в столбец D. Процедура использует переменные Index1 и Index2 для указания пози- ции в соответствующем списке. Фамилии клиентов сохраняются в пе- ременных Name1 и Name2. Сравнение фамилий позволяет выяснить, какую из них заносить в результирующий список, а также какой счет- чик (Index1 или Index2)увеличивать на 1. Цикл Do While в нашем слу- чае более удобен, поскольку он продолжает обработку списков до тех пор, пока хоть в одном из списков присутствуют фамилии. После завершения цикла Do оставшиеся фамилии (если такие есть) из одного списка заносятся в результирующий список. Затем содержимое массива List3 заносится в столбец D. Sub MergeLists() ‘ Переменная LSx указывает размер списков ‘ (x изменяется от 1 до 3) ‘ Массивы Listx содержат элементы списков ‘ (x изменяется от 1 до 3) ‘ Списки индексируются от 1 до 3 следующим ‘ образом: ‘ List1– клиенты за 2007 год (существующие данные) ‘ List2– клиенты за 2008 год (существующие данные) 23
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »