← Назад к вопросам
Реализовать калькулятор
1.3 Junior🔥 131 комментариев
#Flutter виджеты#State Management
Условие
Создайте приложение-калькулятор с базовыми математическими операциями.
Требования
- Цифры 0-9
- Операции: +, -, *, /
- Кнопки: C (очистить), = (результат), . (десятичная точка)
- Отображение текущего ввода и результата
- Корректная обработка последовательных операций
Дополнительные баллы
- История вычислений
- Научный режим (sin, cos, sqrt, pow)
- Поддержка скобок
- Копирование результата в буфер обмена
- Тёмная/светлая тема
Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Flutter калькулятор с научным режимом
Полнофункциональный калькулятор с историей и поддержкой сложных операций.
Компоненты
- Calculator Model - логика вычислений
- UI Components - кнопки и дисплей
- State Management - управление состоянием
- History - сохранение истории операций
- Scientific Mode - расширенные функции
Функциональность
- Базовые операции: +, -, *, /
- Очистка: C для сброса
- Результат: = для вычисления
- Десятичные числа: поддержка точки
- Научные функции: sin, cos, sqrt, pow
- Скобки: поддержка ()
- История: сохранение последних вычислений
- Копирование: Copy to clipboard
- Темы: светлая и темная
- Клавиатура: поддержка физической клавиатуры
Архитектура
Файлы:
- calculator_model.dart - модель калькулятора
- calculator_screen.dart - главный экран
- history_screen.dart - история вычислений
- calculator_button.dart - кастомная кнопка
- calculator_display.dart - дисплей результата
Обработка ошибок
- Деление на ноль
- Некорректные выражения
- Математические ошибки (sqrt отрицательного числа)
- Переполнение значений
Состояния
- Ввод чисел - пользователь вводит значения
- Операция - выбрана операция
- Результат - показан результат вычисления
- Ошибка - показано сообщение об ошибке
Научный режим
Дополнительные кнопки:
- sin, cos, tan - тригонометрические функции
- sqrt - квадратный корень
- pow - возведение в степень
- ln, log - логарифмы
- % - процент
- ! - факториал
Интеграция с ОС
- Копирование результата в буфер обмена
- Поддержка системной клавиатуры
- Правильное отображение в светлой/темной теме
- Быстрая работа без задержек
История
Хранит:
- Выражение
- Результат
- Время вычисления
- Возможность повторного использования
Это production-ready калькулятор с полным функционалом!