FormMain.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace WindowsFormsAppUP02._02Alekseev7
  11. {
  12. /// <summary>
  13. /// Класс, в котором просходит построение графика, настройка графика, подстановка значений в график, вычисление значений для X, Y,
  14. /// подстановка значений в переменный, изменение цвета формы
  15. /// </summary>
  16. public partial class FormMain : Form
  17. {
  18. /// <summary>
  19. /// Метод инициализации компонентов
  20. /// </summary>
  21. public FormMain()
  22. {
  23. InitializeComponent();
  24. }
  25. /// <summary>
  26. /// Метод кнопки, в котором происходит считывание данных переменных, вычисление значений, построение графика функции
  27. /// </summary>
  28. /// <param name="sender"></param>
  29. /// <param name="e"></param>
  30. private void btnResultValueClick(object sender, EventArgs e)
  31. {
  32. double A = double.Parse(tbValueA.Text);
  33. double B = double.Parse(tbValueB.Text);
  34. double C = double.Parse(tbValueC.Text);
  35. double Xmin = double.Parse(tbValueXMin.Text);
  36. double Xmax = double.Parse(tbValueXMax.Text);
  37. double Step = double.Parse(tbValueStep.Text);
  38. int count = (int)Math.Ceiling((Xmax - Xmin) / Step) + 1;
  39. double[] X = new double[count];
  40. double[] Y = new double[count];
  41. ;
  42. for (int i = 0; i < count; i++)
  43. {
  44. X[i] = Xmin + (Step * i);
  45. Y[i] = Math.Round(((10e-2 * B * C) / X[i]) + Math.Cos(Math.Sqrt(Math.Pow(A, 3) * X[i])) , 2);
  46. }
  47. chtGrafic.ChartAreas[0].AxisX.Minimum = Xmin;
  48. chtGrafic.ChartAreas[0].AxisX.Minimum = Xmax;
  49. chtGrafic.ChartAreas[0].AxisX.MajorGrid.Interval = Step;
  50. chtGrafic.Series[0].Points.DataBindXY(X , Y);
  51. }
  52. /// <summary>
  53. /// Метод загрузки формы, в котором меняется цвет формы, подставляются значения в TextBox
  54. /// </summary>
  55. /// <param name="sender"></param>
  56. /// <param name="e"></param>
  57. private void FormMain_Load(object sender, EventArgs e)
  58. {
  59. BackColor = Color.AntiqueWhite;
  60. tbValueA.Text = "5";
  61. tbValueB.Text = "-2";
  62. tbValueC.Text = "10";
  63. }
  64. }
  65. }