Основы теории чисел. Защита информации. Отчёт по лабораторной работе Основы теории чисел по дисциплине Защита информации
Скачать 31.25 Kb.
|
2022 ЦЕЛЬ РАБОТЫ изучить основные понятия, теоремы и алгоритмы теории чисел, используемые в криптографии. ВАРИАНТ ЗАДАНИЯ Задание: Составить схему алгоритма и написать программу, реализующую следующие функции: нахождения наибольшего общего делителя двух чисел на основе алгоритма Евклида; нахождения последовательности простых чисел, не превосходящих данного N, на основе алгоритма Эратосфена; отыскания функции Эйлера для положительного целого числа; отыскания решения линейного сравнения. Полученные алгоритмы оформить в виде отдельного модуля (библиотеки). ХОД РАБОТЫ Написана программа, которая из трех заданных пользователем чисел выбирает наибольшее. #include "iostream" using namespace std; int main() { int n[3]; int num; cout << "Enter three numbers" << endl; for (int i = 0; i < 3; ++i) { cin >> n[i]; } int max = n[0]; for (int i = 1; i < 3; i++) { if (n[i] > max) max = n[i]; } cout << "The max number: " << max << endl; } Составим 4 таблицы лексического анализатора Внутренние таблицы лексического анализатора
Вывод лексического анализатора
Согласно таблицам, составим дескрипторный текст исходного кода программы: Дескрипторный текст: (20,1) (10,1) (20,2) (10,2) (20,3) (10,3) (10,4) (10,5) (20,4) (10,6) (10,7) (20,5) (20,6) (20,7) (10,6) (30,1) (20,8) (40,1) (20,9) (20,4) (10,6) (30,2) (20,4) (10,8) (20,10) (20,10) (20,2) (30,3) (30,4) (30,5) (20,3) (20,10) (20,10) (10,9) (20,4) (10,10) (20,5) (10,6) (30,6) (20,11) (40,2) (20,4) (30,6) (20,10) (40,1) (20,4) (20,12) (20,12) (30,6) (20,6) (20,7) (10,11) (20,13) (20,13) (30,1) (20,8) (30,6) (20,9) (20,4) (20,14) (10,6) (30,7) (20,11) (30,1) (20,8) (40,2) (20,9) (20,4) (10,10) (20,5) (10,6) (30,6) (20,11) (40,3) (20,4) (30,6) (20,10) (40,1) (20,4) (30,6) (20,12) (20,12) (20,6) (20,7) (10,12) (20,5) (30,1) (20,8) (30,6) (20,9) (20,13) (30,7) (20,6) (30,7) (20,11) (30,1) (20,8) (30,6) (20,9) (20,4) (20,14) (10,8) (20,10) (20,10) (20,2) (30,8) (30,7) (30,9) (20,15) (20,3) (20,10) (20,10) (30,7) (20,10) (20,10) (10,9) (20,4) (20,14) ВЫВОД В ходе выполнения лабораторной работы были разработаны и реализованы программа поиска наибольше числа из трёх, составлены таблицы лексического анализатора, а также дескрипторный текст исходного кода программы. ЛИСТИНГ ПРОГРАММЫ #include "iostream" using namespace std; int main() { int n[3]; int num; cout << "Enter three numbers" << endl; for (int i = 0; i < 3; ++i) { cin >> n[i]; } int max = n[0]; for (int i = 1; i < 3; i++) { if (n[i] > max) max = n[i]; } cout << "The max number: " << max << endl; } |