Главная страница
Навигация по странице:

  • Программное обеспечение

  • лаба. Отчет 13. Net, C# Оборудование персональный компьютер, практикум Время выполнения


    Скачать 314.43 Kb.
    НазваниеNet, C# Оборудование персональный компьютер, практикум Время выполнения
    Анкорлаба
    Дата18.05.2022
    Размер314.43 Kb.
    Формат файлаdocx
    Имя файлаОтчет 13.docx
    ТипПрактикум
    #536655

    Отчёт по практической работе №13

    Делегаты

    Цель работы и содержание: закрепить навыками работы с делегатами

    Программное обеспечение: С/С++, VISUAL C++.NET, C#

    Оборудование: персональный компьютер, практикум

    Время выполнения: 6 учебных часов

    ХОД РАБОТЫ:

    Выполнила индивидуальное задание №1 варианта 3:

    В соответствии с вариантом индивидуального задания реализуйте пользовательский тип делегата требуемой сигнатуры и выполните с его использованием вызов нескольких методов (с корректной сигнатурой).

    Action, double, double>

    Листинг программы:

    Action, double, double> lambda = (doub, flag, y) =>

    {

    Console.WriteLine(String.Format "Значение 1: {0} Значение 2: {1} Значение 3: {2}", doub(), flag + 10, y - 10));

    };

    Func doub = delegate { return 34.4; };
    lambda(doub, 20, 20);
    Результат работы программы:


    Выполнила индивидуальное задание №2 варианта 3:

    В соответствии с индивидуальным вариантом разработайте требуемый тип делегата (пользовательский, библиотечный или лямбдавыражение).

    Реализуйте асинхронное выполнение метода на основе разработанного делегата с возможностью мониторинга процесса выполнения, передачи параметров в метод и получения результата работы метода.

    Вариант:

    лямбда-выражение

    Метод возвращает логическое значение, указывающее существует ли заданное число в массиве заполненом целыми случайными числами

    Два параметра: размер массива и искомый элемент


    Листинг программы:

    public static void Main(string[] args)

    {

    for(int i=0;i<10;i++)

    {

    Task text = CreateString();

    Console.WriteLine($"Наличие элемента в массиве: {text.Result}");

    }

    }
    public static async Task CreateString()

    {

    Operation sum = CreateStringAsync;

    return await Task.Run(() => sum(10, 4));

    }
    public static bool CreateStringAsync(int lenArr, int elem)

    {

    int[] mass = new int[lenArr];

    Random rand = new Random();

    for (int i = 0; i < mass.Length; i++)

    mass[i] = rand.Next(1,5);
    if (mass.Any(str => str == elem)) return true;

    else return false;
    }

    delegate bool Operation(int x, int y);
    Результат работы программы:



    написать администратору сайта