Пусть vпо течению — скорость катера по течению, vсобственная — собственная скорость катера, vпротив течения — скорость катера против течения, vтечения — скорость течения реки.
Известно, что скорость по течению равна сумме собственной скорости и скорости течения: $$v_{по течению} = v_{собственная} + v_{течения}$$. Отсюда можно найти скорость течения: $$v_{течения} = v_{по течению} - v_{собственная} = 34,2 - 31,5 = 2,7$$ км/ч.
Скорость против течения равна разности собственной скорости и скорости течения: $$v_{против течения} = v_{собственная} - v_{течения} = 31,5 - 2,7 = 28,8$$ км/ч.
Ответ: 28,8 км/ч