Разработка алгоритмов


7.1. Главный алгоритм программы:

Открывается шифрованный файл ( shifr ) , расшифровывается в другой файл ( norm ). Строки этого файла заносится в список строк компонента ListBox, после этого расшифрованный файл( norm) удаляется с диска. Далее вся работа происходить со списком строк ListBox. А именно создается массив questions[count], содержащий порядковые номера вопросов в списке. Вызывается ф-я rand_func( count, rand_q), где count – это число вопросов в тесте, и создается массив cлучайных порядковых номеров вопросов, который будет использоваться для вывода вопросов в ф-ии output_q.

: Схема расшифровки файла:

clip_image001Вызывается ф-я output_q, которая сначала проверяет равенство текущего вопроса последнему вопросу теста, выводит вопрос и ответы к нему.Далее программа приостанавливается, ожидая действий пользователя, если он нажмет на кнопку «Следующий вопрос» она программа проверит его ответ, очистит память от старого списка ответов и перейдет к следующему вопросу. И так до тех пор пока current_question<count. Если же вопросов не осталось, выводиться результат с последующим обнулением всех необходимых переменных.

7.2. Процедура шифрования:

Открывается обычный текстовый файл, посимвольнокопируем в другой файл символы смещенные на 20 вправо ( относительно таблицы ASCII ), сохраняем зашифрованный файл в нужном месте.

7.3. Процедура расшифровки:

Открывается зашифрованный файл, посимвольно переписывается в другой файл, смещая при этом код ASCII на 20 единиц влево, строки этого файла заносятся в список ListBox, удаление расшифрованного файла с диска.

7.4. Алгоритм вывода ответов как неупорядоченной последовательности.

Случайный вывод ответов сводится к случайному выводу элементов уже созданного списка List, который содержит указатели на переменные структуры Rec.

Cоздается массив неупорядоченных чисел, размер которого равен количеству ответов. Вывод происходит в цикле, счетчик которого равен количеству ответов. Переменная цикла является индексом у массива случайных порядковых номеров. Элементы же случайного массива , в свою очередь являются индексом у списка List. В этом же цикле устанавливается и высота расположения компонентов структуры Rec, равная сумме высоты предыдущего компонента и константы 30

Загрузка...