Создайте приложение, в отдельном потоке вычисляющее значение π и непрерывно обновляющего его - C#
Формулировка задачи:
Создайте приложение, в отдельном потоке вычисляющее значение π и непрерывно обновляющего его в пользовательском интерфейсе. Для расчета числа использовать следующую формулу.
Pi = 4 - 4/3+4/5-4/7+4/9+-....
Решение задачи: «Создайте приложение, в отдельном потоке вычисляющее значение π и непрерывно обновляющего его»
textual
Листинг программы
class MainForm : Form { private System.Windows.Forms.Timer _timer = new System.Windows.Forms.Timer(); private Thread _worker; private CancellationTokenSource _cts = new CancellationTokenSource(); private double _pi; private double Pi { get { Thread.MemoryBarrier(); return _pi; } set { _pi = value; Thread.MemoryBarrier(); } } public MainForm() { var label = new Label { Parent = this, AutoSize = true }; _timer.Interval = 1; _timer.Tick += (_, __) => label.Text = Pi.ToString(); _timer.Start(); _worker = new Thread(() => CalculatePi(_cts.Token)) { IsBackground = true }; _worker.Start(); } private void CalculatePi(CancellationToken ct) { Pi = 4; for (double i = 3; !ct.IsCancellationRequested; i += 2) { int sign = i % 4 == 3 ? -1 : 1; Pi += sign * 4 / i; } } protected override void Dispose(bool disposing) { if (disposing) { _timer.Dispose(); _cts.Cancel(); } base.Dispose(disposing); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д