ДЗ_3 - maxred01/QA1825 GitHub Wiki


Задача 1: Система безопасности банка

Условие: Пользователь пытается снять деньги в банкомате.

  • Проверьте ПИН-код (должен быть 4 цифры)
  • Проверьте баланс (нельзя снять больше, чем есть)
  • Проверьте лимит за день (не более 100 000 руб)

Если все условия выполнены, разрешите операцию. Выводите конкретные сообщения об ошибках.


Задача 2: Умный термостат

Условие: Система анализирует:

  • Время суток (утро: 6-11, день: 12-17, вечер: 18-23, ночь: 0-5)
  • Погоду на улице (холодно/тепло)
  • Наличие людей дома (да/нет)

Правила:

  • Если люди дома и холодно → 22°C
  • Если люди дома и тепло → 20°C
  • Если ночь → 18°C
  • Если нет людей → 16°C

Задача 3: Валидатор пароля

Условие: Пароль должен содержать:

  • Минимум 8 символов
  • Хотя бы 1 цифру
  • Хотя бы 1 букву в верхнем регистре
  • Хотя бы 1 спецсимвол (!@#$%^&*)

Выведите список проблем, если пароль невалиден.


Задача 4: Конвертер дат

Условие: Пользователь вводит дату в формате:

  • "ДД.ММ.ГГГГ" или "ДД/ММ/ГГГГ" Программа должна:
  • Проверить корректность формата
  • Преобразовать в ISO-формат (ГГГГ-ММ-ДД)
  • Определить день недели

Задача 5: Калькулятор налогов

Условие: Рассчитайте налог по прогрессивной шкале:

  • Доход ≤ 20 000 → 10%
  • 20 000 < доход ≤ 50 000 → 20% на часть превышения
  • Доход > 50 000 → 30% на превышение + фиксированный платеж 5000

Задача 6: Система рекомендаций фильмов

Условие: Рекомендуйте фильм на основе:

  • Возраста пользователя
  • Любимого жанра (комедия, фантастика, ужасы)
  • Времени просмотра (утро/вечер)

Правила:

  • Детям < 12 → только мультфильмы
  • Утром → легкие жанры
  • Вечером → любые жанры

Задача 7: Анализатор здоровья

Условие: На основе введенных данных:

  • Возраст
  • Вес (кг)
  • Рост (м)
  • Курение (да/нет)

Рассчитайте:

  1. ИМТ (вес / рост²)
  2. Риск для здоровья:
    • ИМТ > 30 → высокий
    • Курение и возраст > 40 → высокий
    • Остальные → умеренный

Задача 8: Конвертер валют с комиссиями

Условие: Пользователь вводит:

  • Сумму в рублях
  • Целевую валюту (USD, EUR, CNY)
  • Тип операции (покупка/продажа)

Курс и комиссии:

  • USD: 90 руб (покупка), 88 руб (продажа), комиссия 1.5%
  • EUR: 100 руб (покупка), 98 руб (продажа), комиссия 1%

Задача 9: Система контроля доступа

Условие: Проверьте доступ в зону:

  • Сотрудник: доступ всегда
  • Контрагент: только с 9:00 до 18:00 в будни
  • Гость: только с сопровождающим

Дополнительные условия:

  • Экстренная ситуация → доступ всем
  • Проверка на запрещенный список

Задача 10: Генератор научных гипотез

Условие: На основе введенных параметров:

  • Температура (°C)
  • Давление (кПа)
  • Наличие катализатора (да/нет)

Сгенерируйте гипотезу:

  • t < 0 и давление > 100 → "Образование льда"
  • t > 100 и катализатор → "Реакция синтеза"
  • t > 200 и давление > 500 → "Плазменное состояние"
  • Иначе → "Стабильное состояние"