Почему IP не является десятичной дробью
В зачёте питчера три аута составляют один иннинг, а один аут составляет треть иннинга. Поэтому запись N.1 означает N полных иннингов и ещё один аут, а N.2 — N полных иннингов и ещё два аута.
Запись 3.2 не равна трём целым и двум десятым иннинга. Это 3 полных иннинга и 2 аута. Запись 2.1 означает 2 полных иннинга и 1 аут.
| Питчер | Запись IP | Полные иннинги в аутах | Дополнительные ауты | Всего аутов |
|---|---|---|---|---|
| Первый | 3.2 | 3 × 3 = 9 | 2 | 11 |
| Второй | 2.1 | 2 × 3 = 6 | 1 | 7 |
Расчёт суммы 3.2 + 2.1
Вымышленный пример: первый питчер записал 3.2 IP, второй — 2.1 IP. Сначала переводим каждую запись в ауты: 3 × 3 + 2 = 11, затем 2 × 3 + 1 = 7.
Складываем ауты: 11 + 7 = 18. Переводим обратно в иннинги: 18 ÷ 3 = 6 полных иннингов и 0 дополнительных аутов. Результат: 6.0 IP.
Прямое сложение цифр после точки здесь дало бы 3.2 + 2.1 = 5.3, но запись 5.3 не используется для трёх аутов: после двух дополнительных аутов следующий аут завершает иннинг. Поэтому складывать нужно через количество аутов.
- Умножьте целую часть IP каждого питчера на 3.
- Прибавьте цифру после точки как число дополнительных аутов.
- Сложите полученные ауты.
- Разделите сумму на 3: частное даст полные иннинги, остаток — цифру после точки в записи IP.
Условие для объединения строк
Такое сложение отвечает только на вопрос о суммарном числе записанных аутов. Для общей строки должны объединяться записи одной игры и одного выбранного набора питчеров; одинаковая единица здесь — аут.
Если одна строка относится к другой игре, её нельзя включать в тот же итог только потому, что дата совпадает. Идентификатор игры и статус записи нужно хранить отдельно.