КорнееваАМ_школа887

advertisement
Игра в слова: математическое содержание
Секция «Точные науки»
Автор: Корнеева Александра Михайловна, 8 класс
Научный руководитель: Горшенин Константин Петрович,
учитель математики,
кандидат физико-математических наук
Государственное бюджетное
образовательное учреждение г. Москвы
средняя общеобразовательная школа №887
Москва
2014
2
Аннотация
В работе изучаются последовательности слов, полученные путем замены
букв на основе словаря существительных. Анализ распределений количества
последовательностей по длине начального слова и длине последовательности
показал, что можно выделить характерные особенности распределений,
обусловленные свойствами словаря и модификациями правила замены.
27 стр., 5 рис., 4 табл., библиография 8 наим.
3
Оглавление
ВВЕДЕНИЕ ........................................................................................................................................ 4
Глава 1. НЕОБХОДИМЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ ....................................................... 7
1.1. Количество вариантов замены букв в слове......................................................................... 7
1.2. Модификации правила замены букв ..................................................................................... 8
1.3. Логарифмическая шкала ........................................................................................................ 9
1.4. Выводы ................................................................................................................................... 10
Глава 2. РЕЗУЛЬТАТЫ КОМПЬЮТЕРНОГО ЭКСПЕРИМЕНТА ............................................ 11
2.1. Описание используемого словаря ....................................................................................... 11
2.2. Правила построения последовательностей слов ................................................................ 13
2.3. Описание программного обеспечения и алгоритм построения последовательностей
слов ................................................................................................................................................ 14
2.4. Распределения количества последовательностей .............................................................. 16
2.5. Последовательности слов ..................................................................................................... 22
2.6. Выводы ................................................................................................................................... 23
ЗАКЛЮЧЕНИЕ ................................................................................................................................ 24
СПИСОК ЛИТЕРАТУРЫ ............................................................................................................... 25
Приложение 1. Процедура для заполнения таблицы НовыеСловаВсе при замене букв по
правилу 1 ................................................................................................................................. 26
Приложение 2. Процедура для заполнения таблицы НовыеСловаВсе при замене букв по
правилу 2 ................................................................................................................................. 27
4
ВВЕДЕНИЕ
«В каждом знании столько истины, сколько математики», – утверждал
немецкий философ XVIII века Иммануил Кант. А сколько математики в наших
интеллектуальных играх? Другими словами, на каких математических
принципах они основаны? Какие закономерности, допускающие описание на
языке математики, в них прослеживаются?
В данной работе рассматривается игра в слова, заключающаяся в
следующем. Из исходного слова путем некоторых манипуляций с его буквами
необходимо получить осмысленное слово такой же длины. Возможны два типа
базовых действий с буквами: перестановка и замена. Если используются только
перестановки букв, то речь идет о поиске слов-анаграмм. Если используются
только замены букв, то речь идет о построении последовательностей
осмысленных слов, в которых переход к каждому следующему слову
происходит по одному и тому же правилу замены.
Наше исследование касается построения последовательностей слов. При
этом
возникает
вопрос
о
свойствах
распределений
количества
последовательностей по значениям какого-либо признака. В качестве такого
признака выбраны длина начального слова последовательности и длина
последовательности. Из возможных различных правил замены рассматривается
самый простой случай, когда за один шаг происходит замена одной буквы на
произвольном месте.
Построение последовательности для одного слова «вручную» уже является
весьма трудоёмкой задачей; об этом свидетельствуют и комбинаторные оценки.
Для построения распределений на основе некоторого словаря необходимо
использовать компьютерную обработку данных, автоматизируя процессы
замены букв и поиска получающихся слов в словаре. В данной работе это
делается средствами СУБД MS Access, – программы, доступной пользователям
широко распространенного пакета MS Office. Наконец, при визуализации
результатов может возникнуть необходимость отображать на графиках
5
числовые значения, отличающиеся на несколько порядков. Стандартным
приемом
для
преодоления
этой
трудности
является
использование
логарифмического масштаба, что требует освоения понятия логарифма.
Актуальность исследования. Данная работа опирается на понятия
комбинаторики, статистики, информатики. Опыт подобного межпредметного
исследования очень важен, поскольку на конкретном примере отрабатываются
приемы изучения реальных процессов и явлений средствами различных
отраслей знания.
Объект исследования: последовательности слов, получаемые путем
замены букв.
Предмет исследования: распределения количества последовательностей
по длине начального слова и длине последовательности.
Цель
исследования:
выявить
характерные
особенности
этих
распределений.
Гипотеза
исследования:
последовательностей
свойства
определяются,
с
распределений
одной
стороны,
количества
особенностями
используемого словаря, а с другой стороны, особенностями правил замены.
Задачи исследования:
 получить комбинаторные оценки количества вариантов замены букв в
слове;
 изучить понятие логарифма в объеме, необходимом для настоящего
исследования;
 изучить основы работы с MS Access в объеме, необходимом для
настоящего исследования;
 разработать программное обеспечение для данной работы в форме
комплекса баз данных MS Access, содержащих необходимые таблицы, запросы
на языке SQL и модули на языке VBA;
 с помощью разработанного программного обеспечения на основе
выбранного словаря создать банки последовательностей слов для различных
6
модификаций правила замены букв и проанализировать распределения
количества последовательностей;
 оформить результаты исследования в печатном виде и в виде
компьютерной презентации.
Методы исследования: поиск, отбор и анализ содержания источников
информации; анализ, синтез, сравнение, классификация; компьютерный
эксперимент.
Практическая значимость. Технология, использующая средства работы с
базами данных, может применяться специалистами в области лингвистики при
создании программного обеспечения для решения прикладных задач. Банк
последовательностей слов можно использовать как материал для составления
занимательных задач на преобразование слов путем замены букв.
Продукт работы: банк последовательностей слов.
С точки зрения общих требований к результатам освоения основной
общеобразовательной программы [7] работа над темой данного исследования
способствует
достижению
следующих
предметных,
метапредметных
и
личностных результатов:
 формирование представлений о математике как о методе познания
действительности, позволяющем описывать и изучать реальные
процессы и явления;
 формирование представлений о статистических закономерностях в
реальном мире;
 развитие алгоритмического мышления;
 формирование умений формализации и структурирования информации;
 формирование и развитие компетентности в области использования
информационно-коммуникационных технологий;
 формирование коммуникативной компетентности.
7
Глава 1. НЕОБХОДИМЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
1.1. Количество вариантов замены букв в слове
Все последующие рассуждения опираются на понятия и формулы
комбинаторики [3].
Общее количество n-буквенных комбинаций, составленных из 33 букв
русского алфавита, в соответствии с комбинаторным правилом умножения
равно 33n . Уже при n  4 значение этого выражения составляет 1185921.
Если в слове из n букв заменяются одновременно k букв, то количество
новых слов (среди которых есть и бессмысленные) дается выражением
Cnk  32 k 
32 k n!
k!(n  k )!
Значение этого выражения при n  4 и k  1 равно 128, а при n  4 и k  2 –
6144. Следует отметить, что соответствующие множества слов не имеют
совпадающих элементов, поскольку каждый элемент первого множества
отличается от любого элемента второго множества или одной, или двумя
буквами. Поэтому, если правило замены формулируется как «замена одной или
двух букв», то количество новых слов для n  4 равно 128  6144  6272 .
Если происходит замена одной буквы, то общее количество новых слов
определяется выражением
32 nNn ,
n
где N n – количество n-буквенных слов в словаре и суммирование происходит
по всем имеющимся значениям n. Однако оценить количество новых слов,
которые являются осмысленными, т.е. содержатся в словаре, невозможно.
8
1.2. Модификации правила замены букв
До сих пор, говоря о замене буквы, мы подразумевали, что на её место
можно поставить любую другую букву алфавита. Между тем, это вовсе не
является обязательным. Можно установить и некоторые ограничения,
например, заменять гласную только гласной и т.п.
В работе [4] показано, что, рассматривая буквы как фигуры, образованные
тонкими линиями, можно установить классификацию этих фигур на основе
наборов их топологических инвариантов. К топологическим инвариантам
относятся количество компонентов фигуры, количество точек определенного
типа и др. [2]. В таблице 1 приведена классификация букв русского алфавита.
Нумерация классов является условной и соответствует [4].
В настоящей работе рассматривались замены букв без ограничений и
замены с условием выбирать новую букву только из класса, к которому
принадлежала прежняя. Далее мы будем подразумевать эти ситуации, говоря о
правилах замены соответственно 1 и 2.
Класс
1
2
3
4
5
6
7
8
10
11
12
13
14
16
Буквы
Г, З, И, Л, М, П, С
Е, У, Т, Ч, Ш, Ц, Э
Х
К, Н, Щ
О
Б, Р, Ъ, Ь
А, Д, Я
В
Ф
Ж
Ю
Й
Ы
Ё
Таблица 1. Распределение букв по классам
9
1.3. Логарифмическая шкала
По определению [6], логарифм log a b числа b ( b  0 ) по основанию a
( a  0, a  1) – это показатель степени, в которую надо возвести основание a,
чтобы получить число b. Например, log 2 8  3 , поскольку 23  8 . Логарифм по
основанию 10 имеет особое обозначение: log 10 b  lg b .
Одно из свойств логарифма:
log a (bc )  log a b  log a c ,
откуда следует
log a b m  m log a b, m  N
Поэтому, например, lg 50000  lg 5  lg 10000  lg 5  4 lg 10  lg 5  4 . Числа
50000 и 5 отличаются в 10000 раз, в то время как их логарифмы – всего лишь на
4. Это обстоятельство используется для построения логарифмической шкалы. С
ее помощью удобно строить, например, графики быстро растущих функций. В
этом случае в качестве значений зависимой переменной берутся не значения
самой функции, а их логарифмы. Так, вместо графика функции y ( x)  10 x
строят график функции g ( x)  lg y( x)  x , имеющий вид прямой с угловым
коэффициентом 1. При этом говорят, что график
y (x)
построен с
использованием логарифмической шкалы по оси значений функции, т.е. в
координатах ( x; lg y) .
10
1.4. Выводы
Предварительный анализ задачи о построении последовательности слов
показал, что ее решение на некотором множестве слов возможно лишь с
применением информационно-компьютерных технологий. Важно отметить, что
компьютер здесь является не инструментом вычислений, а инструментом
анализа, результаты которого представляются числовыми характеристиками.
Эти характеристики являются точными и не зависят от конкретных средств
обработки текстовых данных. В силу этого, задача оптимизации не ставилась
ни в каком из ее аспектов (аппаратном, программном, алгоритмическом).
В настоящем исследовании компьютер является всего лишь инструментом.
Именно поэтому, несмотря на то, основное время затрачено на подготовку и
осуществление компьютерного эксперимента, работа отнесена к предметной
области «Математика».
11
Глава 2. РЕЗУЛЬТАТЫ КОМПЬЮТЕРНОГО ЭКСПЕРИМЕНТА
2.1. Описание используемого словаря
Для данной работы на основе частотного словаря русского языка [8] был
создан словарь существительных. Частотный словарь оказался наиболее
удобным для импорта в базу MS Access из предложенных на этом сайте. К тому
же в нем содержалось отдельное поле «Морфологическое описание», по
которому было легко сделать выборку существительных.
Полученный словарь существительных был очищен от повторяющихся
слов и записей, содержащих небуквенные символы. В итоге получился словарь,
Количество букв
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
24
Итого:
Количество слов
29
331
999
1814
2117
2261
1939
1471
1093
675
420
286
185
92
57
32
13
7
2
3
1
13827
Таблица 2. Распределение количества слов в словаре по длине слова
12
содержащий 13827 слов. Таблица 2 показывает, сколько слов определенной
длины содержится в этом словаре.
С точки зрения статистики [6], таблица 2 является дискретным
вариационным рядом, первый столбец содержит варианты ряда (варианта –
значение варьирующего признака), второй – частоты (частота – численность
отдельной
варианты).
Таким
образом,
таблица
2
является
таблицей
распределения, которое наглядно представлено на рис.1. Отметим, что на оси
ординат используется логарифмическая шкала.
Рис 1. Гистограмма распределения количества слов в словаре по длине слова
13
2.2. Правила построения последовательностей слов
В
настоящей
работе
приняты
следующие
правила
построения
последовательностей.
1. Последовательность не должна содержать повторяющихся слов.
2. Каждое последующее слово получается заменой буквы на другом месте,
нежели в предыдущем.
3. Если последнее слово последовательности уже было последним в
другой, но более короткой, последовательности с тем же начальным
словом, то первая (более длинная) исключается из рассмотрения.
Другими словами, переход от слова к слову возможен только по
кратчайшему пути.
Выполнение
этих
правил
ограничивает
рост
количества
последовательностей за счет перестановок участков последовательностей.
Следует отметить, что каждой найденной последовательности слов
соответствует последовательность, составленная из тех же слов, только в
обратном порядке. Поэтому любое количество последовательностей заданной
длины является четным.
14
2.3. Описание программного обеспечения
и алгоритм построения последовательностей слов
Программное обеспечение для данной работы состоит из баз MS Access:
Словарь.accdb,
НовыеСлова1.accdb, ЦепочкиСлов1.accdb, Рабочая1.accdb,
НовыеСлова2.accdb, ЦепочкиСлов2.accdb, Рабочая2.accdb.
В базе Словарь.accdb находится импортированный частотный словарь,
средства обработки, алфавитная таблица и таблица СловарьСуществительных.
Файлы, помеченные цифрой 1, предназначены для работы по правилу замены 1,
помеченные цифрой 2 – для работы по правилу замены 2. Содержимое этих
файлов идентично по структуре.
В
файлах
НовыеСлова
содержатся
таблицы
НовыеСловаВсе
и
НовыеСлова. В таблицу НовыеСловаВсе помещались все слова – осмысленные
и бессмысленные, – полученные заменой букв. В таблицу НовыеСлова
помещались пары кодов слов – старого и нового, если новое слово содержалось
в словаре (т.е. было осмысленным) и не совпадало со старым.
В файлах ЦепочкиСлов содержатся таблицы с названиями 02, 03, 04 и т.д.,
в
которые
записывались
коды
слов,
образующих
последовательность
соответствующей длины (2 слова, 3, 4 и т.д.).
В файлах Рабочая содержатся запросы и процедуры для работы со
связанными таблицами из других баз.
Алгоритм построения последовательностей слов состоит из следующих
действий.
1. С
помощью
процедуры
FillNewWordsAll
заполняется
таблица
НовыеСловаВсе. В приложениях 1 и 2 приведены коды для правил
замены 1 и 2.
2. Запросом
INSERT INTO НовоеСлово ( КодСловаСт, КодСловаНов, ИзмененнаяБуква )
SELECT КодСловаСт, КодСловаНов, ИзмененнаяБуква
15
FROM НовоеСловоВсе
WHERE КодСловаСт<>КодСловаНов AND КодСловаНов Is Not Null;
заполняется таблица НовыеСлова
3. Из таблицы НовыеСлова записи переносятся в таблицу 02, затем
заполняются таблицы 03, 04 и т.д. запросами вида
INSERT INTO [07] ( Код1, Код2, ИзмБуква2, Код3, ИзмБуква3, Код4, ИзмБуква4,
Код5, ИзмБуква5, Код6, ИзмБуква6, Код7, ИзмБуква7 )
SELECT [06].Код1, [06].Код2, [06].ИзмБуква2, [06].Код3, [06].ИзмБуква3,
[06].Код4, [06].ИзмБуква4, [06].Код5, [06].ИзмБуква5, [06].Код6,
[06].ИзмБуква6, НовоеСлово.КодСловаНов, НовоеСлово.ИзмененнаяБуква
FROM [06] INNER JOIN НовоеСлово ON [06].Код6 = НовоеСлово.КодСловаСт
GROUP BY [06].Код1, [06].Код2, [06].ИзмБуква2, [06].Код3, [06].ИзмБуква3,
[06].Код4, [06].ИзмБуква4, [06].Код5, [06].ИзмБуква5, [06].Код6,
[06].ИзмБуква6, НовоеСлово.КодСловаНов, НовоеСлово.ИзмененнаяБуква
HAVING НовоеСлово.КодСловаНов<>[06].Код1 And
НовоеСлово.КодСловаНов<>[06].Код2 And
НовоеСлово.КодСловаНов<>[06].Код3 And
НовоеСлово.КодСловаНов<>[06].Код4 And
НовоеСлово.КодСловаНов<>[06].Код5 AND
НовоеСлово.ИзмененнаяБуква<>[06].ИзмБуква6;
Этот запрос реализует правила 1 и 2 построения последовательностей.
Дополнительными запросами реализуется правило 3.
16
2.4. Распределения количества последовательностей
Результаты работы с правилом замены 1 отражены в таблицах 3а-в. На рис.
2 построены полигоны распределений количества последовательностей по
длине начального слова при фиксированной длине последовательности. Для
наглядности приведен и полигон распределения из таблицы 2.
Букв в
слове
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
24
Количество последовательностей с длиной (в словах):
2
3
4
5
6
7
8
86
114
86
36
20
6
1898
8212
25894
57642
64642 29730
7830
2690
7040
17334
36852
62688 84068 90392
2396
4506
9188
17336
24660 23782 18592
800
392
186
82
42
22
10
598
322
222
164
124
114
102
230
40
8
2
156
40
16
10
4
60
8
22
2
6
4
8946
20676
52934
112124
152180 137722 116926
Таблица 3а. Характеристики последовательностей, полученных по правилу замены 1
17
Букв
Количество последовательностей с длиной (в словах):
в
слове
9
10
11
12
13
14
15
16
17
2
3 2080
300
4
4 77596 58074 39722 25528 14236 6824 3036 1246
666
5 13550 9612 7544 5480 3544 2468 1774 1066
756
6
2
7
90
68
72
64
46
30
28
18
4
8
9
10
93318 68054 47342 31072 17826 9322 4838 2330 1426
Таблица 3б. Характеристики последовательностей, полученных по правилу замены 1
Букв
в
слове
2
3
4
5
6
7
8
9
10
Количество последовательностей с длиной (в словах):
18
19
20
21
22
23
24
25
26
324
538
102
416
52
322
12
244
192
130
60
30
2
862
518
374
256
192
130
60
30
2
Таблица 3в. Характеристики последовательностей, полученных по правилу замены 1
Видно, что максимум графика, соответствующий в исходном полигоне
значению на оси абсцисс 7, быстро смещается к значению 3, а затем к значению
4. С уменьшением значения максимума он смещается к значению 5. Отметим
также, что локальный максимум на правом краю первого графика быстро
смещается влево и исчезает. В точках 7 и 9 формируются новые локальные
максимумы, из них более устойчивым оказывается максимум в точке 7.
18
Рис.2. Полигоны распределений количества последовательностей
по длине начального слова (правило замены 1)
Результаты работы с правилом замены 2 отражены в таблице 4. На рис. 3
построены полигоны распределений количества последовательностей по длине
начального слова при фиксированной длине последовательности. Хорошо
заметна та же тенденция смещения максимума графика из точки 7 в точку 3, а
затем в точку 5, однако значение максимума при этом уменьшается. Локальный
максимум с правого края первого графика также быстро смещается влево и
поглощается максимумом в точке 5. Так же видно, как происходит смещение
влево и угасаниие локального максимума с правого края первого графика, а
также формирование максимумов в точках 7 и 9.
19
Букв в
слове
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
24
Количество последовательностей с длиной:
2 слова
18
232
334
284
94
84
18
18
8
3 слова
2
68
78
66
4
14
4 слова
5 слов
6 слов
7 слов
8 слов
24
24
22
10
6
10
4
6
4
2
232
74
26
10
4
2
4
2
1092
Таблица 4. Характеристики последовательностей, полученных по правилу замены 2
20
Рис.3. Полигоны распределений количества последовательностей по длине начального слова
(правило замены 2)
Данные таблиц 3а-в и 4 позволяют также построить распределения
количества
последовательностей
фиксированной
длине
по
начального
длине
слова.
последовательности
Основное
при
количество
последовательностей в 2 слова приходится на последовательности с трех-,
четырех- и пятибуквенными словами (около 80% от общего количества).
Поэтому особенности последовательностей с такими начальными словами
определяют характер суммарных распределений по длине последовательности.
На рис.4 и 5 приведены распределения количества последовательностей по
длине
последовательности,
полученные
для
правил
замены
соответственно. Видно, что они имеют совершенно разный характер.
1
и
2
21
Рис.4. Гистограмма распределения количества последовательностей
по длине последовательности (правило замены 1)
Рис.5. Гистограмма распределения количества последовательностей
по длине последовательности (правило замены 2)
22
2.5. Последовательности слов
Приведем последовательности слов наибольшей длины, полученные по
правилу замены 1:
покой – покос – понос – донос – донор – дозор – позор – побор – побои –
помои – помол – посол – посох – порох – порок – парок – зарок – задок –
садок – сачок – сучок – сурок – сырок – сынок – рынок – рывок
и по правилу замены 2:
галка – палка – папка – лапка – ласка – маска – мамка – самка
23
2.6. Выводы
Анализ полученных результатов показал, что распределениям количества
последовательностей по длине начального слова, соответствующим различным
модификациям правила замены букв, присущи одинаковые характерные
особенности. По-видимому, они определяются особенностями использованного
словаря.
С другой стороны, оказалось, что свойства распределений количества
последовательностей по длине последовательности сильно зависят от правила
замены букв.
24
ЗАКЛЮЧЕНИЕ
В ходе работы получены следующие основные результаты:
1. Получены комбинаторные оценки количества вариантов замены букв в
слове.
2. Изучены основы работы с MS Access.
3. Разработано программное обеспечение в форме комплекса баз данных MS
Access, содержащих необходимые таблицы, запросы на языке SQL и модули
на языке VBA.
4. С
помощью
разработанного
программного
обеспечения
на
основе
выбранного словаря созданы банки последовательностей слов для двух
модификаций правила замены букв и проанализированы распределения
количества последовательностей по длине начального слова и длине
последовательности.
Вывод: показано, что распределения количества последовательностей по длине
начального слова обладают характерными особенностями, обусловленными
свойствами
использованного
последовательностей
по
длине
словаря,
а
распределения
последовательности
–
количества
особенностями,
обусловленными различиями в правилах замены. Гипотеза исследования
подтверждена.
25
СПИСОК ЛИТЕРАТУРЫ
1. Бекаревич, Ю. Самоучитель Access 2010 /Ю. Бекаревич, Н. Пушкина. –
СПб.: БХВ-Петербург, 2011. – 432 с.
2. Болтянский, В.Г. Наглядная топология. /В.Г. Болтянский, В.А. Ефремович. –
М.: «Наука», Главная редакция физико-математической литературы, 1982. –
160 с.
3. Виленкин, Н.Я. Комбинаторика /Н.Я. Виленкин, А.Н. Виленкин, П.А.
Виленкин. – М.: ФИМА, МЦНМО, 2010. – 400 с.
4. Горшенин, К.П. Учебно-исследовательская работа «Топологический анализ
букв различных алфавитов» /К.П. Горшенин, Т.В. Горшенина //Математика
в школе, 2013. – №4. – С.54-61.
5. Колмогоров, А.Н. Алгебра и начала математического анализа. 10-11 классы
/А.Н. Колмогоров, А.М. Абрамов, Ю.П. Дудницын, Б.М. Ивлев, С.П.
Шварцбурд. – М.: Просвещение, 2011. – 464 с.
6. Елисеева, И.И. Общая теория статистики [Электронный ресурс] Адрес:
http://uchebnik.biz/book_section/27-statistika.html
7. Федеральный
государственный
образовательный
стандарт
основного
общего образования [Электронный ресурс] Адрес: http://standart.edu.ru.
8. Частотный
словарь
http://www.speakrus.ru/dict/.
[Электронный
ресурс]
Адрес:
26
Приложение 1. Процедура для заполнения таблицы НовыеСловаВсе
при замене букв по правилу 1
Sub FillNewWordsAll()
Dim rsLetters As Recordset
Dim rs As Recordset
DoCmd.SetWarnings False
Set rsLetters = CurrentDb.OpenRecordset("ВсеБуквы")
Set rs = CurrentDb.OpenRecordset("SELECT КодСлова, Слово FROM
СловарьСуществительных;")
rs.MoveFirst
Do Until rs.EOF
wrd = rs.Fields("Слово ")
wrdCode = rs.Fields("КодСлова ")
wrdLength = Len(wrd)
For i = 1 To wrdLength
Select Case i
Case 1
wrdL = ""
wrdR = Right(wrd, wrdLength - 1)
Case wordLength
wrdL = Left(wrd, wrdLength - 1)
wrdR = ""
Case Else
wrdL = Left(wrd, i - 1)
wrdR = Right(wrd, wrdLength - i)
End Select
rsLetters.MoveFirst
Do Until rsLetters.EOF
DoCmd.RunSQL _
"INSERT INTO НовыеСловаВсе(КодСловаСт, СловоНов, ИзмененнаяБуква) " & _
"VALUES (" & wrdCode & ", '" & wrdL & rsLetters("Буква") & wrdR & "' , " & i & ");"
rsLetters.MoveNext
Loop
Next i
rs.MoveNext
Loop
DoCmd.SetWarnings True
End Sub
27
Приложение 2. Процедура для заполнения таблицы НовыеСловаВсе
при замене букв по правилу 2
Sub FillNewWordsAll ()
Dim rsLetters As Recordset
Dim rsClass As Recordset
Dim rs As Recordset
DoCmd.SetWarnings False
Set rs = CurrentDb.OpenRecordset("SELECT КодСлова, Слово FROM
СловарьСуществительных;")
rs.MoveFirst
Do Until rs.EOF
wrd = rs.Fields("Слово ")
wrdCode = rs.Fields("КодСлова ")
wrdLength = Len(wrd)
For i = 1 To wrdLength
Select Case i
Case 1
wrdL = ""
wrdR = Right(wrd, wrdLength - 1)
Case wordLength
wrdL = Left(wrd, wrdLength - 1)
wrdR = ""
Case Else
wrdL = Left(wrd, i - 1)
wrdR = Right(wrd, wrdLength - i)
End Select
Set rsClass = CurrentDb.OpenRecordset("SELECT Класс FROM ВсеБуквы WHERE
Буква='" & Mid(wrd, i, 1) & "';")
Set rsLetters = CurrentDb.OpenRecordset("SELECT Буква FROM ВсеБуквы WHERE
Класс=" & rsClass("Класс") & ";")
rsLetters.MoveFirst
Do Until rsLetters.EOF
DoCmd.RunSQL _
"INSERT INTO НовыеСловаВсе(КодСловаСт, СловоНов, ИзмененнаяБуква) " & _
"VALUES (" & wrdCode & ", '" & wrdL & rsLetters("Буква") & wrdR & "' , " & i & ");"
rsLetters.MoveNext
Loop
Next i
rs.MoveNext
Loop
DoCmd.SetWarnings True
End Sub
Download