Українська
Завдання
Відповідно до номера свого варіанта виконайте завдання обраного рівня складності.
Варіанти
Варіант 1. Кредитний калькулятор
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач вводить суму кредиту, річну ставку (%) і строк у місяцях у поля NumericUpDown, натискає кнопку Calculate і бачить у написі щомісячний ануїтетний платіж, загальну суму виплат і переплату.
2. Базовий рівень. Створити застосунок Windows Forms для розрахунку кредиту, у якому користувач обирає у ComboBox схему погашення (ануїтетна або рівними частинами тіла кредиту) і вводить суму (від 1 000 до 5 000 000 грн), ставку та строк у текстові поля. Некоректні значення позначаються ErrorProvider, а графік платежів (місяць, платіж, тіло, відсотки, залишок) виводиться в DataGridView з підсумковим рядком у StatusStrip.
3. Високий рівень. Створити застосунок Windows Forms «Кредитний калькулятор» з головним меню File (Export CSV…, Exit) і Tools (Settings…). Головна форма за сумою, ставкою, строком і схемою погашення (ануїтетна або рівними частинами) будує графік платежів у DataGridView з урахуванням дострокових щомісячних доплат і дати першого платежу (DateTimePicker). Модальна форма налаштувань задає валюту та кількість знаків після коми і зберігає їх у файл JSON у папці %APPDATA%. Команда експорту записує графік у файл CSV через SaveFileDialog; помилки запису показуються в MessageBox.
Варіант 2. Замовлення піци
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач обирає розмір піци перемикачами RadioButton (25, 30 або 40 см) і додаткові інгредієнти прапорцями CheckBox, а напис одразу після кожної зміни показує вартість замовлення.
2. Базовий рівень. Створити застосунок Windows Forms для замовлення піци з вибором виду у ComboBox, розміру в групі GroupBox, інгредієнтів у CheckedListBox і кількості в NumericUpDown. Поля імені та телефону клієнта перевіряються ErrorProvider; кнопка Order доступна лише за коректних даних і показує чек у MessageBox зі знижкою 10 % на замовлення понад 1 000 грн.
3. Високий рівень. Створити застосунок Windows Forms «Піцерія» з головною формою замовлення (кошик позицій у ListBox із контекстним меню Remove), модальною формою підтвердження, яка показує чек і повертає DialogResult, та формою історії замовлень з DataGridView і фільтром за датою. Меню (ціни піц та інгредієнтів) завантажується з файлу JSON, а підтверджені замовлення дописуються в інший файл JSON. Кнопки й пункти меню мають мнемоніки та клавіші швидкого доступу.
Варіант 3. Конвертер валют
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач вводить суму в гривнях, обирає у ComboBox валюту (USD, EUR, PLN) з курсами, заданими в програмі, і після натискання кнопки бачить суму в обраній валюті з двома знаками після коми.
2. Базовий рівень. Створити застосунок Windows Forms для обміну валют з двома списками ComboBox (валюта «з» і «в»), кнопкою обміну напрямку та полем суми з перевіркою ErrorProvider (додатне число не більше 1 000 000). Результат перераховується під час введення, а кожна виконана конвертація додається в історію ListBox у форматі «100,00 USD → 4 150,00 UAH».
3. Високий рівень. Створити застосунок Windows Forms «Обмінник», який завантажує курси валют з файлу JSON, показує їх у DataGridView і конвертує суми між будь-якими двома валютами. Модальна форма Edit Rates дає змогу додавати, змінювати й видаляти курси з перевіркою коду валюти (три латинські літери) і значення; після підтвердження курси зберігаються у файл. Меню File відкриває інший файл курсів через OpenFileDialog.
Варіант 4. Анкета абітурієнта
1. Початковий рівень. Створити застосунок Windows Forms з полями прізвища, імені та дати народження (DateTimePicker) і кнопкою Submit, яка показує в MessageBox введені дані та вік абітурієнта в повних роках.
2. Базовий рівень. Створити застосунок Windows Forms «Анкета абітурієнта» з полями ПІБ, електронної пошти, телефону, дати народження, спеціальності (ComboBox) і балів трьох предметів (NumericUpDown, 100–200). Усі поля перевіряються в подіях Validating з ErrorProvider; вік має бути від 16 до 60 років. Після успішної перевірки застосунок показує конкурсний бал із ваговими коефіцієнтами обраної спеціальності.
3. Високий рівень. Створити застосунок Windows Forms «Приймальна комісія» з формою списку анкет (DataGridView з сортуванням за конкурсним балом) і модальною формою створення та редагування анкети з перевіркою всіх полів. Анкети зберігаються у файл JSON, обраний через меню File (Open…, Save, Save As…); під час закриття з незбереженими змінами застосунок пропонує зберегти їх. Рядок стану показує кількість анкет і середній бал.
Варіант 5. Вікторина
1. Початковий рівень. Створити застосунок Windows Forms, який показує одне питання з чотирма варіантами відповіді RadioButton і кнопку Check; після перевірки напис повідомляє, правильна відповідь чи ні, а правильний варіант виділяється жирним шрифтом.
2. Базовий рівень. Створити застосунок Windows Forms «Вікторина» з десятьма питаннями, заданими в програмі. Питання показуються по одному, кнопка Next доступна лише після вибору відповіді, ProgressBar показує прогрес, а таймер Timer дає 20 секунд на відповідь і автоматично переходить до наступного питання. Наприкінці MessageBox показує результат у відсотках.
3. Високий рівень. Створити застосунок Windows Forms «Вікторина», який завантажує питання з файлу JSON (текст, варіанти, номер правильного, кількість балів), обраного через OpenFileDialog, перемішує їх і проводить тест із таймером на кожне питання. Модальна підсумкова форма показує результат і таблицю відповідей з позначкою помилок. Результати (ім’я, дата, бали) дописуються у файл, а форма рекордів показує десять найкращих результатів.
Варіант 6. Облік пацієнтів
1. Початковий рівень. Створити застосунок Windows Forms з полями прізвища пацієнта, року народження (NumericUpDown) і діагнозу та кнопкою Add, яка додає рядок «прізвище, вік, діагноз» у список ListBox.
2. Базовий рівень. Створити застосунок Windows Forms «Облік пацієнтів» зі списком пацієнтів у DataGridView (прив’язка до BindingList<T>) і полем пошуку за прізвищем, яке фільтрує таблицю під час введення. Під час додавання перевіряються прізвище (лише літери, апостроф і дефіс), дата народження (не в майбутньому) і номер телефону; помилки показує ErrorProvider.
3. Високий рівень. Створити застосунок Windows Forms «Реєстратура» з головною формою списку пацієнтів (прізвище, дата народження, телефон) і модальними формами додавання пацієнта та запису на прийом (лікар у ComboBox, дата й час із перевіркою, що час вільний і належить робочим годинам). Контекстне меню таблиці містить команди редагування, видалення з підтвердженням і перегляду записів пацієнта. Дані зберігаються у файл JSON під час закриття й завантажуються під час запуску.
Варіант 7. Список завдань
1. Початковий рівень. Створити застосунок Windows Forms з полем введення, кнопкою Add і списком CheckedListBox, у якому позначене завдання можна видалити кнопкою Remove done.
2. Базовий рівень. Створити застосунок Windows Forms «Список завдань», у якому завдання має назву, пріоритет (ComboBox: Low, Normal, High) і термін (DateTimePicker). Порожня назва й термін у минулому не допускаються (ErrorProvider). Фільтр ComboBox показує всі, активні або прострочені завдання, а напис – кількість завдань за пріоритетами.
3. Високий рівень. Створити застосунок Windows Forms «Планувальник завдань» з таблицею завдань (назва, пріоритет, термін, позначка виконання) у DataGridView, панеллю інструментів ToolStrip (додати, редагувати, позначити виконаним), контекстним меню та модальною формою редагування. Застосунок зберігає завдання у файл JSON, а налаштування (розмір і положення вікна, останній фільтр) – в окремий файл, і відновлює їх під час запуску. Прострочені завдання виділяються жирним шрифтом, а рядок стану показує кількість невиконаних.
Варіант 8. Калькулятор палива
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач вводить відстань (км), витрату палива (л/100 км) і ціну літра та після натискання кнопки бачить потрібний об’єм палива й вартість поїздки.
2. Базовий рівень. Створити застосунок Windows Forms «Калькулятор палива» з вибором типу пального (RadioButton: бензин, дизель, газ) із цінами, заданими в програмі, прапорцем «поїздка туди й назад» і полями відстані та витрати з перевіркою діапазонів через ErrorProvider. Результат показує об’єм, вартість і частку кожного з пасажирів (NumericUpDown).
3. Високий рівень. Створити застосунок Windows Forms «Журнал поїздок» з таблицею поїздок (дата, маршрут, відстань, об’єм заправки, вартість) і модальною формою додавання поїздки з перевіркою полів. Окрема форма статистики показує середню витрату, загальні витрати за обраний місяць і найдорожчу поїздку. Ціни пального редагуються у формі налаштувань і разом із поїздками зберігаються у файли JSON; меню File експортує журнал у CSV.
Варіант 9. Розклад занять
1. Початковий рівень. Створити застосунок Windows Forms, у якому TableLayoutPanel з п’ятьма стовпцями (дні тижня) і чотирма рядками (пари) містить написи з назвами дисциплін, заданими в програмі, а клік на написі показує в MessageBox день, номер пари й дисципліну.
2. Базовий рівень. Створити застосунок Windows Forms «Розклад занять», у якому таблиця тижня побудована з TableLayoutPanel і кнопок. Клік на клітинці відкриває модальну форму з полями дисципліни, аудиторії та типу заняття (ComboBox); порожня дисципліна не допускається, а кнопка Clear звільняє клітинку. Таблиця розтягується разом із вікном.
3. Високий рівень. Створити застосунок Windows Forms «Розклад групи» з вибором групи в ComboBox, таблицею тижня (дні й пари) на TableLayoutPanel і модальною формою редагування заняття (дисципліна, аудиторія, тип заняття). Застосунок перевіряє конфлікти (та сама аудиторія в той самий час в іншій групі) і повідомляє про них. Розклади всіх груп зберігаються в один файл JSON через меню File, а команда Print to file записує розклад обраної групи у текстовий файл у вигляді таблиці.
Варіант 10. Каталог фільмів
1. Початковий рівень. Створити застосунок Windows Forms зі списком ListBox із п’яти фільмів, заданих у програмі; після вибору фільму написи показують рік, жанр і рейтинг, а PictureBox – постер із файлу поруч із програмою.
2. Базовий рівень. Створити застосунок Windows Forms «Каталог фільмів» (назва, рік, жанр, рейтинг, постер; фільми задано в програмі) з фільтром за жанром (ComboBox) і мінімальним рейтингом (TrackBar), списком фільмів, що відповідають фільтру, та панеллю деталей. Кнопка Poster… обирає зображення через OpenFileDialog і перевіряє, що файл є зображенням; помилку показує MessageBox.
3. Високий рівень. Створити застосунок Windows Forms «Фільмотека» з таблицею фільмів, модальною формою додавання та редагування (назва, рік, жанри в CheckedListBox, рейтинг, постер), розділеною SplitContainer головною формою (таблиця і панель деталей з постером) і пошуком за назвою. Каталог зберігається у файл JSON, постери копіюються в папку даних застосунку; меню View перемикає сортування за назвою, роком або рейтингом.
Варіант 11. Касовий апарат
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач обирає товар у ComboBox із цінами, заданими в програмі, вводить кількість у NumericUpDown і натискає Add; товар додається в ListBox, а напис показує загальну суму.
2. Базовий рівень. Створити застосунок Windows Forms «Каса», у якому товар із цінами, заданими в програмі, обирається в ComboBox і з кількістю додається в кошик DataGridView (товар, ціна, кількість, сума); позиції можна видаляти, а знижку задає промокод у текстовому полі (перевірка за списком кодів, помилку показує ErrorProvider). Кнопка Pay відкриває MessageBox з сумою до сплати й рештою від внесеної готівки.
3. Високий рівень. Створити застосунок Windows Forms «Касовий апарат» з довідником товарів у файлі JSON, пошуком товару за кодом або назвою, кошиком у DataGridView і модальною формою оплати (готівка або картка, перевірка внесеної суми). Після оплати чек зберігається в текстовий файл із номером, датою й часом, а меню Reports показує денну виручку.
Варіант 12. Облік спортсменів
1. Початковий рівень. Створити застосунок Windows Forms з полями імені спортсмена й результату в секундах і кнопкою Add, яка додає спортсмена в ListBox; кнопка Best показує в MessageBox спортсмена з найкращим (найменшим) часом.
2. Базовий рівень. Створити застосунок Windows Forms «Змагання з бігу», у якому результати (ім’я, країна, час у форматі хв:сс,сс) вводяться з перевіркою формату й показуються в DataGridView, відсортованому за часом. Рядок стану показує кількість учасників і найкращий час.
3. Високий рівень. Створити застосунок Windows Forms «Турнір» з кількома дисциплінами (ComboBox), таблицею результатів кожної дисципліни (спортсмен, країна, результат, місце), модальною формою додавання результату та формою загального рейтингу країн за медалями. Дані змагань відкриваються й зберігаються у файли JSON через меню File; команда Export записує протокол обраної дисципліни у CSV.
Варіант 13. Нотатник рецептів
1. Початковий рівень. Створити застосунок Windows Forms зі списком назв рецептів (ListBox) і багаторядковим полем TextBox, яке показує текст обраного рецепта; рецепти задано в програмі.
2. Базовий рівень. Створити застосунок Windows Forms «Книга рецептів» з головним меню File (New, Open…, Save, Exit), у якому рецепт має назву, категорію, список інгредієнтів і опис приготування. Порожня назва не допускається, а під час закриття з незбереженими змінами застосунок питає, чи зберегти рецепт у текстовий файл.
3. Високий рівень. Створити застосунок Windows Forms «Кулінарна книга» (рецепт: назва, категорія, інгредієнти, опис приготування) з деревом категорій TreeView, списком рецептів, панеллю перегляду та модальною формою редагування рецепта. Пошук за інгредієнтом показує рецепти, які його містять, а форма Shopping list збирає інгредієнти обраних рецептів. Книга зберігається у файл JSON; розмір шрифту перегляду обирається FontDialog і зберігається в налаштуваннях.
Варіант 14. Тест швидкості друку
1. Початковий рівень. Створити застосунок Windows Forms, який показує речення-зразок; користувач набирає його в поле, а після натискання Done напис показує час набору в секундах і кількість символів за хвилину.
2. Базовий рівень. Створити застосунок Windows Forms «Тренажер друку», у якому відлік часу починається з першого натиснутого символу, Timer оновлює напис часу та швидкості щосекунди, а кожна помилка (символ, що не збігається зі зразком) підраховується. Після завершення поле блокується, а MessageBox показує швидкість і точність у відсотках.
3. Високий рівень. Створити застосунок Windows Forms «Тренажер друку» з вибором рівня складності, текстами з файлу, підсвічуванням поточної позиції в зразку (RichTextBox) і таблицею рекордів у модальній формі. Рекорди (ім’я, дата, швидкість, точність) зберігаються у файл JSON, а рівень і тривалість тесту (1–5 хвилин) – у файл налаштувань.
Варіант 15. Бронювання готелю
1. Початковий рівень. Створити застосунок Windows Forms з двома DateTimePicker (заїзд і виїзд), вибором типу номера в ComboBox з цінами за ніч і кнопкою, яка показує кількість ночей і вартість.
2. Базовий рівень. Створити застосунок Windows Forms «Бронювання», у якому користувач обирає тип номера (ціна за ніч і місткість задано в програмі), дати заїзду й виїзду, кількість гостей і сніданок (прапорець). Дата заїзду не може бути в минулому, а виїзд має бути пізніше за заїзд (ErrorProvider), кількість гостей обмежено місткістю номера. Вартість з урахуванням вихідних днів (+20 %) і знижки від 7 ночей виводиться в написі з розрахунком.
3. Високий рівень. Створити застосунок Windows Forms «Готель» зі списком бронювань (гість, номер, дати заїзду й виїзду, вартість) у DataGridView, модальною формою створення бронювання, яка не допускає перетину дат для одного номера, і формою заповнюваності номерів на обраний місяць. Бронювання зберігаються у файл JSON, а скасування бронювання виконується з контекстного меню з підтвердженням.
Варіант 16. Облік оцінок
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач вводить п’ять оцінок студента (NumericUpDown, 0–100) і після натискання кнопки бачить середній бал і оцінку ECTS.
2. Базовий рівень. Створити застосунок Windows Forms «Журнал оцінок» з таблицею DataGridView (студент і оцінки з п’яти дисциплін), у якій введені значення перевіряються (цілі 0–100), середній бал рахується в окремому стовпці, а рядки студентів із середнім балом нижче 60 виділяються жирним шрифтом.
3. Високий рівень. Створити застосунок Windows Forms «Електронний журнал» з вибором групи й дисципліни, таблицею оцінок, модальною формою додавання студента та формою статистики (середній бал групи, розподіл за шкалою ECTS, список боржників). Журнал відкривається й зберігається у файли JSON через меню File, а відомість обраної дисципліни експортується у CSV.
Варіант 17. Конвертер одиниць
1. Початковий рівень. Створити застосунок Windows Forms, який перетворює довжину: користувач вводить значення, обирає одиниці «з» і «в» у двох ComboBox (мм, см, м, км, дюйм, фут) і бачить результат після натискання кнопки.
2. Базовий рівень. Створити застосунок Windows Forms «Конвертер одиниць» з категоріями величин (довжина, маса, температура, швидкість) у ComboBox, від яких залежить список одиниць. Значення перевіряється ErrorProvider (для температури – не нижче абсолютного нуля), результат оновлюється під час введення, а кожне перетворення додається в історію ListBox.
3. Високий рівень. Створити застосунок Windows Forms «Конвертер одиниць», який завантажує категорії й коефіцієнти одиниць з файлу JSON, дає змогу додавати власні одиниці в модальній формі з перевіркою та зберігає історію перетворень у файл. Контекстне меню історії копіює результат у буфер обміну або повторює перетворення.
Варіант 18. Банкомат
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач вводить PIN-код у поле з UseSystemPasswordChar, а після правильного коду напис показує баланс рахунку.
2. Базовий рівень. Створити застосунок Windows Forms «Банкомат» з модальною формою введення PIN (три спроби, після них програма завершується) і головною формою операцій: перегляд балансу, зняття готівки (сума кратна 100, не більше балансу і 10 000 грн за раз), поповнення. Кожна операція додається в журнал ListBox з часом і сумою.
3. Високий рівень. Створити застосунок Windows Forms «Банкомат» з кількома картками, збереженими у файлі JSON (номер, хеш PIN, баланс, денний ліміт), формою вибору картки, формою PIN, формою операцій і формою виписки з DataGridView за обраний період. Операції та нові баланси зберігаються у файл; клавіатура на екрані з кнопок 0–9 використовує один обробник для всіх кнопок.
Варіант 19. Прокат інструментів
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач обирає інструмент у ComboBox з добовою ціною, задає дати видачі й повернення (DateTimePicker) і бачить вартість.
2. Базовий рівень. Створити застосунок Windows Forms «Прокат інструментів» (інструменти з добовими цінами задано в програмі) з формою видачі (клієнт, телефон, інструмент, дата повернення з перевіркою) і списком виданих інструментів. Під час повернення застосунок рахує штраф 50 % добової ціни за кожен день прострочення й показує розрахунок у MessageBox.
3. Високий рівень. Створити застосунок Windows Forms «Пункт прокату» з довідником інструментів і клієнтів (DataGridView на окремих вкладках TabControl), модальними формами видачі й повернення, виділенням прострочених видач жирним шрифтом і звітом про виручку за місяць. Усі дані зберігаються у файли JSON, а заставу й відсоток штрафу задає форма налаштувань.
Варіант 20. Гра «Хрестики-нулики»
1. Початковий рівень. Створити застосунок Windows Forms із дев’ятьма кнопками поля 3×3, на яких по черзі ставляться «X» і «O»; усі кнопки обробляє один обробник події Click.
2. Базовий рівень. Створити застосунок Windows Forms «Хрестики-нулики» з полем на TableLayoutPanel, яке розтягується разом із вікном, перевіркою перемоги та нічиєї, повідомленням MessageBox про результат, рахунком гравців у StatusStrip і кнопкою New game.
3. Високий рівень. Створити застосунок Windows Forms «Хрестики-нулики» з грою проти комп’ютера (простий алгоритм: виграти, заблокувати, центр, кут), вибором розміру поля 3×3 або 5×5 (перемога – чотири в ряд) у модальній формі налаштувань, іменами гравців і таблицею результатів, які зберігаються у файл JSON. Меню Game має пункти New, Undo (скасувати останній хід) і Exit з клавішами швидкого доступу.
Варіант 21. Облік автосервісу
1. Початковий рівень. Створити застосунок Windows Forms з полями номера авто, опису робіт і вартості та кнопкою Add, яка додає замовлення-наряд у ListBox і оновлює загальну суму.
2. Базовий рівень. Створити застосунок Windows Forms «Автосервіс» з таблицею замовлень-нарядів (номер авто, клієнт, роботи, вартість, статус у ComboBox: New, In progress, Done), перевіркою номера авто за шаблоном AA1234BB і фільтром за статусом. Рядок стану показує кількість незавершених замовлень і суму виконаних.
3. Високий рівень. Створити застосунок Windows Forms «Автосервіс» з головною формою замовлень, модальною формою наряду зі списком робіт і запчастин (DataGridView у формі), довідником механіків і пошуком за номером авто. Статус змінюється з контекстного меню, а виконаний наряд друкується в текстовий файл. Усі дані зберігаються у файли JSON.
Варіант 22. Таймер Pomodoro
1. Початковий рівень. Створити застосунок Windows Forms із написом зворотного відліку 25:00, кнопками Start і Pause та компонентом Timer, який щосекунди зменшує час і після завершення показує MessageBox.
2. Базовий рівень. Створити застосунок Windows Forms «Pomodoro», у якому тривалість роботи, короткої й довгої перерви задаються NumericUpDown (1–60 хв), цикли змінюються автоматично (після чотирьох робочих інтервалів – довга перерва), ProgressBar показує прогрес, а заголовок вікна – залишок часу. Кнопка Reset зупиняє цикл.
3. Високий рівень. Створити застосунок Windows Forms «Pomodoro» – таймер робочих інтервалів і перерв – з формою налаштувань (тривалості, звуковий сигнал SystemSounds, автоматичний старт наступного інтервалу), що зберігаються у файл JSON, назвою поточного завдання та журналом сесій. Форма статистики показує в DataGridView кількість робочих інтервалів і загальний час за кожен день.
Варіант 23. Генератор паролів
1. Початковий рівень. Створити застосунок Windows Forms, який після натискання кнопки генерує пароль довжиною з NumericUpDown (8–32) з великих і малих латинських літер і цифр та показує його в полі тільки для читання.
2. Базовий рівень. Створити застосунок Windows Forms «Генератор паролів» з прапорцями груп символів (великі, малі літери, цифри, спецсимволи); хоча б одна група обов’язкова (ErrorProvider), а пароль містить символи кожної обраної групи. Напис оцінює надійність (Weak, Medium, Strong), а кнопка Copy копіює пароль у буфер обміну.
3. Високий рівень. Створити застосунок Windows Forms «Генератор паролів» з режимами «пароль» і «фраза з англійських слів із файлу», генерацією кількох паролів у ListBox з контекстним меню Copy, оцінкою ентропії в бітах і налаштуваннями, які зберігаються у файл JSON. Паролі генеруються криптографічно стійким генератором RandomNumberGenerator, а збереження паролів у файл вимагає підтвердження.
Варіант 24. Облік бібліотеки
1. Початковий рівень. Створити застосунок Windows Forms зі списком книг, заданих у програмі, і кнопкою Issue, яка позначає обрану книгу виданою та вимикає її повторну видачу.
2. Базовий рівень. Створити застосунок Windows Forms «Бібліотека» з таблицею книг (автор, назва, рік, стан; книги задано в програмі) у DataGridView з BindingList<T> і формою видачі книги читачеві з датою повернення (не більше 30 днів). Пошук фільтрує книги за автором або назвою.
3. Високий рівень. Створити застосунок Windows Forms «Бібліотека» з двома формами-довідниками (книги й читачі), модальними формами видачі та повернення, формою прострочених видач та історією видач читача. Дані зберігаються у файли JSON; меню Reports експортує список прострочених книг у CSV.
Варіант 25. Калькулятор калорій
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач обирає продукт у ComboBox з калорійністю на 100 г, заданою в програмі, вводить масу порції й бачить кількість кілокалорій.
2. Базовий рівень. Створити застосунок Windows Forms «Щоденник харчування» з довідником продуктів (білки, жири, вуглеводи й калорії на 100 г), заданим у програмі, додаванням продуктів до раціону дня (продукт, маса з перевіркою 1–2000 г), таблицею раціону з білками, жирами, вуглеводами й калоріями та підсумком дня. Денна норма задається NumericUpDown, а перевищення позначається написом і MessageBox.
3. Високий рівень. Створити застосунок Windows Forms «Калькулятор калорій» з довідником продуктів у файлі JSON і формою його редагування, раціоном за обрану дату (DateTimePicker), формою розрахунку добової норми за формулою Міффліна – Сан Жеора та статистикою за тиждень. Раціони зберігаються у файл, а меню File експортує раціон дня у CSV.
Варіант 26. Реєстр транспорту
1. Початковий рівень. Створити застосунок Windows Forms з полями марки, моделі, року випуску й номерного знака та кнопкою Register, яка додає авто у ListBox.
2. Базовий рівень. Створити застосунок Windows Forms «Реєстр транспорту» з таблицею транспортних засобів і формою реєстрації, у якій номерний знак перевіряється за шаблоном AA1234BB, VIN – на 17 символів без літер I, O, Q, а рік – у межах 1950–поточний. Повторна реєстрація того самого знака не допускається; помилки показує ErrorProvider.
3. Високий рівень. Створити застосунок Windows Forms «Реєстр транспорту» з головною формою пошуку (за номером, VIN, власником), модальними формами реєстрації авто й зміни власника, історією власників авто та фільтром за типом транспорту. Реєстр зберігається у файл JSON, а меню File імпортує записи з CSV з повідомленням про кількість відхилених рядків.
Варіант 27. Гра «Пам’ять»
1. Початковий рівень. Створити застосунок Windows Forms із вісьмома кнопками, під якими приховано чотири пари чисел; клік відкриває число на кнопці, а відкрита пара однакових чисел вимикається.
2. Базовий рівень. Створити застосунок Windows Forms «Пам’ять» з полем 4×4 на TableLayoutPanel, перемішуванням пар, закриттям двох різних карток через секунду за допомогою Timer, лічильником спроб і часу гри. Після знаходження всіх пар MessageBox показує результат, а кнопка New game перемішує картки.
3. Високий рівень. Створити застосунок Windows Forms «Пам’ять» з вибором розміру поля (4×4, 6×6) у формі налаштувань, зображеннями на картках з папки застосунку, режимом двох гравців із підрахунком пар кожного та таблицею рекордів у модальній формі. Рекорди й налаштування зберігаються у файли JSON.
Варіант 28. Облік тренувань
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач обирає вправу в ComboBox, вводить кількість підходів, повторень і вагу та бачить загальний тоннаж тренування (підходи × повторення × вага).
2. Базовий рівень. Створити застосунок Windows Forms «Щоденник тренувань» з додаванням вправ до тренування обраної дати, таблицею підходів з перевіркою значень (повторення 1–100, вага 0–500 кг) і підсумком тренування: кількість вправ, тоннаж, тривалість.
3. Високий рівень. Створити застосунок Windows Forms «Облік тренувань» з довідником вправ, журналом тренувань, модальною формою тренування та формою прогресу за тиждень (тоннаж по днях у DataGridView, найкращий результат кожної вправи). Дані зберігаються у файли JSON, а меню File експортує журнал за обраний період у CSV.
Варіант 29. Адресна книга
1. Початковий рівень. Створити застосунок Windows Forms зі списком контактів, заданих у програмі, і написами, які показують телефон і електронну пошту обраного контакту.
2. Базовий рівень. Створити застосунок Windows Forms «Адресна книга» з SplitContainer: ліворуч список контактів із групами (родина, робота, друзі) у ComboBox-фільтрі, праворуч поля контакту з перевіркою електронної пошти й телефону через ErrorProvider і кнопками Save та Delete (з підтвердженням).
3. Високий рівень. Створити застосунок Windows Forms «Адресна книга» з деревом груп TreeView, списком контактів, модальною формою редагування контакту з фото (PictureBox, OpenFileDialog) та імпортом контактів з CSV через меню File з перевіркою кожного рядка й звітом про помилки. Книга зберігається у файл JSON.
Варіант 30. Магазин квітів
1. Початковий рівень. Створити застосунок Windows Forms, у якому користувач задає кількість троянд, тюльпанів і хризантем у NumericUpDown з цінами, заданими в програмі, і бачить вартість букета.
2. Базовий рівень. Створити застосунок Windows Forms «Квіткова крамниця» зі складанням букета з позицій (квітка у ComboBox, кількість), таблицею позицій, пакуванням (RadioButton) і листівкою (CheckBox з текстом до 100 символів). Букет має містити непарну кількість квітів, інакше ErrorProvider показує помилку; вартість оновлюється після кожної зміни.
3. Високий рівень. Створити застосунок Windows Forms «Магазин квітів» з каталогом квітів і залишків у файлі JSON, конструктором букета, модальною формою оформлення замовлення (клієнт, телефон, адреса, дата й час доставки з перевіркою) і формою списку замовлень із фільтром за датою доставки. Після оформлення залишки зменшуються, замовлення зберігаються у файл.
Порядок виконання та захисту роботи
- Опрацювати теоретичні відомості та приклади розв’язання завдань.
- Намалювати ескіз кожної форми, визначити елементи керування, їхні імена та події; створити у Visual Studio 2026 проєкт Windows Forms App (.NET 10).
- Розмістити елементи в конструкторі форм, налаштувати компонування (
Anchor,Dock, панелі компонування), порядок переходу Tab, мнемоніки,AcceptButtonіCancelButton. - Реалізувати обробники подій, перевірку введених даних (
ErrorProvider,MessageBox) і роботу з файлами; обчислення винести в окремі методи або класи. - Зібрати проєкт без попереджень і перевірити роботу застосунку на коректних, некоректних і граничних даних, зі зміною розміру вікна.
- Продемонструвати роботу застосунку викладачеві, пояснити програмний код і відповісти на контрольні питання.