4 Разработка форм приложения
Программа реализована в виде 3 форм:
Form1 (Основная)
Form2 (О
программе) Form3 (Об
авторе)
Form1. Это форма, на которой расположены:
2 кнопки(Button)
7 полей для ввода(Edit)
1 поле для вывода значений на экран (DataGridView)
1 поле для вывода графика (Chart)
Текст(Label)
Поля Edit используются для ввода параметров интеграла, подписанных при помощи элемента Label:
Левая и правая граница отрезка a, b
Точность
Коэффициенты k, k1, k2
Число с
Кнопка “Вычислить” используются для вывода результата программы на экран в таблицу при помощи элемента DataGridView, а кнопка “Построить” – для вывода результатов в виде графика при помощи элемента Chart.
Form2(О программе). Кнопочная форма, носящая характер информативного окна. На ней расположены:
Текст(Label)
Form3(Об авторе). Кнопочная форма, носящая характер информативного окна. На ней расположены:
Текст(Label)
Изображение(PictureBox)
Название элемента управления |
Имя элемента управления в программе |
Назначение |
О программе |
оПрограммеToolStripMenuItem_Click |
Информация о назначении программы |
Об авторе |
обАвтореToolStripMenuItem_Click |
Информация о разработчике с фотографией автора |
Выход |
выходToolStripMenuItem_Click |
Кнопка выхода из программы |
k |
textBox1 |
Для ввода первого коэффициента |
k1 |
textBox2 |
Для ввода второго коэффициента |
k2 |
textBox3 |
Для ввода третьего коэффициента |
с |
textBox4 |
Для ввода числа |
t |
textBox5 |
Для ввода точности |
a |
textBox6 |
Для ввода левой границы |
b |
textBox7 |
Для ввода правой границы |
Вычислить |
button1 |
Вычисление результата программы |
Результат |
DataGridView1 |
Вывод результата программы |
Построить |
button2 |
Построение графика |
График |
chart1 |
Вывод графика |
5 Разработка модулей
Программа содержит четыре модуля: Program (Main), Form1, Form2 и Form3.
Первый модуль – Programm (Main) запускает приложение (переводит его в состояние ожидания наступления одного из событий, на которое оно должно реагировать).
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Во втором модуле – Form1 описаны 4 процедуры:
Button1_Click (клик по кнопке «Вычислить»)
оПрограммеToolStripMenuItem_Click (клик по кнопке «О программе»)
выходToolStripMenuItem_Click (клик по кнопке «Выход»)
обАвтореToolStripMenuItem_Click (клик по кнопке «Об авторе»)
public partial class Form1 : Form
{
public double k1; // Коэф. второй
public double k2; // Коэф. третий
public double ag; // Левая граница
public double bg; // Правая граница
public double k; // Коэфф. первый
public double c; // Число
public Form1()
{
InitializeComponent()
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
private void label7_Click(object sender, EventArgs e)
{
}
private void label6_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
k = Convert.ToDouble(textBox1.Text); // Коэфф. первый
k1 = Convert.ToDouble(textBox2.Text); // Коэф. второй
k2 = Convert.ToDouble(textBox4.Text); // Коэф. третий
c = Convert.ToDouble(textBox3.Text); // Число
double t = Convert.ToDouble(textBox5.Text); // Точность
double a = Convert.ToDouble(textBox6.Text); // Левая граница
double b = Convert.ToDouble(textBox7.Text); // Правая граница
ag = a;
bg = b;
double fa, fc, c1;
for (int i=0; Math.Abs(b-a)>t; i++)
{
c1 = (a + b) / 2;
fa = k * Math.Pow(a, 3) - k1 * Math.Pow(a, 2) + k2 * a + c;
fc= k * Math.Pow(c1, 3) - k1 * Math.Pow(c1, 2) + k2 * c1 + c;
tab1.Rows.Add();
tab1.Rows[i].Cells[0].Value = a.ToString();
tab1.Rows[i].Cells[1].Value = b.ToString();
tab1.Rows[i].Cells[2].Value = c1.ToString();
tab1.Rows[i].Cells[3].Value = fa.ToString();
tab1.Rows[i].Cells[4].Value = fc.ToString();
if (fc == 0)
{
break;
}
else if (fa*fc<0){
b = c1;
}
else
{
a = c1;
}
}
}
private void tab1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
for(double j=ag; j<=bg; j=j+0.01)
{
double y =k * Math.Pow(j, 3) - k1 * Math.Pow(j, 2) + k2 * j + c;
chart1.Series[0].Points.AddXY(j,y);
}
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void оПрограммеToolStripMenuItem_Click(object sender, EventArgs e)
{
Form f2 = new Form2();
f2.Show();
}
private void обАвтореToolStripMenuItem_Click(object sender, EventArgs e)
{
Form f3 = new Form3();
f3.Show();
}
}
}
Третий модуль – Form2 запускает приложение (переводит его в состояние ожидания наступления одного из событий, на которое оно должно реагировать), которое содержит информацию о программе.
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
}
Четвёртый модуль – Form3 запускает приложение (переводит его в состояние ожидания наступления одного из событий, на которое оно должно реагировать), которое содержит информацию об авторе.
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
}