Разработать программу, в которой для решения квадратного уравнения используются три дополнительные нити - C#

Узнай цену своей работы

Формулировка задачи:

Разработать программу, в которой для решения квадратного уравнения используются три дополнительные нити – Н1, Н2 и Н3. Нить Н1 в режиме диалога получает значения коэффициентов квадратного уравнения a, b, c и передает их в нить Н2. Нить Н2 определяет, существуют ли действительные корни уравнения и значения дискриминанта передает нити Н3 с одновременной печатью необходимых комментарий. Нить Н3 вычисляет и печатает действительные корни квадратного уравнения. Помогите решить пожалуйста!

Решение задачи: «Разработать программу, в которой для решения квадратного уравнения используются три дополнительные нити»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using System.Threading;
  7. using System.Threading.Tasks;
  8.  
  9. namespace ConsoleApplication1 {
  10.     class Program {
  11.         static void Main(string[] args) {
  12.             Task<int[]>.Factory.StartNew(() => {
  13.                 //Тут получаем в режиме диалога
  14.                 //начальные данные для вычислений
  15.                 //Если требуется, можно выбросить Exception
  16.                
  17.                 //Возвращаем данные
  18.                 return new int[] { 1, 2, 3 };
  19.             }).ContinueWith<int[]>(task => {
  20.                 //Проверяем нет ли исключений
  21.                 //в предыдущей задаче
  22.                 //Если есть - перегенерируем исключение
  23.                 if (task.Exception != null) {
  24.                     throw task.Exception.InnerException;
  25.                 }
  26.                 //Получаем начальные данные
  27.                 int[] inData = task.Result;
  28.                 //Тут вычисляем те данные что нужны для последующих вычислений
  29.                 //и возвращаем результат
  30.                 return new int[] { 4, 5 };
  31.             })
  32.             .ContinueWith(task => {
  33.                 //Проверяем нет ли исключений
  34.                 //в предыдущей задаче
  35.                 //Если есть - выводим его на экран
  36.                 if (task.Exception != null) {
  37.                     Console.WriteLine(task.Exception.InnerException.Message);
  38.                     return;
  39.                 }
  40.                 //Получаем данные предыдущей задачи
  41.                 int[] inData = task.Result;
  42.                 //Работаем с данными и выводим результат
  43.             });
  44.  
  45.             Console.ReadLine();
  46.         }
  47.     }
  48. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы