Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ.docx
Скачиваний:
6
Добавлен:
14.06.2017
Размер:
188.49 Кб
Скачать

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)

{

}

Соседние файлы в предмете Языки программирования