Разработать программу, в которой для решения квадратного уравнения используются три дополнительные нити - 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();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д