А как Вы развлекаетесь в свободное время?
Когда-то давно я думала о том, как лучше обучать детей чтению. По моим наблюдениям, удобнее всего работать со складами (в понимании Зайцева, см. кубики Зайцева), но использовать не только и не столько кубики (просто потому что они занимают много места и или дорого стоят, или их долго делать самим, поверьте, ради одного-трех детей точно не стоит, если вы не школа, сад или другое учебное заведение, там нормально), а какие-то более простые штуки, например таблицы или карточки (просто бумажки на которых написаны склады - делается 2 минуты, надоело - выбросил, не хватило - дописал).
Но... не все склады так нужны на обучении на начальном этапе. Много ли слов Вы мне сейчас назовете, например, со складом "чэ" или "чя"? (вопрос с подвохом, узнаете почему ниже)
Но даже если не брать экзотичную экзотику "вю", "кы", "фэ" и "фя" тоже потребуются ребенку очень и очень не скоро и точно ни на первых этапах.
С чего же тогда начать?
Когда у меня было ну очень много свободного времени, я открыла сайт, где можно искать слова по определенному критерию и проверила 200 складов (все согласные со всеми гласными) на количество находимых слов.
Еще раз, я открыла сайт (не помню чем конкретно тогда пользовалась, например https://wordhelp.ru/) в котором можно найти все слова, содержащие "ма", потом "му", потом "ми" ну и так далее 200 раз и количество найденных слов записала в таблицу.
Вот что у меня получилось:
Здесь цветом выделена частота - красное = редко, зеленое = часто, желтое = средне.
Вот эти же данные немного в другом виде - каких букв больше.
Эта таблица лежит у меня довольно давно, чтобы она те потерялась и вдруг кому пригодится я решила написать этот пост. Но у же в процессе написания я поняла, что надо составить список по частоте и приложить его тоже. Делать это вручную, понятное дело, лень и долго и нет смысла. Тут понятно, что можно для экселя написать макрос (это внутреннее программирование к эксель), который выстроит их по порядку, но честно говоря и макрос писать немного лень, потому что я давно я их не писала уже. В принципе написать могу, но, поскольку пользуюсь ими редко они получаются маленько корявые и всё равно это минимум минут 30.
(тем, кому не интересны технические подробности, пропустите текст на темном фоне)
Но, мы же живем в век соцсетей, я пока что пользуюсь чаще дипсиком. Вот мой промт:
привет, у меня есть таблица в эксель 21 столбец (с V по AP) и 11 строк (с 1 по 11) в 1 строк и столбце V содержатся заголовки.
Напиши макрос, который позволит составить список из 200 значений этой таблицы по возрастанию значений, в таком виде : "заголовок столбца" сцепить с "заголовок строки" - значение ячейки
Вот его ответ:
Sub SortTableValues()
    Dim ws As Worksheet
    Dim dataRange As Range
    Dim cell As Range
    Dim dataList() As Variant
    Dim i As Long, j As Long, k As Long
    Dim outputWs As Worksheet
    Dim lastRow As Long
    
    ' Указываем лист с данными (измените при необходимости)
    Set ws = ThisWorkbook.Sheets("Лист1") ' Замените на имя вашего листа
    
    ' Определяем диапазон данных (V1:AP11)
    Set dataRange = ws.Range("V1:AP11")
    
    ' Создаем временный массив для хранения данных
    ReDim dataList(1 To dataRange.Rows.Count * dataRange.Columns.Count, 1 To 2)
    
    k = 1
    
    ' Заполняем массив данными в формате "Значение - Заголовок"
    For i = 2 To dataRange.Rows.Count ' Начинаем со 2 строки (первая - заголовки)
        For j = 2 To dataRange.Columns.Count ' Начинаем со 2 столбца (первый - заголовки)
            If Not IsEmpty(dataRange.Cells(i, j).Value) Then
                dataList(k, 1) = dataRange.Cells(i, j).Value ' Значение ячейки
                dataList(k, 2) = dataRange.Cells(1, j).Value & " - " & dataRange.Cells(i, 1).Value ' Заголовки
                k = k + 1
            End If
        Next j
    Next i
    
    ' Сортируем массив по значениям (1 столбец)
    Call QuickSort(dataList, 1, k - 1, 1)
    
    ' Создаем новый лист для вывода (или очищаем существующий)
    On Error Resume Next
    Set outputWs = ThisWorkbook.Sheets("Отсортированные данные")
    If outputWs Is Nothing Then
        Set outputWs = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        outputWs.Name = "Отсортированные данные"
    Else
        outputWs.Cells.Clear
    End If
    On Error GoTo 0
    
    ' Записываем заголовки
    outputWs.Range("A1").Value = "№"
    outputWs.Range("B1").Value = "Элемент"
    outputWs.Range("C1").Value = "Значение"
    
    ' Выводим первые 200 значений (или меньше, если данных недостаточно)
    For i = 1 To Application.Min(200, k - 1)
        outputWs.Cells(i + 1, 1).Value = i
        outputWs.Cells(i + 1, 2).Value = dataList(i, 2)
        outputWs.Cells(i + 1, 3).Value = dataList(i, 1)
    Next i
    
    ' Форматируем вывод
    outputWs.Columns("A:C").AutoFit
    outputWs.Range("A1:C1").Font.Bold = True
    
    MsgBox "Готово! Отсортированные данные сохранены на листе '" & outputWs.Name & "'.", vbInformation
End Sub
' Быстрая сортировка (QuickSort) для двумерного массива
Sub QuickSort(arr, ByVal first As Long, ByVal last As Long, ByVal col As Long)
    Dim i As Long, j As Long
    Dim pivot As Variant, temp As Variant
    
    i = first
    j = last
    pivot = arr((first + last) \ 2, col)
    
    Do While i <= j
        Do While arr(i, col) < pivot And i < last
            i = i + 1
        Loop
        Do While arr(j, col) > pivot And j > first
            j = j - 1
        Loop
        
        If i <= j Then
            ' Меняем местами обе части массива
            temp = arr(i, 1)
            arr(i, 1) = arr(j, 1)
            arr(j, 1) = temp
            
            temp = arr(i, 2)
            arr(i, 2) = arr(j, 2)
            arr(j, 2) = temp
            
            i = i + 1
            j = j - 1
        End If
    Loop
    
    If first < j Then QuickSort arr, first, j, col
    If i < last Then QuickSort arr, i, last, col
End SubКак использовать:
- Откройте Excel и нажмите - Alt + F11, чтобы открыть редактор VBA.
 
- Вставьте этот код в новый модуль (- Insert→- Module).
 
- Запустите макрос (- F5или через меню- Run).
 
- Результат появится на новом листе "Отсортированные данные" в формате: - Столбец A: Порядковый номер 
- Столбец B: "Заголовок столбца - Заголовок строки" 
- Столбец C: Значение ячейки 
 
Примечания:
- Макрос берет данные из диапазона V1:AP11. 
- Если значений меньше 200, выведет все доступные. 
- Пустые ячейки игнорируются. 
Нужно что-то изменить под ваши задачи? 😊
Раньше я просила помочь написать макрос у чата GPT, но чаще всего приходилось их допиливать, что не очень удобно, тут толи я лучше стала писать запросы, толи задача проще, но вставленный макрос сразу выдал нужный результат. Единственный минус, что склады он мне сделал в виде: " М - А", но это просто исправить Ctrl + H в экселе и ворде это замена, пишем, что нам надо заменить " - " (пробел тире пробел) на ничего и нажимаем "заменить все". Получаем список просто складов.
А вот и он, пользуйтесь на здоровье!
НИ	28686
РО	23640
КА	21740
НО	18635
РА	18439
ТО	16969
РИ	16140
ТИ	15420
ЛИ	14754
ЛО	13197
ТЕ	12787
КО	12227
РЕ	11459
ТА	11195
ЛЕ	11190
ВА	10647
НА	10351
ДИ	10317
НЕ	10129
ПО	10119
МЕ	10024
ЛА	9868
МА	9792
МИ	9342
МО	8669
ЦИ	8080
ВО	7411
СИ	7263
ПЕ	7056
ДЕ	7018
ГИ	6521
ДО	6451
ВЕ	6343
ЗА	6326
ПА	5931
ПИ	5818
ЗО	5660
ВИ	5384
ФО	5262
ГА	4957
ГЕ	4831
СА	4783
ГО	4768
СЕ	4726
СО	4705
ЗИ	4538
БЕ	4505
ФИ	4500
БО	4333
БИ	4118
БА	3993
КИ	3918
ДА	3913
ЦЕ	3462
ФЕ	3424
РУ	3227
ЧЕ	3076
КУ	3026
ЧА	2964
ЧИ	2925
ЦА	2861
ЩИ	2850
ХО	2654
СУ	2643
ТУ	2601
ФА	2522
ЛУ	2466
БУ	2368
ХИ	2123
КЕ	2081
ЖЕ	1854
ЛЯ	1752
ВЫ	1750
ХА	1739
ЛЮ	1611
ТЫ	1598
ШЕ	1588
МУ	1559
ЖИ	1558
ПУ	1511
ЗЕ	1478
ДУ	1460
ШИ	1419
ША	1334
ГУ	1203
ЩЕ	1175
РЫ	1145
ЖА	1135
РЯ	1013
НУ	970
НЯ	820
ФУ	815
НЫ	798
ВУ	719
СЫ	635
ХЕ	621
МЫ	572
ЗУ	571
ДЫ	525
ЛЁ	496
ЛЫ	485
ВЯ	428
ТЯ	410
ПЫ	406
ЧУ	400
ЗЫ	395
БЫ	349
ЧО	326
ЩА	320
СЯ	290
МЯ	290
ЖО	284
ШО	278
ШУ	271
ХУ	265
ТЮ	248
РЮ	240
ТЁ	239
ЦО	229
РЭ	221
РЁ	211
ЛЭ	209
ПЯ	209
ЖУ	198
ЧЁ	167
ДЁ	132
НЁ	131
ЗЯ	129
ЦЫ	122
ДЯ	105
ДЮ	104
БЮ	101
--------------------------------------
ВЁ	99
НЭ	96
НЮ	87
МЁ	86
ЖЁ	84
ЩУ	81
ТЭ	75
ЦУ	75
СЮ	72
ШЁ	70
КЮ	65
ДЭ	64
ЩЁ	63
МЭ	62
БЭ	58
БЯ	54
СЁ	54
МЮ 50
ЗЁ	50
ПЁ	49
ФЫ	46
ФЮ	43
ЗЮ	42
БЁ	39
ГЭ	34
КЫ	34
ВЮ	34
ХЭ	33
СЭ	31
КЭ	29
ШЮ 29
ЗЭ	24
ВЭ	24
ПЭ	21
ГЮ	20
КЁ	17
ПЮ	16
ЩО	15
ФЯ	13
ФЭ	13
КЯ	12
ЦЮ	11
ЖЮ 11
ФЁ	9
ХЫ	8
ГЫ	8
ШЭ	6
ХЯ	6
ЦЭ	5
ЦЯ	5
ШЯ	4
ГЯ	4
ХЮ	3
ЖЭ	3
ГЁ	2
ЖЯ	1
ЧЯ	1
ЩЯ	1
ЩЮ 0
ЩЭ	0
ЧЮ	0
ХЁ	0
ЦЁ	0
ШЫ 0
ЖЫ	0
ЩЫ 0
ЧЫ	0
ЧЭ	0
Сейчас просматривая всё это у меня самой возникают вопросы - а как же "ся", ведь оно в каждом втором глаголе!? Такого не может быть! Знаю, вижу. Я рассказала вам как этот список появился и почему, мне кажется, что для основы его вполне можно взять, а дальше каждый доработает под себя.
Какой вывод можно сделать? Из 200 складов около 70 скорее всего не встретятся ребенку, только начинающему читать и писать, можно их на начальном этапе смело опустить.
Наши любимки на начальном этапе это склады с А И О Е, ну это не удивительно. Но даже из них можно спокойно убрать "ща", "чо", "жо", "шо", "цо", "що". Ё и Ю можно оставить только в сочетании с Л, а про Э вообще первое время не говорить. 
Меня лично больше всех удивила Ы...поскольку "вы" "ры" и "ты" оказались достаточно частыми.
Пишите, если кто-то продвинется дальше в этом вопросе. Мне будет очень интересно!
Мы с Алисой, Дальяной и Миланой желаем вам счастья!