Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 WindowsFormsApp1
- {
- public partial class Form1 : Form
- {
- double r, l, extr, x ;
- double f (double x)
- {
- return Math.Exp(x) - 2 * x - 3;
- }
- public Form1()
- {
- InitializeComponent();
- }
- public void button1_Click(object sender, EventArgs e)
- {
- chart1.ChartAreas[0].AxisY.ScaleView.Zoom(-100, 100);
- chart1.ChartAreas[0].CursorX.IsUserEnabled = true;
- chart1.ChartAreas[0].CursorX.IsUserSelectionEnabled = true;
- chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
- chart1.ChartAreas[0].AxisY.ScrollBar.IsPositionedInside = true;
- for (double x = l; x < r; x++)
- {
- chart1.Series[0].Points.AddXY(x, Math.Exp(x) - 2 * x - 3);
- }
- for (double x = l; x < r; x +=.1d)
- {
- dataGridView1.Rows.Add(Math.Round(x,1), Math.Round(f(x),1));
- }
- }
- public void numericUpDown1_ValueChanged(object sender, EventArgs e)
- {
- l = Convert.ToDouble(numericUpDown1.Value);
- }
- public void numericUpDown2_ValueChanged(object sender, EventArgs e)
- {
- r = Convert.ToDouble(numericUpDown2.Value);
- }
- public double Dfdx(double x)
- {
- return Math.Exp(x) - 2;
- }
- double ExtrSearch(double l, double r, double epsilon= 0.001)
- {
- double m = (l + r) / 2;
- if (r - l <= 2 * epsilon) return m;
- double dl = Dfdx(l);
- double dr = Dfdx(r);
- double dm = Dfdx(m);
- if (dl * dr > 0) throw new Exception("Экстремума на этом интервале нет.");
- if (dm * dl > 0) return ExtrSearch(m, r);
- else return ExtrSearch(l, m);
- }
- private void button4_Click(object sender, EventArgs e)
- {
- extr = ExtrSearch(l, r);
- label3.Text = $"{ Math.Round(extr, 4)}";
- }
- private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
- {
- }
- public void label3_Click_1(object sender, EventArgs e)
- {
- }
- public void label5_Click(object sender, EventArgs e)
- {
- }
- private void button2_Click(object sender, EventArgs e)
- {
- this.Close();
- }
- public void Form1_Load(object sender, EventArgs e)
- {
- }
- private void chart1_Click(object sender, EventArgs e)
- {
- }
- private void button5_Click(object sender, EventArgs e)
- {
- dataGridView1.Rows.Clear();
- foreach (DataGridViewRow row in dataGridView1.Rows)
- {
- chart1.Series[0].Points.Clear();
- }
- }
- private void менюToolStripMenuItem_Click(object sender, EventArgs e)
- {
- }
- private void отчетToolStripMenuItem_Click(object sender, EventArgs e)
- {
- Form2 form2 = new Form2(extr);
- form2.ShowDialog();
- }
- private void label1_Click(object sender, EventArgs e)
- {
- }
- private void label2_Click(object sender, EventArgs e)
- {
- }
- private void label3_Click(object sender, EventArgs e)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement