Файл: Разработка модуля для выполнения операций с натуральными числами в 16-ричной системе счисления (Виды позиционных систем счисления).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 251

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В представленной курсовой работе проанализированы основные существующие системы позиционного счисления. Подробно исследованы вопросы выполнения арифметических операций над натуральными числами в шестнадцатеричной системе счисления. Разработан программный модуль на языке C# в среде Visual Studio 2017, позволяющий реализовать сложение и вычитание натуральных чисел в шестнадцатеричной системе счисления. Проведены исследования разработанного модуля на примерах, рассмотренных в теоретической части и дополнительных примерах, позволяющих сделать вывод о надежности разработанного программного обеспечения в различных нестандартных ситуациях.

Список используемой литературы

  1. Барков И.А. Объектно-ориентированное программирование. Учебник. – М.: Лань, 2019. – 700 с.
  2. Гашков С.Б. Системы счисления и их применение. – М.: МЦНМО, 2004. – 52 с.
  3. Городняя Л.В. Парадигма программирования. Учебное пособие. – М.: Лань, 2019. – 232 с.
  4. Двоичная и шестнадцатиричная системы счисления [Электронный ресурс] – URL: https://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/dvoichnaya-i-shestnadtsatirichnaya-sistemyi-schisleniya (дата обращения: 04.10.2019)
  5. Евдокимов П.В. C# на примерах. – М.: Наука и техника, 2019. – 320 с.
  6. Зыков С.В. Введение в теорию программирования. Объектно-ориентированный подход. – М.: Национальный Открытый Университет «ИНТУИТ», 2016. – 189 с.
  7. Игнашева Е.П. Системы счисления, алгоритмизация и программирование. Учебное пособие. – М.: ИНФРА-М, 2019. – 224 с.
  8. Микушин А.В. Цифровые устройства и микропроцессоры. – СПб.: БХВ-Петербург, 2010. – 832 с.
  9. Смирнов В. Шестнадцатеричная арифметика [Электронный ресурс] – URL: http://www.vsmirnov.ru/articles/hexmetric.html (дата обращения: 04.10.2019)
  10. Стахов А. Роль систем счисления в истории компьютеров [Электронный ресурс] – URL: https://mirznanii.com/a/118900/rol-sistem-schisleniya-v-istorii-kompyuterov (дата обращения: 04.10.2019)
  11. Страуструп Б. Язык программирования С++. Специальное издание. – М.: Бином, 2018. – 1136 с.
  12. Шакин В.Н. Базовые средства программирования на Visual Basic в среде Visual Studio Net. Практикум. Учебное пособ. – М.: Форум, 2018. – 287 с.
  13. Шарп Дж. Microsoft Visual C#. Подробное руководство. – СПб.: Питер, 2017. – 848 с.
  14. Шилдт Г. C# 4.0. Полное руководство. Пер. с англ. – М.: ООО «И.Д. Вильямс», 2015. – 1056 с.
  15. Шилдт Г. C++. Полное руководство. Классическое издание. – М.: ООО «И.Д. Вильямс», 2019. – 800 с.

Приложение. Листинг программы

namespace WindowsFormsApp4

{

public partial class Form1 : Form

{

String str1 = "";

String str2 = "";

String Pr="";

String Vis = "";

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

str1 = str1 + 0;

textBox1.Text = str1;

}

private void panel2_Paint(object sender, PaintEventArgs e)

{

}

private void button2_Click(object sender, EventArgs e)

{

str1 = str1 + "1";

textBox1.Text = str1;

}

private void button3_Click(object sender, EventArgs e)

{

str1 = str1 + "2";

textBox1.Text = str1;

}

private void button4_Click(object sender, EventArgs e)

{

str1 = str1 + "3";

textBox1.Text = str1;

}

private void button5_Click(object sender, EventArgs e)

{

str1 = str1 + "4";

textBox1.Text = str1;

}

private void button6_Click(object sender, EventArgs e)

{

str1 = str1 + "5";

textBox1.Text = str1;

}

private void button7_Click(object sender, EventArgs e)

{

str1 = str1 + "6";

textBox1.Text = str1;

}

private void button8_Click(object sender, EventArgs e)

{

str1 = str1 + "7";

textBox1.Text = str1;

}

private void button9_Click(object sender, EventArgs e)

{

str1 = str1 + "8";

textBox1.Text = str1;

}

private void button10_Click(object sender, EventArgs e)

{

str1 = str1 + "9";

textBox1.Text = str1;

}

private void button11_Click(object sender, EventArgs e)

{

str1 = str1 + "A";

textBox1.Text = str1;

}

private void button12_Click(object sender, EventArgs e)

{

str1 = str1 + "B";

textBox1.Text = str1;

}

private void button13_Click(object sender, EventArgs e)

{

str1 = str1 + "C";

textBox1.Text = str1;

}

private void button14_Click(object sender, EventArgs e)

{

str1 = str1 + "D";

textBox1.Text = str1;

}

private void button15_Click(object sender, EventArgs e)

{

str1 = str1 + "E";

textBox1.Text = str1;

}

private void button16_Click(object sender, EventArgs e)

{

str1 = str1 + "F";

textBox1.Text = str1;

}

private void button17_Click(object sender, EventArgs e)

{

str1 = str1 + "10";

textBox1.Text = str1;

}

private void button18_Click(object sender, EventArgs e)

{

str2 = str1;

str1 = "";

textBox1.Text = "";

Pr = "+";

}

private void button19_Click(object sender, EventArgs e)

{

str2 = str1;

str1 = "";

textBox1.Text = "";

Pr = "-";

}

private void button20_Click(object sender, EventArgs e)

{

if (str1 != "")

{

if (str2 != "")

{

if (Pr == "+")

{

Vis = Summer(str2, str1);

textBox1.Text = Vis;

}

if (Pr == "-")

{

Vis = Minuser(str2, str1);

textBox1.Text = Vis;

}

}

}

}

public string Summer(String s2, String s1)

{

int n2 = s2.Length;

int n1 = s1.Length;

int prr = 0;

String pmj = "";

if (n2>n1)

{

int m = n2 - n1;

for (int j=1;j<=m;j++)

{

s1 = 0 + s1;

}

}

if (n1 > n2)

{

int m = n1 - n2;

for (int j = 1; j <= m; j++)

{

s2 = 0 + s2;

}

}

for (int j = 1; j <= s2.Length; j++)

{

String s2j = s2[s2.Length-j].ToString();

String s1j = s1[s1.Length - j].ToString();

if (s1j == "A") { s1j = "10"; }

if (s1j == "B") { s1j = "11"; }

if (s1j == "C") { s1j = "12"; }

if (s1j == "D") { s1j = "13"; }

if (s1j == "E") { s1j = "14"; }

if (s1j == "F") { s1j = "15"; }

if (s2j == "A") { s2j = "10"; }

if (s2j == "B") { s2j = "11"; }

if (s2j == "C") { s2j = "12"; }

if (s2j == "D") { s2j = "13"; }

if (s2j == "E") { s2j = "14"; }

if (s2j == "F") { s2j = "15"; }