CyclesMain.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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 FormCycles
  11. {
  12. public partial class Main : Form
  13. {
  14. public Main()
  15. {
  16. InitializeComponent();
  17. }
  18. private void Main_Load(object sender, EventArgs e)
  19. {
  20. // Центрируем кнопку вычисления ответа
  21. // Получаем ширину кнопки и формы
  22. int ButtonWidth = btnCalculate.Size.Width;
  23. int FormWidth = this.Size.Width;
  24. // Переопределяем позицию
  25. btnCalculate.Location = new Point(new Size((FormWidth - ButtonWidth) / 2, 322));
  26. }
  27. /// <summary>
  28. /// Вычисление ответа по нажатию на кнопку
  29. /// </summary>
  30. private void btnCalculateClick(object sender, EventArgs e)
  31. {
  32. // Считываем значения, проверяем правильность
  33. double X0, Xk, Dx, B;
  34. try
  35. {
  36. X0 = double.Parse(tbInputX0.Text);
  37. Xk = double.Parse(tbInputXk.Text);
  38. Dx = double.Parse(tbInputDx.Text);
  39. B = double.Parse(tbInputB.Text);
  40. }
  41. catch (FormatException)
  42. {
  43. MessageBox.Show("Убедитесь, что во всех полях указаны числа в правильном формате!");
  44. return;
  45. }
  46. // Перезаписываем текст поля ответа
  47. tbOutput.Text = $"Работу выполнил ст. Королёв В. С.{Environment.NewLine}";
  48. // Выполняем цикл, используя данные значения
  49. double x = X0;
  50. double y;
  51. while(true)
  52. {
  53. if (x > Xk) break;
  54. y = 9 * (Math.Pow(x,3) + Math.Pow(B, 3) * Math.Tan(x));
  55. tbOutput.Text += $"x={x}; y={y}{Environment.NewLine}";
  56. x += Dx;
  57. }
  58. }
  59. }
  60. }