Движение против течения реки означает, что скорость лодки уменьшается на скорость течения реки. Собственная скорость лодки равна 30 км/ч, а скорость течения реки — 2 км/ч. Значит, скорость лодки относительно берега будет:
$$30 - 2 = 28 \; \text{км/ч}.$$
Расстояние, которое лодка должна преодолеть, равно 112 км. Время, необходимое для преодоления этого расстояния, определяется формулой:
$$t = \frac{s}{v},$$
где \(s\) — расстояние, \(v\) — скорость. Подставим значения:
$$t = \frac{112}{28}.$$
Выполним деление:
$$t = 4 \; \text{часа}.$$
Ответ: 4 часа.