LINQ және PLINQ әдістерінің көмегімен сұраныстарды орындап, олардың орындалу уақытына талдау жасаңыз
Автор: Уалихан Серикбай • Июнь 26, 2021 • Задача • 2,533 Слов (11 Страниц) • 375 Просмотры
1902-А-группа
Есенов Көреген
СРС-2
Тапсырма: LINQ және PLINQ әдістерінің көмегімен сұраныстарды орындап, олардың орындалу уақытына талдау жасаңыз.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Diagnostics;
namespace Computer_Service
{
class Kafe
{
public string name, adres, famDirec;
public int kolComp;
public List<Computer> comps;
}
class Result
{
public int data, kolBiletovI, kolBiletovG, hoursI, hoursG;
}
class Computer
{
public string name, kafe;
public int godP, srok, priceI, priceG, nom;
public List<Result> resutls;
}
class Program
{
static void Main(string[] args)
{
List<Result> results = new List<Result>();
Random random = new Random();
for (int i = 0; i < 100; ++i)
{
results.Add(new Result());
results[i].data = random.Next(1, 32);
results[i].hoursG = random.Next(0, 8);
results[i].hoursI = random.Next(0, 8);
results[i].kolBiletovG = results[i].hoursG / 2;
results[i].kolBiletovI = results[i].hoursI / 2;
}
List<Kafe> kafes = new List<Kafe>();
kafes.Add(new Kafe());
kafes[0].name = "Кафе-1";
kafes[0].adres = "УЛ. Абая 403";
kafes[0].famDirec = "Есенов";
kafes[0].kolComp = 10;
kafes[0].comps = new List<Computer>();
kafes.Add(new Kafe());
kafes[1].name = "Кафе-2";
kafes[1].adres = "Ул. Ауезова 102а";
kafes[1].famDirec = "Жумабеков";
kafes[1].kolComp = 10;
kafes[1].comps = new List<Computer>();
List<Computer> computers = new List<Computer>(20);
for (int i = 0, j = 0; i < 20; ++i)
{
computers.Add(new Computer());
computers[i].name = "Computer" + i.ToString();
computers[i].nom = i;
computers[i].srok = random.Next(400, 800);
computers[i].godP = random.Next(2010, 2020);
computers[i].priceI = random.Next(200, 1000);
computers[i].priceG = random.Next(500, 2000);
computers[i].resutls = new List<Result>();
for (int k = 0; k < 5; ++k)
{
computers[i].resutls.Add(results[j++]);
}
if (i < 10)
{
kafes[0].comps.Add(computers[i]);
computers[i].kafe = kafes[0].name;
}
else
{
kafes[1].comps.Add(computers[i]);
computers[i].kafe = kafes[1].name;
}
}
DateTime b = DateTime.Now;
//1
Console.WriteLine("Кафе-1\nКафе-2");
Console.Write("Введите номер кафе - "); int l = int.Parse(Console.ReadLine()); --l;
Console.Write("Начало времени(2021.03.): "); int s = int.Parse(Console.ReadLine());
Console.Write("Конец времени(2021.03.): "); int e = int.Parse(Console.ReadLine());
Console.WriteLine("Количество посетителей(Интернет): " + kafes[l].comps.Sum(k => k.resutls.Sum(r => r.kolBiletovI)));
Console.WriteLine("Количество часов(Интернет): " + kafes[l].comps.Sum(k => k.resutls.Sum(r => r.hoursI)));
...