uzluga.ru
добавить свой файл

Курсовой проект №2. Тесты простоты и тесты разложимости


  1. Цель курсового проекта


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


  1. Методические указания

Для выполнения курсового проекта следует ознакомиться с теоретическим введением Тесты простоты и тесты разложимости, а также с соответствующими разделами литературных источников и ответить на Контрольные вопросы. Предполагается также, что усвоены разделы Назначение, Инструкция и Вычисления (в кольцах Z и Zn) страницы Алгебраический процессор, а также функции библиотеки Алгебраический процессор, используемые при выполнении курсового проекта №1 данного раздела.

Программирование осуществить в среде Builder 6.0. с использованием библиотеки MPEI AAL, размещенной в архиве MPEI AAL, доступном с главной страницы Алгебраического процессора. Следует также ознакомиться с методическими указаниями к использованию этой библиотеки в том же архиве.

Результаты выполнения курсового проекта представьте в пояснительной записке, в которой должны также присутствовать определения всех использованных в формулировке задания терминов, реализованных при выполнении задания тестов простоты и разложимости, а также тексты разработанных программ и результаты вычислений в соответствии с приведенными в заданиях указаниями или примерами.

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


3.Задания


Задание 1. С использованием функций Алгебраического процессора напишите программу на С++ для реализации теста Миллера-Рабина и примените ее к нескольким большим числам Мерсенна.

Задание 2. Тесты простоты Люка. С использованием функций Алгебраического процессора напишите программу на С++ для теста Люка и модифицированный тест Люка и примените ее к большим числам Мерсенна M(n), прошедшим тест Миллера-Рабина, используя данные о разложении чисел M(n)1, получаемые с помощью функции Разложение порядка Алгебраического процессораПротестируйте написанные программы на соответствие получаемых с их помощью результатов результатам применения функций Тест Люка и Тест Люка-Лемера Алгебраического процессора. В отчете представьте результатs тестирования.

Задание 3. Тесты простоты Поклингтона. С использованием функций Алгебраического процессора напишите программы на С++ для теста Поклингтона и модифицированный тест Поклингтона и примените из к большим числам Мерсенна M(n), прошедшим тест Миллера-Рабина, используя частично данные о разложении чисел M(n)1, получаемые с помощью функции Разложение порядка Алгебраического процессора (в качестве делителя s числа n1, большего n1 используйте произведение некоторых простых делителей q числа Мерсенна). Проверьте соответствие полученного результата результатам применения функций Тест Люка и Тест Люка-Лемера Алгебраического процессора. В отчете представьте результатs тестирования.


Задание 4. Порождение простых чисел n с известным разложением числа n1. С использованием функций Алгебраического процессора напишите программы на С++ для генерации больших простых чисел с использованием теста Люка, модифицированный тест Люка и тест Нестеренко, найти с их помощью простые числа n=sr+1 c известным разложением числа n1.


4. Защита курсового проекта


Для защиты курсового проекта следует представить пояснительную записку, соответствующие требованиям Методических указаний, продемонстрировать разработанные компьютерные программы и подтвердить знание теоретических оснований выполненной работы.