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