![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Работа с Pattern'ами |
|
C/C++ - Работа с Pattern'ами
|
![]() Старожил Сообщения: 281 |
Доброго времени суток.
Задача: Написать набор классов для генерации тестовых данных. Структура представляется в виде совокупности объектов различного класса. Д.б. классы для выбора, циклов и других элементов. У всех классов д.б. метод generate, выводящий в файл результат генерации. Класс последовательность Seq(), в которую можно добавлять (.add()) следующие элементы: целое число, ссылку на переменную или строку, указанное значение выводится при генерации Объекты классов: Any(строка) при генерации выводится случайный символ из строки Per(строка) при генерации выводится случайная перестановка символов строки Format(число или переменная, строка) при генерации выводится значение по указанному формату Rep(целое число или переменная, элемент) действие повторяется заданное число раз While(переменная, элемент) действие повторяется пока значение переменной не нулевое другие последовательность или Select().add(элемент [,целое число=1]).add(... группа выбора, элемент из группы выбирается с вероятностью прямо пропорциональной числу Assign(переменная, выражение) при генерации переменной присваивается выражение выражение строится из объектов Random(целое число или переменная,целое число или переменная) случайное значение в указанном диапазоне целых чисел и переменных, соединяемых знаками операций +, -, *, /, % Пример работы: Var N; Seq s1; s1.add(Assign(N,Random(1,100))).add(N).add("\n"); // присвоить N случайное число от 1 до 100, вывести N, вывести "\n" s1.add(Rep(N,Seq().add(Rep(10,Any("ABC"))).add("\n")); // выполнить N раз вывод строки из 10 случайных символов A,B или C s1.generate(); // сгенерировать тест, результат выводится в cout Пример сгенерированного теста: 3 ABBACCAAAB ACBBBACAAC BBACCCCAAA Вопрос: Подскажите, какова структура должна быть классов,чтобы решить подобную задачу. Что я должен почитать,где посмотреть примеры реализации подобного? Какие паттерны мне надо использовать? (пока догадался только о "Composite",тк без него тут не сделать вовсе,утону или в шаблонах или в виртуальных методах) |
|
------- Отправлено: 16:22, 17-06-2010 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Проблема с некоторыми UIN'ами в ICQ на кпк | CJ F.A.N. | Мобильные ОС, смартфоны и планшеты | 3 | 29-12-2009 03:06 | |
Верстка DIV'ами (разлазится в IE6) | darksmoke | Вебмастеру | 5 | 27-12-2009 13:54 | |
Прочие БД - sql-запрос с join'ами | M1sha | Программирование и базы данных | 9 | 27-08-2009 21:02 | |
Cisco - доступ между Vlan-ами | temich77 | Сетевое оборудование | 1 | 23-06-2008 12:57 | |
Проблема с Wi-Fi сеткой между двумя Acer'ами | Trali vali | Сетевое оборудование | 9 | 16-05-2008 19:00 |
|