Вход

Программирование на языке С#

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 168752
Дата создания 2012
Страниц 28
Источников 6
Мы сможем обработать ваш заказ (!) 17 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 400руб.
КУПИТЬ

Содержание

Содержание
Аннотация
Введение
1.Анализ технического задания
2.Программная реализация
3.Описание программы
4.Руководство программиста
5.Методика испытаний
6.Заключение
7.Список литературы
Приложение
Текст программы

Фрагмент работы для ознакомления

tbCodedText.Size = new System.Drawing.Size(384, 249);this.tbCodedText.TabIndex = 7;// // btDecoding// this.btDecoding.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));this.btDecoding.Location = new System.Drawing.Point(6, 153);this.btDecoding.Name = "btDecoding";this.btDecoding.Size = new System.Drawing.Size(162, 23);this.btDecoding.TabIndex = 9;this.btDecoding.Text = "Расшифрование";this.btDecoding.UseVisualStyleBackColor = true;this.btDecoding.Click += new System.EventHandler(this.btDecoding_Click);// // splitContainer1// this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;this.splitContainer1.Location = new System.Drawing.Point(0, 0);this.splitContainer1.Margin = new System.Windows.Forms.Padding(2);this.splitContainer1.Name = "splitContainer1";// // splitContainer1.Panel1// this.splitContainer1.Panel1.AutoScroll = true;this.splitContainer1.Panel1.Controls.Add(this.splitContainer2);// // splitContainer1.Panel2// this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);this.splitContainer1.Size = new System.Drawing.Size(771, 473);this.splitContainer1.SplitterDistance = 384;this.splitContainer1.SplitterWidth = 3;this.splitContainer1.TabIndex = 10;// // splitContainer2// this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;this.splitContainer2.Location = new System.Drawing.Point(0, 0);this.splitContainer2.Name = "splitContainer2";this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;// // splitContainer2.Panel1// this.splitContainer2.Panel1.Controls.Add(this.lblBiginText);this.splitContainer2.Panel1.Controls.Add(this.tbBeginText);// // splitContainer2.Panel2// this.splitContainer2.Panel2.Controls.Add(this.label1);this.splitContainer2.Panel2.Controls.Add(this.btnCode);this.splitContainer2.Panel2.Controls.Add(this.tbKey);this.splitContainer2.Size = new System.Drawing.Size(384, 473);this.splitContainer2.SplitterDistance = 273;this.splitContainer2.TabIndex = 5;// // splitContainer3// this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;this.splitContainer3.Location = new System.Drawing.Point(0, 0);this.splitContainer3.Name = "splitContainer3";this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;// // splitContainer3.Panel1// this.splitContainer3.Panel1.Controls.Add(this.label4);this.splitContainer3.Panel1.Controls.Add(this.tbCodedText);// // splitContainer3.Panel2// this.splitContainer3.Panel2.Controls.Add(this.label2);this.splitContainer3.Panel2.Controls.Add(this.tbDecogingText);this.splitContainer3.Panel2.Controls.Add(this.btDecoding);this.splitContainer3.Size = new System.Drawing.Size(384, 473);this.splitContainer3.SplitterDistance = 276;this.splitContainer3.TabIndex = 10;// // tbDecogingText// this.tbDecogingText.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));this.tbDecogingText.Location = new System.Drawing.Point(0, 23);this.tbDecogingText.Multiline = true;this.tbDecogingText.Name = "tbDecogingText";this.tbDecogingText.Size = new System.Drawing.Size(384, 124);this.tbDecogingText.TabIndex = 5;// // label2// this.label2.AutoSize = true;this.label2.Location = new System.Drawing.Point(12, 7);this.label2.Name = "label2";this.label2.Size = new System.Drawing.Size(125, 13);this.label2.TabIndex = 5;this.label2.Text = "Дешифрованныйтекст";// // MainForm// this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;this.ClientSize = new System.Drawing.Size(771, 473);this.Controls.Add(this.splitContainer1);this.Name = "MainForm";this.Text = "Курсовой проект - система шифрования Вижинера";this.Load += new System.EventHandler(this.MainForm_Load);this.splitContainer1.Panel1.ResumeLayout(false);this.splitContainer1.Panel2.ResumeLayout(false);this.splitContainer1.ResumeLayout(false);this.splitContainer2.Panel1.ResumeLayout(false);this.splitContainer2.Panel1.PerformLayout();this.splitContainer2.Panel2.ResumeLayout(false);this.splitContainer2.Panel2.PerformLayout();this.splitContainer2.ResumeLayout(false);this.splitContainer3.Panel1.ResumeLayout(false);this.splitContainer3.Panel1.PerformLayout();this.splitContainer3.Panel2.ResumeLayout(false);this.splitContainer3.Panel2.PerformLayout();this.splitContainer3.ResumeLayout(false);this.ResumeLayout(false); } #endregionprivate System.Windows.Forms.Button btnCode;private System.Windows.Forms.TextBox tbBeginText;private System.Windows.Forms.TextBox tbKey;private System.Windows.Forms.Label lblBiginText;private System.Windows.Forms.Label label1;private System.Windows.Forms.Label label4;private System.Windows.Forms.TextBox tbCodedText;private System.Windows.Forms.Button btDecoding;private System.Windows.Forms.SplitContainer splitContainer1;private System.Windows.Forms.SplitContainer splitContainer2;private System.Windows.Forms.SplitContainer splitContainer3;private System.Windows.Forms.Label label2;private System.Windows.Forms.TextBox tbDecogingText;}}Файл: ViginerClass.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Viginer{classViginerClass {//Конструкторклассаpublic ViginerClass() { gen_tab_vig();}//Закрытый массив класса, содержащий алфавит для шифрованияprivatestaticchar[] mas_alf;//Закрытый массив класса, содержащий таблицу Виженераprivatechar[,] tab_vig = newchar[188, 188];//Закрытый метод класса, формирующий таблицу Виженераprivatevoid gen_tab_vig() {//Генерируемалфавитstring str = "";for (int i = 0; i <= 'z'; i++) { str = str + Convert.ToChar(i); }for (int i = 'А'; i <= 'я'; i++) { str = str + Convert.ToChar(i);}///в строке str содержится алфавит///преобразуем строку в массив одельных символов mas_alf = str.ToCharArray();///Используя алфавит, заполняем массив tab_vig///Получаем таблицу Виженераint k = 0, n = 0;for (int i = 0; i < mas_alf.Length; i++) { k = n;for (int j = 0; j < mas_alf.Length; j++) {if (k == mas_alf.Length) k = 0; tab_vig[i,j] = mas_alf[k];k++; } n++; } }//Открытый метод класса, шифрованиеpublicstring ViginerCoding(string key, string text) {int stroka = 0, stolbec = 0;string code = string.Empty;//приступаем к процессу шифрования//формируем строку ключа, ее длина должна быть//равна или больше длины сообщенияwhile(key.Length < text.Length) { key = key + key; }//преобразуем строки в массивы символовchar[] chArrayText = text.ToCharArray();char[] chArrayKey = key.ToCharArray();for (int i = 0; i < text.Length; i++){ stroka = 0; stolbec = 0;///Определяем строку и столбец таблицы Виженера, соответствующую ///символам ключа и исходного текстаwhile ((stolbec < mas_alf.Length)&& (mas_alf[stolbec] != chArrayText[i]))stolbec++;while ((stroka < mas_alf.Length) && (mas_alf[stroka] != chArrayKey[i])) stroka++;if ((stroka < mas_alf.Length) && (stolbec < mas_alf.Length)){///Если символ определен по таблице, то добавляем символ///кстрокешифра code = code + tab_vig[stolbec, stroka];}// Если символ от сутствуе в алфавите , то выдаем ///соответствующее сообщениеelsereturn"Отсутствует символ в таблице Вижинера"; }return code; }//Открытый метод класса, дешифрованиеpublicstring ViginerDecoding(string key, string code) {string text = string.Empty;int stroka = 0, stolbec = 0;while (key.Length < code.Length) { key = key + key; }char[] chArrayCode = code.ToCharArray();char[] chArrayKey = key.ToCharArray();for (int i = 0; i < code.Length; i++) { stroka = 0; stolbec = 0;while ((mas_alf[stroka] != chArrayKey[i]) && (stroka < mas_alf.Length)) stroka++;while ((tab_vig[stolbec, stroka] != chArrayCode[i]) && (stolbec < mas_alf.Length)) stolbec++;if ((stroka < mas_alf.Length) && (stolbec < mas_alf.Length)) { text = text + mas_alf[stolbec];}elsereturn"Отсутствует символ в таблице Вижинера"; }return text; } }}

Список литературы [ всего 6]

7.Список литературы
1.Ч. Уэзрелла «Этюды программирования» Пер. с англ. – М.: Мир, 1982. – 288 с., ил.
2.«Информатика и программирование. Методические указания к курсовой работе» - Муром, 2007. – 10 с.
3.ГОСТ 19.101-77
4.ГОСТ 2.105-95
5.Грос К. «C#. 2008» Пер. с англ. – СПб.: БХВ-Петербург, 2009 – 576 с., ил.
6.К. Нейгел, Б. Ивьен и др. «C# 2008 и платформа .Net 3.5 для профессионалов»: Пер. с англ.: ООО «И.Д. Вильямс», 2009 – 1392 с., ил.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00476
© Рефератбанк, 2002 - 2024