Українська
Завдання
Відповідно до номера свого варіанта виконайте завдання обраного рівня складності.
Варіанти
Варіант 1. Розбір дат
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати дату ISO yyyy-MM-dd за календарем LocalDate; вивести день року; неправильний формат або неможливу дату відхилити зі збереженням причини. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати дату ISO yyyy-MM-dd за календарем LocalDate; вивести день року; неправильний формат або неможливу дату відхилити зі збереженням причини. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати дату ISO yyyy-MM-dd за календарем LocalDate; вивести день року; неправильний формат або неможливу дату відхилити зі збереженням причини. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 2. Калькулятор виразів
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати два int і один знак +,-,*,/; використовувати exact-арифметику, відхиляти нульовий дільник і MIN_VALUE/-1, вивести результат або причину. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати два int і один знак +,-,*,/; використовувати exact-арифметику, відхиляти нульовий дільник і MIN_VALUE/-1, вивести результат або причину. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати два int і один знак +,-,*,/; використовувати exact-арифметику, відхиляти нульовий дільник і MIN_VALUE/-1, вивести результат або причину. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 3. Конвертер одиниць
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати скінченну довжину 0..1000000 і одиницю mm/cm/m; вивести метри, невідому одиницю та значення поза межами відхилити. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати скінченну довжину 0..1000000 і одиницю mm/cm/m; вивести метри, невідому одиницю та значення поза межами відхилити. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати скінченну довжину 0..1000000 і одиницю mm/cm/m; вивести метри, невідому одиницю та значення поза межами відхилити. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 4. Реєстрація користувача
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати логін 3..20 ASCII-літер/цифр, вік 1..120 і email з одним @ та непорожніми частинами; вивести всі локальні помилки або прийняття, не перевіряти існування адреси. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати логін 3..20 ASCII-літер/цифр, вік 1..120 і email з одним @ та непорожніми частинами; вивести всі локальні помилки або прийняття, не перевіряти існування адреси. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати логін 3..20 ASCII-літер/цифр, вік 1..120 і email з одним @ та непорожніми частинами; вивести всі локальні помилки або прийняття, не перевіряти існування адреси. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 5. Продаж квитків
1. Початковий рівень. Створити консольну програму Java на JDK 27: масив 10 вільних місць; читати номери 1..10, зайняте або неіснуюче місце відхиляти без зміни масиву; вивести зайняті номери. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: масив 10 вільних місць; читати номери 1..10, зайняте або неіснуюче місце відхиляти без зміни масиву; вивести зайняті номери. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: масив 10 вільних місць; читати номери 1..10, зайняте або неіснуюче місце відхиляти без зміни масиву; вивести зайняті номери. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 6. Склад
1. Початковий рівень. Створити консольну програму Java на JDK 27: початковий залишок 100 одиниць; читати списання 1..100, при нестачі кидати власний виняток і зберігати залишок; вивести стан після кожної спроби. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: початковий залишок 100 одиниць; читати списання 1..100, при нестачі кидати власний виняток і зберігати залишок; вивести стан після кожної спроби. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: початковий залишок 100 одиниць; читати списання 1..100, при нестачі кидати власний виняток і зберігати залишок; вивести стан після кожної спроби. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 7. Електронний журнал
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати рядки оцінок 0..100 до EOF; неправильні рядки пропускати з номером і причиною; вивести середнє правильних або відсутність даних. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати рядки оцінок 0..100 до EOF; неправильні рядки пропускати з номером і причиною; вивести середнє правильних або відсутність даних. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати рядки оцінок 0..100 до EOF; неправильні рядки пропускати з номером і причиною; вивести середнє правильних або відсутність даних. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 8. Координати GPS
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати два скінченні числа latitude[-90,90], longitude[-180,180]; вивести нормалізований запис із 6 знаками, інші дані відхилити. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати два скінченні числа latitude[-90,90], longitude[-180,180]; вивести нормалізований запис із 6 знаками, інші дані відхилити. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати два скінченні числа latitude[-90,90], longitude[-180,180]; вивести нормалізований запис із 6 знаками, інші дані відхилити. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 9. Квадратний корінь
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати скінченне число 0..1e12; метод повертає Math.sqrt, для інших аргументів кидає IllegalArgumentException; вивести корінь. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати скінченне число 0..1e12; метод повертає Math.sqrt, для інших аргументів кидає IllegalArgumentException; вивести корінь. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати скінченне число 0..1e12; метод повертає Math.sqrt, для інших аргументів кидає IllegalArgumentException; вивести корінь. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 10. Паролі
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати навчальний рядок 8..64 символи ASCII з літерою і цифрою; вивести тільки перелік порушених правил без самого пароля; це перевірка формату, не гарантія захисту. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати навчальний рядок 8..64 символи ASCII з літерою і цифрою; вивести тільки перелік порушених правил без самого пароля; це перевірка формату, не гарантія захисту. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати навчальний рядок 8..64 символи ASCII з літерою і цифрою; вивести тільки перелік порушених правил без самого пароля; це перевірка формату, не гарантія захисту. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 11. Час доби
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати строго HH:mm, години 0..23, хвилини 0..59; повернути хвилини доби; розрізняти помилку формату та меж. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати строго HH:mm, години 0..23, хвилини 0..59; повернути хвилини доби; розрізняти помилку формату та меж. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати строго HH:mm, години 0..23, хвилини 0..59; повернути хвилини доби; розрізняти помилку формату та меж. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 12. Матричні операції
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати дві прямокутні матриці розміром 1..10 з int-елементами -100..100; перевірити узгодженість розмірів для множення, вивести добуток або причину без часткового результату. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати дві прямокутні матриці розміром 1..10 з int-елементами -100..100; перевірити узгодженість розмірів для множення, вивести добуток або причину без часткового результату. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати дві прямокутні матриці розміром 1..10 з int-елементами -100..100; перевірити узгодженість розмірів для множення, вивести добуток або причину без часткового результату. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 13. Мобільний трафік
1. Початковий рівень. Створити консольну програму Java на JDK 27: ліміт 10000 МБ, початкове використання 0; читати додатні цілі витрати до 10000, перевищення відхиляти без зміни використання; вивести залишок. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: ліміт 10000 МБ, початкове використання 0; читати додатні цілі витрати до 10000, перевищення відхиляти без зміни використання; вивести залишок. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: ліміт 10000 МБ, початкове використання 0; читати додатні цілі витрати до 10000, перевищення відхиляти без зміни використання; вивести залишок. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 14. IPv4-адреса
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати чотири десяткові компоненти 0..255 через крапку без знака; відхиляти зайві частини, вивести адресу та її long-подання. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати чотири десяткові компоненти 0..255 через крапку без знака; відхиляти зайві частини, вивести адресу та її long-подання. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати чотири десяткові компоненти 0..255 через крапку без знака; відхиляти зайві частини, вивести адресу та її long-подання. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 15. Масштабування рецепта
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати початкові порції 1..100, цільові 1..100 і грамові кількості 0..10000; вивести кількості, помножені на відношення порцій; NaN та невідомі одиниці відхиляти. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати початкові порції 1..100, цільові 1..100 і грамові кількості 0..10000; вивести кількості, помножені на відношення порцій; NaN та невідомі одиниці відхиляти. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати початкові порції 1..100, цільові 1..100 і грамові кількості 0..10000; вивести кількості, помножені на відношення порцій; NaN та невідомі одиниці відхиляти. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 16. Одометр
1. Початковий рівень. Створити консольну програму Java на JDK 27: початковий показник 1000 км; читати нові показники 1000..1000000, менші за попередній відхиляти без зміни стану; вивести пробіг інтервалу. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: початковий показник 1000 км; читати нові показники 1000..1000000, менші за попередній відхиляти без зміни стану; вивести пробіг інтервалу. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: початковий показник 1000 км; читати нові показники 1000..1000000, менші за попередній відхиляти без зміни стану; вивести пробіг інтервалу. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 17. Замовлення ресторану
1. Початковий рівень. Створити консольну програму Java на JDK 27: меню суп 60, салат 80, чай 30 грн; читати назву і кількість 1..20; невідомі страви відхиляти, вивести навчальну вартість прийнятих позицій. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: меню суп 60, салат 80, чай 30 грн; читати назву і кількість 1..20; невідомі страви відхиляти, вивести навчальну вартість прийнятих позицій. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: меню суп 60, салат 80, чай 30 грн; читати назву і кількість 1..20; невідомі страви відхиляти, вивести навчальну вартість прийнятих позицій. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 18. Розклад автобусів
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати пари HH:mm відправлення/прибуття однієї доби; прибуття має бути пізніше; вивести тривалість, некоректні рядки пропускати з причиною. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати пари HH:mm відправлення/прибуття однієї доби; прибуття має бути пізніше; вивести тривалість, некоректні рядки пропускати з причиною. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати пари HH:mm відправлення/прибуття однієї доби; прибуття має бути пізніше; вивести тривалість, некоректні рядки пропускати з причиною. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 19. Навчальні вимірювання
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати три цілі вимірювання з наперед заданими технічними межами 0..300, 0..300, 0..250; вивести лише перевірку діапазонів без медичної інтерпретації. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати три цілі вимірювання з наперед заданими технічними межами 0..300, 0..300, 0..250; вивести лише перевірку діапазонів без медичної інтерпретації. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати три цілі вимірювання з наперед заданими технічними межами 0..300, 0..300, 0..250; вивести лише перевірку діапазонів без медичної інтерпретації. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 20. Робот на полі
1. Початковий рівень. Створити консольну програму Java на JDK 27: поле 10x10, старт (0,0), команди N, S, E, W; вихід за поле та невідому команду відхилити власним винятком без зміни координат, вивести позицію. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: поле 10x10, старт (0,0), команди N, S, E, W; вихід за поле та невідому команду відхилити власним винятком без зміни координат, вивести позицію. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: поле 10x10, старт (0,0), команди N, S, E, W; вихід за поле та невідому команду відхилити власним винятком без зміни координат, вивести позицію. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 21. Бюджет подорожі
1. Початковий рівень. Створити консольну програму Java на JDK 27: початковий бюджет 100000 коп; читати додатні витрати, які не перевищують залишок; неправильний формат обгорнути з cause, вивести незмінний залишок після відмови. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: початковий бюджет 100000 коп; читати додатні витрати, які не перевищують залишок; неправильний формат обгорнути з cause, вивести незмінний залишок після відмови. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: початковий бюджет 100000 коп; читати додатні витрати, які не перевищують залишок; неправильний формат обгорнути з cause, вивести незмінний залишок після відмови. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 22. Оцінювання олімпіади
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати п’ять оцінок 0..10; неправильне значення повторити, EOF припиняє без підсумку; відкинути мінімум/максимум і вивести середнє трьох. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати п’ять оцінок 0..10; неправильне значення повторити, EOF припиняє без підсумку; відкинути мінімум/максимум і вивести середнє трьох. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати п’ять оцінок 0..10; неправильне значення повторити, EOF припиняє без підсумку; відкинути мінімум/максимум і вивести середнє трьох. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 23. Оплата парковки
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати час входу/виходу HH:mm однієї доби з виходом не раніше входу; тариф 20 грн за кожну почату годину, нульова тривалість безкоштовна; вивести оплату. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати час входу/виходу HH:mm однієї доби з виходом не раніше входу; тариф 20 грн за кожну почату годину, нульова тривалість безкоштовна; вивести оплату. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати час входу/виходу HH:mm однієї доби з виходом не раніше входу; тариф 20 грн за кожну почату годину, нульова тривалість безкоштовна; вивести оплату. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 24. Римські числа
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати один із I, II, III, IV, V, VI, VII, VIII, IX, X; вивести 1..10, усі інші записи відхиляти власним винятком формату. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати один із I, II, III, IV, V, VI, VII, VIII, IX, X; вивести 1..10, усі інші записи відхиляти власним винятком формату. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати один із I, II, III, IV, V, VI, VII, VIII, IX, X; вивести 1..10, усі інші записи відхиляти власним винятком формату. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 25. Калькулятор дробів
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати a,b,c,d від -1000 до 1000 з b,d!=0; вивести скорочений дріб a/b+c/d із додатним знаменником; нульові знаменники відхилити. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати a,b,c,d від -1000 до 1000 з b,d!=0; вивести скорочений дріб a/b+c/d із додатним знаменником; нульові знаменники відхилити. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати a,b,c,d від -1000 до 1000 з b,d!=0; вивести скорочений дріб a/b+c/d із додатним знаменником; нульові знаменники відхилити. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 26. Бронювання готелю
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати дати ISO заїзду/виїзду і ціну 1..100000 коп за добу; виїзд пізніше не більш як на 365 днів, вивести ночі та вартість, причини розбору зберегти. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати дати ISO заїзду/виїзду і ціну 1..100000 коп за добу; виїзд пізніше не більш як на 365 днів, вивести ночі та вартість, причини розбору зберегти. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати дати ISO заїзду/виїзду і ціну 1..100000 коп за добу; виїзд пізніше не більш як на 365 днів, вивести ночі та вартість, причини розбору зберегти. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 27. Лічильник електроенергії
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати попередній і новий цілі показники 0..1000000, новий не менший; навчальний тариф 5 грн за кВт·год, вивести споживання і суму. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати попередній і новий цілі показники 0..1000000, новий не менший; навчальний тариф 5 грн за кВт·год, вивести споживання і суму. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати попередній і новий цілі показники 0..1000000, новий не менший; навчальний тариф 5 грн за кВт·год, вивести споживання і суму. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 28. Контроль доступу
1. Початковий рівень. Створити консольну програму Java на JDK 27: навчальний PIN 2468; читати рівно 4 ASCII-цифри, після трьох невдалих коректно форматованих спроб блокувати сеанс; вивести стан без повторного друку PIN. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: навчальний PIN 2468; читати рівно 4 ASCII-цифри, після трьох невдалих коректно форматованих спроб блокувати сеанс; вивести стан без повторного друку PIN. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: навчальний PIN 2468; читати рівно 4 ASCII-цифри, після трьох невдалих коректно форматованих спроб блокувати сеанс; вивести стан без повторного друку PIN. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 29. Версії програм
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати два рядки major.minor.patch з невід’ємних int без суфіксів; порівняти числові трійки, неправильний формат відхилити, вивести -1, 0 або 1. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати два рядки major.minor.patch з невід’ємних int без суфіксів; порівняти числові трійки, неправильний формат відхилити, вивести -1, 0 або 1. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати два рядки major.minor.patch з невід’ємних int без суфіксів; порівняти числові трійки, неправильний формат відхилити, вивести -1, 0 або 1. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Варіант 30. Екзаменаційна відомість
1. Початковий рівень. Створити консольну програму Java на JDK 27: читати рядки ім’я;бал до EOF, ім’я непорожнє, бал 0..100; вивести прийняті рядки, середнє та номери відхилених із причиною. Оформити предметний метод із передумовами й конкретним стандартним винятком; перехопити очікувану відмову на межі консолі.
2. Базовий рівень. Створити консольну програму Java на JDK 27: читати рядки ім’я;бал до EOF, ім’я непорожнє, бал 0..100; вивести прийняті рядки, середнє та номери відхилених із причиною. Використати власний тип предметного винятку; під час обгортання зберегти cause. Перевірити звичайний, граничний і неправильний ввід та незмінність стану після відмови.
3. Високий рівень. Створити консольну програму Java на JDK 27: читати рядки ім’я;бал до EOF, ім’я непорожнє, бал 0..100; вивести прийняті рядки, середнє та номери відхилених із причиною. Відокремити предметні методи від CLI; приймати параметри ключ=значення або запитувати їх без аргументів. Зберігати cause, перевіряти стан після збою; показати один відтворюваний збій у налагоджувачі. Додати --help, перевірку формату, скінченності чисел і меж; помилки друкувати в stderr, коди 0 – успіх/довідка, 2 – неправильний ввід, 1 – операційний збій. Вивести вирівняний звіт із підсумком. Подати не менше п’яти контрольних випадків, README й локальну історію Git.
Порядок виконання та захисту роботи
- Сформулюйте передумови й типи очікуваних помилок.
- Відокремте предметні методи від читання й друку.
- Обробіть очікувану відмову на межі програми.
- Перевірте незмінність стану після збою.
- Збережіть cause при перетворенні винятку.
- Відтворіть одну помилку в налагоджувачі.
- Подайте таблицю перевірок, README та історію Git.