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

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
using System.Threading;
using System.Threading.Tasks;
 
namespace ConsoleApplication1 {
    class Program {
        static void Main(string[] args) {
            Task<int[]>.Factory.StartNew(() => {
                //Тут получаем в режиме диалога 
                //начальные данные для вычислений
                //Если требуется, можно выбросить Exception
                
                //Возвращаем данные
                return new int[] { 1, 2, 3 };
            }).ContinueWith<int[]>(task => {
                //Проверяем нет ли исключений
                //в предыдущей задаче
                //Если есть - перегенерируем исключение
                if (task.Exception != null) {
                    throw task.Exception.InnerException;
                }
                //Получаем начальные данные
                int[] inData = task.Result;
                //Тут вычисляем те данные что нужны для последующих вычислений
                //и возвращаем результат
                return new int[] { 4, 5 };
            })
            .ContinueWith(task => {
                //Проверяем нет ли исключений
                //в предыдущей задаче
                //Если есть - выводим его на экран
                if (task.Exception != null) {
                    Console.WriteLine(task.Exception.InnerException.Message);
                    return;
                }
                //Получаем данные предыдущей задачи
                int[] inData = task.Result;
                //Работаем с данными и выводим результат
            });
 
            Console.ReadLine();
        }
    }
}

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


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

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

6   голосов , оценка 3.5 из 5
Похожие ответы