Описание входных данных и тестирование на ошибки.
Проверка системы счисления в программе и в калькуляторе.
Ввод в десятичной системе счисления и перевод в восьмеричную систему счисления.
3.6 Технические требования.
Минимальные требования:
Ø ОС Windows XP
Ø 512 ОЗУ
Ø 256 видеокарта
Ø 1 гб свободного места на жестком диске
Ø процессор AMD Radeon
Максимальные требования:
Не ограничены, чем больше, тем лучше для производительности программы.
Тестирование.
Ввод символов вместо чисел
2.Деление на 0 (233/0=бесконечность)
При введение больше чем 11чисел выдает ошибку
Инструкция пользователя
Запустить программу двойным нажатием на файл «курсовой проект».ехе
Далее появляется главная форма (меню програмы)
Сдесь мы видим 3 подпрограммы для выполнения определенных заданий, выбираем 1 подпрограмму система счисления.
Мы открыли подпрограмму и видим что она нам предлагает ввести число, для того чтобы перевести его в другие системы счисления, и на выбор у нас есть 3 системы счисления: двоичная, восьмеричная и шестнадцатеричная.
Выбираем перевод в двоичную систему счисления.
И видим, что программа перевела введенное нами число в двоичную систему счисления.
Далее переведем в восьмеричную систему счисления.
И осталась последняя система счисления это шестнадцатеричная система счисления.
Также в подпрограмме есть кнопка с названием «меню» она предназначена для возврата к главной форме. Далее выйдем в меню и откроем 2 подпрограмму под название «графики». Здесь нарисованы график функции синус, его можно масштабировать при помощи мышки, также запустить синусоиду с помощью кнопки старт, и также при помощи этой же кнопки остановить, и также изображен подсчет успеваемости в группе, также имеется кнопку возврата в меню.
Опять нажимаем кнопку меню, Далее откроем последнюю подпрограмму под название калькулятор.
Это простой калькулятор с обычными функциями умножение, сложение, деление, вычитание, также есть сброс кнопка С, ну и получение результата кнопка равно. также присутствует кнопка меню для возврата к главной форме.
Листинг программы.
Форма 1.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Курсовой_проект
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 newfrm = new Form2();//Form2 -- вторая форма
newfrm.Show();
this.Hide();
}
private void button3_Click(object sender, EventArgs e)
{
Form4 newfrm = new Form4();//Form4 -- четвертая форма
newfrm.Show();
this.Hide();
}
private void button2_Click(object sender, EventArgs e)
{
Form3 newfrm = new Form3();//Form3 -- третья форма
newfrm.Show();
this.Hide();
}
}
}
Форма 2.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Курсовой_проект
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
{
int i = Convert.ToInt32(textBox1.Text);
if (radioButton1.Checked == true)
{
textBox2.Text = Convert.ToString(i, 2);
}
else if (radioButton2.Checked == true)
{
textBox2.Text = Convert.ToString(i, 16);
}
else if (radioButton3.Checked == true)
{
textBox2.Text = Convert.ToString(i, 8);
}
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
int i = Convert.ToInt32(textBox1.Text);
textBox2.Text = Convert.ToString(i, 2);
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
int i = Convert.ToInt32(textBox1.Text);
textBox2.Text = Convert.ToString(i, 16);
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
int i = Convert.ToInt32(textBox1.Text);
textBox2.Text = Convert.ToString(i, 8);
}
private void button1_Click(object sender, EventArgs e)
{
Form1 newfrm = new Form1();//Form3 -- первая форма
newfrm.Show();
this.Hide();
}
}
}
Форма 3.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Курсовой_проект
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(0, 50);
chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoom(-1, 1);
chart1.ChartAreas[0].CursorY.IsUserEnabled = true;
chart1.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;
for (int i=0;i<50;i++)
{
chart1.Series[0].Points.AddXY(i, Math.Sin(i));
}
}
int N = 49;
private void timer1_Tick(object sender, EventArgs e)
{
N++;
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(0, N);
chart1.Series[0].Points.RemoveAt(0);
chart1.Series[0].Points.AddXY(N, Math.Sin(N));
chart1.ChartAreas[0].AxisX.Minimum = N - 50;
chart1.ChartAreas[0].AxisX.Maximum = N;
}
private void button1_Click(object sender, EventArgs e)
{
if (timer1.Enabled)
{
timer1.Enabled = false;
button1.Text = "Стоп";
}
else
{
timer1.Enabled = true;
button1.Text = "Старт";
}
}
private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
timer1.Interval = hScrollBar1.Value;
}
int k = 0;
private void chart2_Click(object sender, EventArgs e)
{
if(k==0)
{
chart2.Series[0].Points.AddXY(k, 1);
chart2.Series[0].Points[k].LegendText = "Отлично";
}
if (k == 1)
{
chart2.Series[0].Points.AddXY(k, 4);
chart2.Series[0].Points[k].LegendText = "Хорошо";
}
if (k == 2)
{
chart2.Series[0].Points.AddXY(k, 3);
chart2.Series[0].Points[k].LegendText = "Удовлетворительно";
}
if (k == 3)
{
chart2.Series[0].Points.AddXY(k, 2);
chart2.Series[0].Points[k].LegendText = "Неудовлетворительно";
}
k++;
}
private void button2_Click(object sender, EventArgs e)
{
Form1 newfrm = new Form1();//Form3 -- первая форма
newfrm.Show();
this.Hide();
}
}
}
Форма 4.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Курсовой_проект
{
public partial class Form4 : Form
{
Double value = 0;
String operation = "";
bool operation_pressed = false;
public Form4()
{
InitializeComponent();
}
private void button_Click(object sender, EventArgs e)
{
if ((result.Text == "0")!= (operation_pressed))
result.Clear();
operation_pressed = false;
Button b = (Button)sender;
result.Text = result.Text + b.Text;
}
private void button14_Click(object sender, EventArgs e)
{
result.Text = "0";
}
private void operation_click(object sender, EventArgs e)
{
Button b = (Button)sender;
operation = b.Text;
value = Double.Parse(result.Text);
operation_pressed = true;
equation.Text = value + "" + operation;
}
private void button18_Click(object sender, EventArgs e)
{
equation.Text = "";
switch(operation)
{
case "+":
result.Text = (value + Double.Parse(result.Text)).ToString();
break;
case "-":
result.Text = (value - Double.Parse(result.Text)).ToString();
break;
case "*":
result.Text = (value * Double.Parse(result.Text)).ToString();
break;
case "/":
result.Text = (value / Double.Parse(result.Text)).ToString();
break;
default:
break;
}
}
private void button17_Click(object sender, EventArgs e)
{
result.Clear();
value = 0;
}
private void button15_Click(object sender, EventArgs e)
{
Form1 newfrm = new Form1();//Form3 -- первая форма
newfrm.Show();
this.Hide();
}
}
}
Заключение.
В ходе выполнения курсового проекта мызакрепили теоретические знания по дисциплине «Программирование», приобретение студентами практических навыков самостоятельного углубленного изучения предметной области, выработка умения в области моделирования и проектирования программных приложений с графическим интерфейсом, освоение возможностей среды программирования, а также умение работать с источниками и литературой, анализировать факты и данные специальной литературы, излагать прочитанное современным литературным языком.
Задачами курсовой работы являлось:
· изучение и описание предметной области, для которой ведется разработка программного приложения, автоматизируемых функций, методов и средств разработки;
· разработка структуры программы;
· разработка описание алгоритма и (или) функционирования программы с обоснованием выбора схемы алгоритма решения задачи;
· создание программного приложения с графическим интерфейсом;
· оформление текста курсовой работы.
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
1. Алексеев В. Е. Вычислительная техника и программирование : практикум по программированию / В. Е. Алексеев. – М. : Высшая школа, 1991. – 356 с.
2. Басаков М. И. Сертификация продукции и услуг с основами стандартизации и метрологии / М. И. Басаков. – Ростов-на-Дону : Центр «Март», 2002.
3. Благодатских В. А. Стандартизация разработки программных средств : Учеб. Пособие / В. А. Благодатских [и др]. – М. : Финансы и статистика, 2003.
4. Гагарина Л. Г. Основы технологии разработки программных продуктов / Л. Г. Гагарина [и др.] – М. : ФОРУМ-ИНФРА-М, 2006.
5. Ковалевская Е. В. Технология разработки программного обеспечения / Ковалевская Е. В. – М. : МЭСИ, 2008.
6. Ковалевская Е. В., Комлева Н. В. Методы программирования / Е. В. Ковалевская, Н. В. Комлева. – М. : МЭСИ, 2011.
7. Крылова Г. Д. Основы стандартизации, сертификации, метрологии»: учебник для вузов / Г. Д. Крылова. – 2-е изд. – М. : ЮНИТИ-ДАНА, 2001.
8. Липаев В. В. Выбор и оценивание характеристик качества программных средств / В. В. Липаев. – М. : Синтег, 2001.
9. Орлов С. А. Технологии разработки программного обеспечения / С. А. Орлов. – СПб. : Питер, 2002.
10. Основные концепции и механизмы объектно-ориентированного программирования / Е. В. Пышкин. – СПб. : БХВ-Петербург, 2005.