Описание входных данных и тестирование на ошибки.

Проверка системы счисления в программе и в калькуляторе.

описание входных данных и тестирование на ошибки. - student2.ru

описание входных данных и тестирование на ошибки. - student2.ru

Ввод в десятичной системе счисления и перевод в восьмеричную систему счисления.

описание входных данных и тестирование на ошибки. - student2.ru

3.6 Технические требования.

Минимальные требования:

Ø ОС Windows XP

Ø 512 ОЗУ

Ø 256 видеокарта

Ø 1 гб свободного места на жестком диске

Ø процессор AMD Radeon

Максимальные требования:

Не ограничены, чем больше, тем лучше для производительности программы.

Тестирование.

Ввод символов вместо чисел

описание входных данных и тестирование на ошибки. - student2.ru

2.Деление на 0 (233/0=бесконечность)

описание входных данных и тестирование на ошибки. - student2.ru

описание входных данных и тестирование на ошибки. - student2.ru

При введение больше чем 11чисел выдает ошибку

описание входных данных и тестирование на ошибки. - student2.ru

Инструкция пользователя

Запустить программу двойным нажатием на файл «курсовой проект».ехе

описание входных данных и тестирование на ошибки. - student2.ru

Далее появляется главная форма (меню програмы)

описание входных данных и тестирование на ошибки. - student2.ru

Сдесь мы видим 3 подпрограммы для выполнения определенных заданий, выбираем 1 подпрограмму система счисления.

описание входных данных и тестирование на ошибки. - student2.ru

Мы открыли подпрограмму и видим что она нам предлагает ввести число, для того чтобы перевести его в другие системы счисления, и на выбор у нас есть 3 системы счисления: двоичная, восьмеричная и шестнадцатеричная.

Выбираем перевод в двоичную систему счисления.

И видим, что программа перевела введенное нами число в двоичную систему счисления.

описание входных данных и тестирование на ошибки. - student2.ru

Далее переведем в восьмеричную систему счисления.

описание входных данных и тестирование на ошибки. - student2.ru

И осталась последняя система счисления это шестнадцатеричная система счисления.

описание входных данных и тестирование на ошибки. - student2.ru

Также в подпрограмме есть кнопка с названием «меню» она предназначена для возврата к главной форме. Далее выйдем в меню и откроем 2 подпрограмму под название «графики». Здесь нарисованы график функции синус, его можно масштабировать при помощи мышки, также запустить синусоиду с помощью кнопки старт, и также при помощи этой же кнопки остановить, и также изображен подсчет успеваемости в группе, также имеется кнопку возврата в меню.

описание входных данных и тестирование на ошибки. - student2.ru

Опять нажимаем кнопку меню, Далее откроем последнюю подпрограмму под название калькулятор.

описание входных данных и тестирование на ошибки. - student2.ru

Это простой калькулятор с обычными функциями умножение, сложение, деление, вычитание, также есть сброс кнопка С, ну и получение результата кнопка равно. также присутствует кнопка меню для возврата к главной форме.

Листинг программы.

Форма 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.

Наши рекомендации