Войти Создать аккаунт

ООП · 14 из 23

Дождь на стоянке

Ночью у стойки проката идёт дождь, и механик залип на лужу под фонарём: каждая капля пускает круг, круги расходятся, гаснут и проходят друг сквозь друга. Он хочет такую же заставку на экран терминала проката. Экран — поверхность лужи: высоту воды в точке складывают из кругов всех капель, а каждая капля знает про свой круг.

Что сделать

Опишите каплю: она помнит, где и когда упала, и умеет сказать, насколько её круг поднимает воду в точке.

Что приходит

  • x и y — куда упала капля

  • t0 — когда она упала

Что должен уметь

Поля x, y, t0; метод vysota(tx, ty, t) — на сколько круг этой капли поднимает воду в точке (tx, ty) в момент t, дробным числом.

Допишите класс Kaplya в редакторе справа. Проверка создаёт его объекты и зовёт методы — то, что напечатано, на проверку не влияет.

с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой

Пример

Капля упала в точку (0, 0) в момент 0. В момент 2,5 круг ушёл на 2 · 2,5 = 5 клеток — ровно до точки (3, 4): на самом гребне подъём cos(0) / (1 + 2,5 / 4) = 0,615…

Тот же пример кодом
Вызов
Kaplya(0, 0, 0).vysota(3, 4, 2.5)
Вернуть
0.6153846153846154
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.