Федеральное агентство по образованию Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)
В.Н. Кирнос
КУРСОВЫЕ РАБОТЫ
ПО ИНФОРМАТИКЕ
Для студентов специальностей · 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем»
· 210202 «Проектирование и технология электронно-вычислительных систем», обучающихся по очной форме.
Методические указания к выполнению Пособие в электронном виде выложено в сети кафедры КИБЭВС на диске Cesir в папке AOS\KVN\2_kurs под именем Методичка по курсовым.doc Томск – В.Н. Кирнос КУРСОВЫЕ РАБОТЫ ПО ИНФОРМАТИКЕ – Томск:
ТУСУР, 2009, – 36 с.
Методические указания рассчитаны на студентов специальности 090105, 210202 дневной формы обучения. Так же могут быть полезны для студентов дистанционной и заочной форм обучения.
© Кафедра комплексной информационной безопасности ТУСУР, © Кирнос В.Н.,
СОДЕРЖАНИЕ
ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫВАРИАНТЫ ТЕМ КУРСОВЫХ РАБОТ
ПРАВИЛА ВЫПОЛНЕНИЯ И ОФОРМЛЕНИЯ КУРСОВОЙ РАБОТЫ
Общие положения
Общие требования к построению пояснительной записки (ПЗ)
Основная часть курсовой работы
Об анализе задачи.
Об описании алгоритма.
О выборе представления данных
О выборе тестов
Правила оформления ПЗ к курсовой работе
ПРИЛОЖЕНИЯ
Приложение 1. Форма титульного листа к курсовой работе
Приложение 2. Форма задания для курсового проекта
Приложение 3. Пример оформления содержания
Приложение 4. Пример списка литературы
ЭТАПЫ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
1. Выбор варианта задания.2. Постановка задачи и разработка предметной области 3. Определение методики решения поставленной задачи 4. Определение ограничений на решаемую задачу 5. Написание алгоритма 6. Реализация данного алгоритма в виде программного файла 7. Этап компиляции программы-создание загрузочного модуля, 8. Оформление пояснительной записки.
В соответствии с поставленной задачей необходимо разработать алгоритм и реализовать его в форме программы, написанной на языке высокого уровня С++. Выбор или разработка алгоритма и численного метода решения задачи имеют важнейшее значение для успешной работы над программой. Тщательно проработанный алгоритм решения задачи- необходимое условие эффективной работы по составлению программы.
Важную часть этапа разработки программы представляет собой отладка программы, которая заключается в устранении ошибок программирования, ошибок перевода алгоритма на язык программирования. Это доказательство того, что программа работает правильно т.е. дает правильный результат. Для этого разрабатывается система тестов, которые представляют собой специально подобранные наборы данных. При этом рассматриваются предельные значения, различные граничные условия параметров.
Если алгоритм решения задачи, структура программы и структура данных тщательно продуманы и аккуратно записаны, затраты времени на кодирование т.е. запись алгоритма на языке программирования уменьшаются, а вероятность ошибок на этом этапе снижается.
В ходе выполнения задания необходимо продемонстрировать знания и умения работать с операторами С++, использовать графические возможности языка, реализовать умение работать с файлами, записями и структурами.
Листинг программы должен содержать подробные комментарии (Результаты к которым приводит выполнение соответствующих операторов).
По результатам выполнения курсовой работы оформляется пояснительная записка.
Созданную программу (как в исходном виде, так и в виде исполняемого файла) студент предъявляет на компакт-диске, а пояснительную записку – в отпечатанном виде с оформлением по всем правилам (см. ниже).
ВАРИАНТЫ ТЕМ КУРСОВЫХ РАБОТ
1. Шифр Цезаря.Чтобы зашифровать текст, записанный с помощью русских букв и знаков препинания, его можно переписать, заменив каждую букву непосредственно следующей за ней буквой по алфавиту (буква Я заменяется на А). Обобщив этот способ шифровки, можно производить сдвиг не на одну букву, а на N букв (N – натуральное число) Создать программу, которая А) зашифрует введенный текст, Б) расшифрует данный текст 2. Шифровка последовательностей нулей и единиц Способ шифровки последовательностей нулей и единиц (или, например, точек и тире) состоит в следующем. Пусть a1, a2,… aN – такая последовательность. То, что предлагается в качестве ее шифра - это последовательность b1, … bN, образованная по следующему правилу:
b1=a1, bi = 1 при a i=ai-1 либо bi = 0 иначе (для i =2, … N) Пользуясь изложенным способом:
А) зашифровать данную последовательность Б) расшифровать данную последовательность 3. «Табличная шифровка».
Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим символом – его шифром. Выбрать некоторую таблицу, разработать способ ее представления, затем:
А) зашифровать данный текст Б) расшифровать данный текст.
4.. «Матричная шифровка»
Чтобы зашифровать текст из 121 буквы, его можно записать в квадратную матрицу порядка 11 по строкам, а затем прочитать по спирали, начиная с центра (т.е. с элемента, имеющего индексы 6,6).
Такой способ можно обобщить и для произвольной длины текста, подбирая нужный размер матрицы.
А) зашифровать данный текст Б) расшифровать данный текст 5. «Шифровка решеткой»
Шифровка текста с помощью решетки заключается в следующем. Решетка, т.е. квадрат из клетчатой бумаги 10х10 клеток, некоторые клетки в котором вырезаны, совмещается с целым квадратом 10х10 клеток и через прорези на бумагу наносятся первые буквы текста. Затем решетка поворачивается на 90 градусов и через прорези записываются следующие буквы. Это повторяется еще дважды. Таким образом, на бумагу наносится 100 букв текста. Решетку можно изобразить квадратной матрицей порядка 10 из нулей и единиц (нуль изображает прорезь). Доказано что матрица [Aij], i=1,…10, j=1,…10 может служить ключом шифра, если из элементов Aij, A 10-i+1 j, A i 10-j+1, A 10-i+1 10 –j+1 в точности один равен нулю.
Дана последовательность из 100 букв и матрица-ключ.
А) Зашифровать данную последовательность Б) Расшифровать данную последовательность Обобщить на случай последовательности произвольной длины.
6. «Шифровка зафиксированной перестановкой»
Зафиксируем натуральное k и перестановку чисел 1,… k (ее можно задать с помощью последовательности натуральных чисел p1,… pk, в которую входит каждое из чисел 1,… k). При шифровке в исходном тексте к каждой из последовательных групп по k символов применяется зафиксированная перестановка. Пусть k=4 и перестановка есть 3, 2, 4, 1. Тогда группа символов s1,s2,s3,s4 заменяется на s3, s2, s4, s1. Если в последней группе меньше четырех символов, то к ней добавляются пробелы. Пользуясь изложенным способом:
А) зашифровать данный текст Б) расшифровать данный текст 7. Шифр Гронсфельда Этот шифр сложной замены, называемый шифром Гронсфельда, представляет собой модификацию шифра Цезаря числовым ключом. Для этого под буквами исходного сообщения записывают цифры числового ключа. Если ключ короче сообщения, то его запись циклически повторяют. Шифртекст получают примерно, как в шифре Цезаря, но отсчитывают по алфавиту не третью букву (как это делается в шифре Цезаря), а выбирают ту букву, которая смещена по алфавиту на соответствующую цифру ключа. Например, применяя в качестве ключа группу из четырех начальных цифр числа e (основания натуральных логарифмов), а именно 2718, получаем для исходного сообщения ВОСТОЧНЫЙ ЭКСПРЕСС следующий шифртекст:
Чтобы зашифровать первую букву сообщения В, используя первую цифру ключа 2, нужно отсчитать вторую по порядку букву от В в алфавите получается первая буква шифртекста Д.
Пользуясь изложенным способом:
А) зашифровать данный текст Б) расшифровать данный текст 8. Шифровка с помощью квадрата Полибия В Древней Греции (II в. до н.э.) был известен шифр, называемый "квадрат Полибия". Шифровальная таблица представляла собой квадрат с пятью столбцами и пятью строками, которые нумеровались цифрами от 1 до 5. В каждую клетку такого квадрата записывалась одна буква. В результате каждой букве соответствовала пара чисел, и шифрование сводилось к замене буквы парой чисел.
Для латинского алфавита квадрат Полибия имеет вид:
Пользуясь изложенным способом:
А) зашифровать данный текст Б) расшифровать данный текст 9. Шифр Хилла (с длиной блока = 2) Криптосистема, основанная Хиллом, базируется на линейной алгебре. Пространства исходных сообщений и криптотекстов совпадают: латинский алфавит. Перенумеруем буквы в порядке их следования в алфавите: A получает номер 0, B - номер 1,... и Z номер 25. Все арифметические операции выполняются по модулю 26 (длина алфавита), то есть 26 отождествляется с 0, 27 - с единицей и т.д.