Помощь в написании студенческих работ
Антистрессовый сервис

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

Курсовая Купить готовую Узнать стоимостьмоей работы

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… Читать ещё >

Программирование на языке С# (реферат, курсовая, диплом, контрольная)

Содержание

  • Аннотация
  • Введение
  • 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 (6 °F, 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; } }}.

Показать весь текст

Список литературы

  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 с., ил.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ