Українська
Завдання
Відповідно до номера свого варіанта виконайте завдання обраного рівня складності.
Варіанти
Варіант 1. Вікна на екрані
1. Початковий рівень. Створити readonly struct Rect з координатами лівого верхнього кута, шириною й висотою та методами Area() і Contains(int x, int y). Перевірити, чи потрапляють кілька точок у прямокутник, і вивести результат.
2. Базовий рівень. Створити readonly struct Rect (координати кута, ширина, висота) з методом Contains і методом перетину, що повертає Rect?, та запис Window(string Title, Rect Bounds, int Z). Консольна програма для масиву вікон визначає, яке вікно отримує клік у введеній точці (найбільший Z серед тих, що містять точку), і виводить перекриття вікон.
3. Високий рівень. Створити бібліотеку віконного менеджера зі структурами Rect (позиція, розміри, перетин) і Size, записами вікон (заголовок, межі, Z), виразами with для переміщення й зміни розміру та вирівнюванням вікон плиткою. Застосунок dotnet CLI виконує команди (open, move, resize, tile) зі стандартного введення й виводить схему екрана символами; помилки – у Console.Error.
Варіант 2. Медичні показники
1. Початковий рівень. Створити readonly struct BloodPressure із систолічним і діастолічним тиском та перелічення PressureCategory (оптимальний, нормальний, підвищений, гіпертензія). Визначити категорію для кількох вимірювань виразом switch і вивести її.
2. Базовий рівень. Створити readonly struct BloodPressure (систолічний і діастолічний тиск) з категорією-переліченням, запис Measurement(DateTime Time, BloodPressure Pressure, int Pulse) і метод, що повертає кортеж (BloodPressure Min, BloodPressure Max, double AvgPulse). Консольна програма читає введені вимірювання за тиждень і виводить звіт за категоріями.
3. Високий рівень. Створити бібліотеку щоденника здоров’я зі структурою BloodPressure, переліченням категорій тиску, записами вимірювань (час, тиск, пульс) і позиційними шаблонами для попереджень (високий тиск разом із високим пульсом). Застосунок dotnet CLI обробляє CSV вимірювань зі стандартного введення, виводить тенденції за днями й попередження; помилки формату – у Console.Error; коди завершення: 0, 1, 2.
Варіант 3. Комплектації автомобілів
1. Початковий рівень. Створити перелічення-прапорці CarOptions (кондиціонер, навігація, підігрів сидінь, камера, круїз-контроль тощо). Вивести опції базової та максимальної комплектацій і перевірити наявність опції методом HasFlag.
2. Базовий рівень. Створити перелічення-прапорці CarOptions (кондиціонер, навігація, камера тощо), запис комплектації з назвою, базовою ціною й опціями та таблицю цін опцій. Консольна програма обчислює вартість комплектацій, показує спільні опції двох комплектацій і опції, яких бракує до бажаного набору, введеного користувачем.
3. Високий рівень. Створити бібліотеку конфігуратора автомобіля з переліченням-прапорцями CarOptions, записами комплектацій (назва, базова ціна, опції), цінами опцій і правилами залежностей (камера потребує навігації) та несумісностей. Застосунок dotnet CLI розбирає бажані опції з аргументів (--options Navigation,Camera) через Enum.TryParse, перевіряє правила й підбирає найдешевшу комплектацію; помилки – у Console.Error.
Варіант 4. Гральні карти
1. Початковий рівень. Створити перелічення Suit і Rank та readonly record struct Card з мастю й рангом. Сформувати колоду з 52 карт і вивести її.
2. Базовий рівень. Створити перелічення Suit і Rank, readonly record struct Card і колоду з 52 карт з перемішуванням з фіксованим зерном, роздачею п’яти карт і визначенням найстаршої карти та наявності пари. Консольна програма роздає карти чотирьом гравцям і виводить їхні руки.
3. Високий рівень. Створити бібліотеку покеру з переліченнями Suit, Rank і HandRank, структурою Card та визначенням комбінацій (пара, дві пари, трійка, стрит, флеш, фул-хаус, каре, стрит-флеш) за позиційними шаблонами. Застосунок dotnet CLI порівнює руки з п’яти карт зі стандартного введення (AS KD 10H …) і виводить переможця; помилки – у Console.Error.
Варіант 5. Заявки служби підтримки
1. Початковий рівень. Створити перелічення TicketStatus і Priority та запис Ticket (номер, тема, статус, пріоритет). Вивести кілька заявок з назвами статусів і пріоритетів, відсортувавши їх за пріоритетом.
2. Базовий рівень. Створити запис заявки Ticket з переліченнями статусу й пріоритету та автомат переходів статусу (відкрита, у роботі, очікує клієнта, вирішена, закрита) виразом switch за кортежем (статус, дія). Консольна програма виконує введені дії над заявками й виводить історію змін.
3. Високий рівень. Створити бібліотеку служби підтримки з переліченнями статусу й пріоритету, незмінними записами заявок (зміна через with), переходами статусів, контролем термінів реакції за пріоритетом і повторним відкриттям. Застосунок dotnet CLI обробляє журнал подій зі стандартного введення, виводить прострочені заявки й статистику; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 6. Кольорові моделі
1. Початковий рівень. Створити readonly struct Rgb з компонентами 0–255 і методом ToHex(). Вивести кілька кольорів у шістнадцятковому записі.
2. Базовий рівень. Створити readonly struct Rgb (компоненти 0–255) і readonly struct Hsv, перетворення RGB ↔ HSV і розбір рядка #RRGGBB. Консольна програма будує палітру з відтінків введеного кольору, виводить її та перевіряє оборотність перетворення.
3. Високий рівень. Створити бібліотеку кольорів зі структурами RGB, HSV і CMYK, записом палітри та розрахунком контрастності за WCAG. Застосунок dotnet CLI генерує гармонійні палітри (доповняльна, тріада) для кольору з аргументів і виводить пари з недостатньою контрастністю; помилки – у Console.Error.
Варіант 7. Періоди дат
1. Початковий рівень. Створити readonly record struct DateRange з початком і кінцем типу DateOnly та методами Days і Contains. Перевірити, чи входять кілька дат у період відпустки, і вивести результат.
2. Базовий рівень. Створити readonly record struct DateRange з початком і кінцем типу DateOnly, методами Days, Contains, перетину (повертає DateRange?) та об’єднання суміжних періодів. Консольна програма перевіряє, чи перетинаються відпустки працівників, і виводить спільні дні.
3. Високий рівень. Створити бібліотеку календаря з readonly record struct DateRange (початок і кінець типу DateOnly), об’єднанням масиву періодів, вилученням вихідних і свят та кортежами статистики. Застосунок dotnet CLI обчислює кількість робочих днів у періодах зі стандартного введення; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 8. Оцінки ЄКТС
1. Початковий рівень. Створити перелічення EctsGrade (A–F) і метод, що перетворює бал 0–100 на оцінку виразом switch з реляційними шаблонами. Вивести оцінки для кількох балів.
2. Базовий рівень. Створити перелічення EctsGrade (A–F) з перетворенням бала 0–100 виразом switch, запис Result(string Student, string Subject, int Score) і метод, що повертає кортеж (double Average, EctsGrade Best, int Failed). Консольна програма виводить відомість групи з оцінками й підсумками.
3. Високий рівень. Створити бібліотеку обліку успішності з переліченнями оцінок ЄКТС і національної шкали, записами результатів (студент, дисципліна, бал), перевідними таблицями й розподілом оцінок. Застосунок dotnet CLI обробляє CSV з результатами зі стандартного введення й виводить відомість, гістограму оцінок і боржників; помилки – у Console.Error.
Варіант 9. Фігури тетраміно
1. Початковий рівень. Створити перелічення TetrominoKind (I, O, T, S, Z, J, L) і Rotation (0, 90, 180, 270). Вивести кожну фігуру символами.
2. Базовий рівень. Створити перелічення TetrominoKind і Rotation, readonly record struct Cell і запис фігури з типом, поворотом і позицією; реалізувати поворот виразом with. Консольна програма повертає фігуру за введеними командами й виводить її символами.
3. Високий рівень. Створити бібліотеку гри тетріс з переліченнями типів фігур і команд, записами фігур і клітинок, полем, перевіркою колізій та очищенням заповнених рядків. Застосунок dotnet CLI відтворює послідовність команд зі стандартного введення з фіксованим зерном і виводить поле та рахунок; помилки – у Console.Error.
Варіант 10. Результати матчів
1. Початковий рівень. Створити запис Match(string Home, string Away, int HomeGoals, int AwayGoals) і перелічення Outcome (перемога господарів, нічия, перемога гостей). Визначити й вивести результат кількох матчів.
2. Базовий рівень. Створити запис Match(string Home, string Away, int HomeGoals, int AwayGoals), перелічення результату Outcome, виправлення помилково внесеного рахунку виразом with і метод, що повертає кортеж (int Wins, int Draws, int Losses, int Points) для команди. Консольна програма виводить турнірну таблицю.
3. Високий рівень. Створити бібліотеку чемпіонату з незмінними записами матчів (команди, рахунок), переліченням результату, історією виправлень через with і додатковими показниками (різниця м’ячів, особисті зустрічі). Застосунок dotnet CLI обробляє результати матчів зі стандартного введення й виводить турнірну таблицю; помилки – у Console.Error.
Варіант 11. Фізичні величини
1. Початковий рівень. Створити перелічення LengthUnit (метр, кілометр, дюйм, фут, миля) і readonly struct Length зі значенням та одиницею. Перевести задану довжину в усі одиниці й вивести результати.
2. Базовий рівень. Створити перелічення одиниць довжини, маси й температури та структури Length, Mass і Temperature (значення й одиниця) з методами ConvertTo, Add і порівнянням. Консольна програма перетворює введені величини на обрану одиницю.
3. Високий рівень. Створити бібліотеку фізичних величин зі структурами (значення, одиниця-перелічення), розбором рядків (12.5 km, 3 lb) і таблицями коефіцієнтів. Застосунок dotnet CLI перетворює величини з аргументів на одиницю --to і підсумовує змішані одиниці; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 12. Ролі користувачів
1. Початковий рівень. Створити перелічення-прапорці Permission (читання, створення, редагування, видалення, адміністрування). Вивести дозволи трьох ролей і перевірити доступ до операцій.
2. Базовий рівень. Створити перелічення-прапорці Permission (читання, створення, редагування, видалення, адміністрування), запис User(string Login, Permission Granted, Permission Denied) і обчислення ефективних дозволів (надані ролями мінус заборонені). Консольна програма перевіряє введені запити доступу користувачів.
3. Високий рівень. Створити бібліотеку контролю доступу з переліченням-прапорцями Permission, записами користувачів і ролей, успадкуванням ролей і журналом перевірок. Застосунок dotnet CLI обробляє запити зі стандартного введення, розбирає дозволи через Enum.TryParse і виводить відмови з причинами; помилки – у Console.Error.
Варіант 13. Версії програм
1. Початковий рівень. Створити readonly record struct SemVersion(int Major, int Minor, int Patch) і вивести кілька версій та результат їх порівняння на рівність.
2. Базовий рівень. Створити readonly record struct SemVersion(int Major, int Minor, int Patch) з розбором рядка 1.4.2, реалізацією IComparable<SemVersion> і методами підвищення версії. Консольна програма сортує введені версії й визначає найновішу.
3. Високий рівень. Створити бібліотеку семантичних версій (readonly record struct з Major, Minor, Patch, розбором і порівнянням) з підтримкою суфіксів (2.0.0-beta.1) і діапазонів (>=1.2.0, ^1.4). Застосунок dotnet CLI підбирає з версій пакета зі стандартного введення найновішу, що задовольняє діапазон з аргументів; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 14. Спостереження за птахами
1. Початковий рівень. Створити запис Sighting(string Species, int Count, DateOnly Date) і вивести кілька спостережень з використанням деконструкції.
2. Базовий рівень. Створити запис Sighting(string Species, int Count, DateOnly Date), перелічення природоохоронного статусу виду й метод, що для виду повертає кортеж (int Total, DateOnly First, DateOnly Last). Консольна програма виводить звіт за видами з їхнім статусом.
3. Високий рівень. Створити бібліотеку орнітологічного обліку із записами маршрутів і спостережень (вид, кількість, дата), переліченням статусу виду, виявленням дублікатів за рівністю значень і позиційними шаблонами для рідкісних видів. Застосунок dotnet CLI обробляє CSV зі стандартного введення й виводить звіт за сезонами; помилки – у Console.Error.
Варіант 15. Олімпіада школярів
1. Початковий рівень. Створити перелічення Medal (немає, бронза, срібло, золото) і запис учасника з ім’ям, школою та балами. Визначити й вивести медаль кожного учасника за порогами.
2. Базовий рівень. Створити перелічення Medal і предметів, запис учасника (ім’я, школа, предмет, бали) з визначенням медалі за порогами й метод, що для школи повертає кортеж (int Gold, int Silver, int Bronze). Консольна програма виводить медальний залік шкіл.
3. Високий рівень. Створити бібліотеку олімпіади з переліченнями медалей і предметів, записами учасників (школа, предмет, бали), апеляціями (новий запис через with), обмеженням частки переможців і розподілом медалей за квотами. Застосунок dotnet CLI обробляє результати зі стандартного введення й виводить протокол; помилки – у Console.Error.
Варіант 16. Записник контактів
1. Початковий рівень. Створити запис Contact(string Name, string Phone, string Email). Сформувати кілька контактів і вивести результат порівняння двох однакових на рівність.
2. Базовий рівень. Створити запис Contact (ім’я, телефон, email) з нормалізацією телефону в конструкторі та перелічення групи контакту. Консольна програма знаходить серед введених контактів дублікати за рівністю значень і виводить контакти за групами.
3. Високий рівень. Створити бібліотеку контактів з незмінними записами Contact (ім’я, телефон, email, група), історією змін через with і злиттям дублікатів. Застосунок dotnet CLI імпортує контакти з CSV зі стандартного введення, об’єднує дублікати й виводить звіт змін; помилки – у Console.Error.
Варіант 17. Пральна машина
1. Початковий рівень. Створити перелічення WashProgram (бавовна, синтетика, делікатне, швидке) і вивести для кожної програми температуру й тривалість виразом switch.
2. Базовий рівень. Створити перелічення програм прання та етапів (замочування, прання, полоскання, віджимання, завершено) й автомат переходів з тривалістю кожного етапу. Консольна програма моделює цикл прання обраної програми поетапно.
3. Високий рівень. Створити бібліотеку пральної машини з переліченнями програм і етапів, автоматом переходів, переліченням-прапорцями додаткових опцій (попереднє прання, додаткове полоскання), паузою й аварійними станами. Застосунок dotnet CLI виконує сценарій подій зі стандартного введення й виводить хронологію станів; помилки – у Console.Error.
Варіант 18. Час доби
1. Початковий рівень. Створити readonly struct TimeOfDay з годинами й хвилинами, перевіркою в конструкторі та методом ToString. Вивести кілька моментів часу.
2. Базовий рівень. Створити readonly struct TimeOfDay (години й хвилини з перевіркою) з методами додавання хвилин з переходом через північ, різниці між моментами й порівняння. Консольна програма обчислює тривалість змін за введеними часом початку й кінця.
3. Високий рівень. Створити бібліотеку розкладу зі структурою TimeOfDay (години, хвилини), записами інтервалів і пошуком вільних вікон у кількох розкладах. Застосунок dotnet CLI знаходить спільний вільний час для зустрічі з розкладів зі стандартного введення; помилки – у Console.Error.
Варіант 19. Профілі друку
1. Початковий рівень. Створити перелічення PaperSize і Orientation та запис PrintProfile (розмір паперу, орієнтація, кількість копій, двосторонній друк). Вивести кілька профілів друку.
2. Базовий рівень. Створити перелічення PaperSize і Orientation, запис PrintProfile (папір, орієнтація, двосторонній друк, сторінок на аркуші) і профілі на основі стандартного виразами with (чернетка, фото, буклет); перевірити рівність профілів. Консольна програма обчислює кількість аркушів для документа за профілем.
3. Високий рівень. Створити бібліотеку друку з переліченнями розміру паперу й орієнтації, ієрархією записів (профіль, фотопрофіль), переліченням-прапорцями опцій і перевіркою сумісності з принтером. Застосунок dotnet CLI обирає профіль і його зміни з аргументів та виводить параметри завдання друку; помилки – у Console.Error.
Варіант 20. Групи крові
1. Початковий рівень. Створити перелічення BloodGroup (O, A, B, AB) і RhFactor та readonly record struct BloodType. Вивести всі вісім типів крові.
2. Базовий рівень. Створити перелічення BloodGroup і RhFactor, readonly record struct BloodType та перевірку сумісності донора й реципієнта виразом switch за кортежем. Консольна програма виводить таблицю сумісності та список можливих донорів для введеного типу крові пацієнта.
3. Високий рівень. Створити бібліотеку банку крові з типом крові (BloodGroup, RhFactor), правилами сумісності, записами донорів і запасів та підбором сумісних одиниць з пріоритетом ідентичної групи. Застосунок dotnet CLI обробляє запити зі стандартного введення й виводить видачу та залишки; помилки – у Console.Error.
Варіант 21. Розміри одягу
1. Початковий рівень. Створити перелічення розмірів ClothingSize (XS–XXL) і readonly struct BodyMeasurements з обхватами. Визначити й вивести розмір для кількох наборів мірок.
2. Базовий рівень. Створити перелічення розмірів ClothingSize (XS–XXL) і розмірних сіток (міжнародна, європейська, американська), readonly struct BodyMeasurements з обхватами й перетворення розмірів між сітками. Консольна програма підбирає розмір для введених мірок у всіх сітках.
3. Високий рівень. Створити бібліотеку підбору одягу з переліченням розмірів, структурою мірок BodyMeasurements, таблицями розмірів виробників і записами товарів. Застосунок dotnet CLI підбирає товари за мірками зі стандартного введення та порівнює час обробки масиву 1 000 000 мірок, оголошених структурою й класом; помилки – у Console.Error.
Варіант 22. Рівні журналювання
1. Початковий рівень. Створити перелічення LogLevel (Trace–Critical) і запис LogEntry (час, рівень, повідомлення). Вивести записи з рівнем не нижче заданого.
2. Базовий рівень. Створити перелічення LogLevel (Trace–Critical), запис LogEntry (час, рівень, повідомлення), розбір рядків журналу у записи та метод, що повертає кортеж лічильників за рівнями. Консольна програма фільтрує журнал за рівнем, введеним користувачем (Enum.TryParse).
3. Високий рівень. Створити бібліотеку аналізу журналів з переліченням LogLevel, записами LogEntry (час, рівень, категорія, повідомлення), переліченням-прапорцями категорій, групуванням повторюваних повідомлень і шаблонами властивостей для правил тривог. Застосунок dotnet CLI обробляє журнал зі стандартного введення за опціями --min-level і --category; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 23. Кліматичні зони
1. Початковий рівень. Створити перелічення ClimateZone і запис Station(string Name, double AvgTemp, int Rainfall). Визначити й вивести зону кожної станції виразом switch.
2. Базовий рівень. Створити перелічення ClimateZone, записи станції та місячних вимірювань (температура, опади) і метод, що повертає кортеж (double Min, double Max, int TotalRain). Консольна програма класифікує станції за річними даними виразом switch.
3. Високий рівень. Створити бібліотеку кліматичної класифікації (спрощена схема Кеппена) з переліченням зон, записами станцій і місячних вимірювань та позиційними шаблонами. Застосунок dotnet CLI обробляє дані станцій зі стандартного введення й виводить класифікацію та порівняння; помилки – у Console.Error.
Варіант 24. Авіаквитки
1. Початковий рівень. Створити перелічення ServiceClass і запис Ticket з пасажиром, рейсом, класом і ціною. Вивести квитки з назвами класів.
2. Базовий рівень. Створити перелічення ServiceClass, перелічення-прапорці послуг (багаж, вибір місця, харчування) і запис Ticket (пасажир, рейс, клас, послуги, ціна) з розрахунком ціни з надбавками. Консольна програма формує квитки та змінює клас виразом with.
3. Високий рівень. Створити бібліотеку бронювання з переліченням класів обслуговування, записами рейсів і квитків, місцями за класами й правилами обміну квитків. Застосунок dotnet CLI обробляє бронювання й обміни зі стандартного введення та виводить заповненість рейсів; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 25. Піксельна графіка
1. Початковий рівень. Створити readonly struct Pixel з компонентами RGB і зображення як двовимірний масив структур. Вивести зображення символами за яскравістю.
2. Базовий рівень. Створити readonly struct Pixel (компоненти RGB) і зображення як двовимірний масив пікселів з перетворенням у відтінки сірого, інверсією й відображенням. Консольна програма застосовує операції, виводить зображення символами за яскравістю та показує, що зміна копії пікселя не змінює масив.
3. Високий рівень. Створити бібліотеку зображень зі структурою Pixel (RGB), двовимірним масивом пікселів, розбором формату PPM (P3), фільтрами й гістограмою. Застосунок dotnet CLI читає PPM зі стандартного введення, застосовує фільтри з аргументів і виводить PPM; помилки – у Console.Error.
Варіант 26. Знаки зодіаку
1. Початковий рівень. Створити перелічення Zodiac і метод визначення знака за датою народження. Вивести знаки для кількох дат.
2. Базовий рівень. Створити перелічення Zodiac і стихій, межі знаків у масиві кортежів (Zodiac Sign, int FromMonth, int FromDay) і визначення знака пошуком у масиві. Консольна програма виводить знак і стихію для введеної дати народження.
3. Високий рівень. Створити бібліотеку календаря з переліченнями знаків зодіаку, стихій і тварин китайського календаря та визначенням їх за датою народження. Застосунок dotnet CLI обробляє дати зі стандартного введення й виводить розподіл за знаками; помилки – у Console.Error.
Варіант 27. Фінансові транзакції
1. Початковий рівень. Створити перелічення Category і readonly record struct Transaction з датою, сумою й категорією. Вивести транзакції за день.
2. Базовий рівень. Створити перелічення Category, readonly record struct Transaction (дата, сума, категорія) і метод, що повертає кортеж (decimal Income, decimal Expenses, decimal Balance) за період. Консольна програма виводить баланс за місяцями та витрати за категоріями.
3. Високий рівень. Створити бібліотеку особистих фінансів з транзакціями (readonly record struct: дата, сума, категорія-перелічення), бюджетами категорій, повторюваними платежами й попередженнями про перевищення. Застосунок dotnet CLI обробляє виписку CSV зі стандартного введення й виводить звіт; помилки – у Console.Error; коди завершення: 0, 1, 2.
Варіант 28. Ставки ПДВ у чеку
1. Початковий рівень. Створити перелічення VatRate (20 %, 7 %, 0 %) і запис позиції чека (товар, кількість, ціна, ставка). Обчислити й вивести ПДВ для кожної позиції.
2. Базовий рівень. Створити перелічення VatRate (20 %, 7 %, 0 %), запис позиції чека (товар, кількість, ціна, ставка) і метод, що повертає кортеж сум без ПДВ і податку за кожною ставкою. Консольна програма формує чек з введених позицій з підсумками за ставками.
3. Високий рівень. Створити бібліотеку касового обліку з переліченням ставок ПДВ, записами позицій і чеків, поверненнями (новий запис через with) і денним звітом. Застосунок dotnet CLI обробляє продажі й повернення зі стандартного введення та виводить Z-звіт; помилки – у Console.Error.
Варіант 29. Номери телефонів
1. Початковий рівень. Створити readonly struct PhoneNumber з кодом країни й номером і методом форматованого виведення. Вивести кілька номерів.
2. Базовий рівень. Створити readonly struct PhoneNumber (код країни, номер) з форматованим виведенням, розбором номерів у різних форматах (+380 67 123 45 67, 067-123-45-67) та перелічення операторів за кодом. Консольна програма нормалізує введені номери й визначає оператора.
3. Високий рівень. Створити бібліотеку номерів зі структурою PhoneNumber, переліченням операторів, перевіркою форматів кількох країн, рівністю значень і пошуком дублікатів. Застосунок dotnet CLI нормалізує список номерів зі стандартного введення й виводить статистику за операторами; помилки – у Console.Error.
Варіант 30. Лотерея
1. Початковий рівень. Створити запис квитка лотереї з номером і масивом із шести чисел. Сформувати кілька квитків і вивести їх.
2. Базовий рівень. Створити запис квитка лотереї (номер, шість чисел), перелічення категорій виграшу й метод перевірки квитка, що повертає кортеж (int Matches, decimal Prize). Консольна програма проводить тираж з фіксованим зерном і виводить виграшні квитки.
3. Високий рівень. Створити бібліотеку лотереї із записами квитків (номер, шість чисел), переліченням категорій виграшу, перевіркою коректності квитків, розподілом призового фонду між категоріями й статистикою тиражів. Застосунок dotnet CLI обробляє квитки зі стандартного введення й результати з аргументів та виводить звіт; помилки – у Console.Error.
Порядок виконання та захисту роботи
- Опрацювати теоретичні відомості та приклади розв’язання завдань.
- Визначити для свого варіанта, які дані описати структурами, записами, переліченнями та кортежами; обґрунтувати вибір.
- Створити рішення та проєкт; кожен тип розмістити в окремому файлі.
- Реалізувати типи відповідно до обраного рівня складності; для перелічень передбачити перевірку введених значень.
- Перевірити копіювання структур, рівність записів і роботу виразів
with; розглянути значення змінних у налагоджувачі. - Продемонструвати роботу програми викладачеві, пояснити програмний код і відповісти на контрольні питання.