Генератор случайных букв, больших и маленьких Русского и Английского алфавитов, т.е. Кириллица и Латиница VBA Excel

Генераторы случайности - это весьма часто используемые алгоритмы.

  1. Формулировка задания по Генератору случайных букв или слов
  2. Каждый символ имеет свой числовой код. Маленькие и большие буквы
  3. Настройка генератора. Ограничение используемых символов. Создание набора символов
  4. Случайный выбор символа из набора
  5. Классы, упрощающие решение по случайной генерации букв
  6. Исходный код на VBA Excel

Области применения : Генерация паролей и ключей. Имитация случайного хода в играх. Тестирование алгоритмов программ на случайное сочетание данных.


Формулировка задания по Генератору случайных букв или слов

Задание : Разработать приложение, выдающее случайную последовательность символов (букв) из заданного (ограниченного) набора (массива). Предоставить пользователю возможность смены алфавитов и регистра символов.

Использовать по желанию Microsoft Word или Microsoft Excel.

Формулировка задания  по Генератору случайных букв или слов
Рис.1        Вариант решения по Генератору случайных букв или слов

Если словом (без учета смысла) считать несколько букв, после которых следует пробел или конец строки, то таблица (диапазон) выделенная пользователем - представляет столбец слов одинаковой длины. В заданиях обычно указывается длина слов для генерации.



Каждый символ имеет свой числовой код. Маленькие и большие буквы

Существует несколько видов кодировок, в каждой из которых символам присвоен определенный числовой код.

Как правило, символы Английского алфавита, цифры и многие знаки препинания имеют одинаковое значение в разных кодировках.

Этого нельзя сказать о символах Русского алфавита и многих других алфавитов.

Понятно, что заглавные и прописные буквы - это разные символы и, конечно, они имеют индивидуальный числовой код.

Это я пишу к тому, что нет смысла вычислять диапазоны в кодировках. Чтобы потом из них (этих диапазонов) выбирать случайным образом один из символов.
Сложно… Не рационально.



Настройка генератора. Ограничение используемых символов. Создание набора символов

По условиям задания, пользователь должен иметь возможность изменять алфавит…, но тогда, наверное, не лишним будет предоставить ему возможность объединить эти два алфавита.

Органы управления на «форме Настроек» предоставляют возможность широкого выбора набора симоволов по желанию пользователя.

по коду:

//------------------------------

GeneralSet = tap.Get_new_Set(CheckBox3.Value, CheckBox5.Value, CheckBox4.Value, CheckBox6.Value)
//------------------------------

Как вариант: метод Get_new_Set объекта tap, получая в виде параметров четыре логических значения, возвращает набор Символов, указанных пользователем в Настройках Генератора.



Случайный выбор символа из набора

После того, как определен набор символов (по желанию пользователя), то выбор отдельного или текущего символа выполняется по его индексу в наборе.

//------------------------------

Get_Symbol_Random = Mid(UserForm1.GeneralSet, i, 1)
//------------------------------

где i - случайное число, полученное из функции-генератора Rnd (больше 0, но меньше или равно количеству символов в наборе).



Классы, упрощающие решение по случайной генерации букв

Это прежде всего сама форма UserForm1, помогающая пользователю донести свои требования до программы.

И класс, который я назвал myTape. Он содержит поднаборы из которых собирается полный набор символов…



Исходный код на VBA Excel

Обязательно протестируйте... И не забудьте включить макросы...

Исходный код на VBA Excel
Рис.2        Исходный код на VBA Excel

скачать xlsm-файл для тестирования



Другие примеры на языке «Visual Basic for application - VBA»

Другие примеры на тему «Компьютерные игры (учебные, простенькие)»





Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...




Если на этой странице не нашлось того, что Вы так искали...

         Не расстраивайтесь, не все потеряно... Смело щелкайте...
исходный код на заказ. orenstudent.ru Автоматизация документов MS Office. orenstudent.ru исходный код на заказ. orenstudent.ru Помогите найти и устранить ошибку в исходном коде программы. orenstudent.ru Skype-консультирование по программированию
Скайп-консультации

Акция !!!
исходный код комментарии цена минимальная


Не попадайтесь на удочку мошенников-кидал...
Сайт помощи студентам по программированию и информатике

Program code