bash.im ithappens.me zadolba.li
4085

Из тебя программист, как из кода пуля

Мы — двое будущих инженеров на практике. Они — двое будущих айтишников, тоже на практике. Судьба свела нас в одном КБ (на редкость вменяемом, не совкового типа), занимающемся изготовлением и разработкой спортивного инвентаря, в том числе мелкокалиберных винтовок для спортивной стендовой стрельбы и биатлона.

Дали задание: совместными усилиями написать программу, описывающую поведение пули определённой массы и плотности с определённым ускорением при попадании в мишень из определённого материала. Причём с графикой — хоть и минималистичной, без всяких излишеств. Программа должна была представлять из себя «выполнятор» для трёх формул, две из которых довольно длинные (надо учесть много переменных, например, возможное влияние ветра).

В процессе изготовления программы наши айтишники то ли в шутку, то ли всерьёз поссорились друг с другом, и в итоге один из них решил бросить другого и писать самостоятельно свою прогу. Волей-неволей нам тоже пришлось разделиться. На следующий день нам показали результаты.

Готовая версия № 1: пуля врезается в металлическую мишень, рикошетит на 180 градусов, устремляется в дуло винтовки, которое для простоты сделано цельным, без канала ствола (а зачем, если объект не вылетает из него, а просто возникает из ниоткуда, имея определённые параметры), точно так же отскакивает от дула, врезается в мишень, и так N раз. Интересно, что значения потенциальной и кинетической энергии одновременно равнялись минус одному джоулю.

Готовая версия № 2: пуля врезается в мишень, после чего та, весело вращаясь, вырывается из «земли» и летит куда-то вдаль, толкаемая пулей (которая даже вращалась вокруг своей оси, как и должна в реальности). Все значения, определявшие прочность и твёрдость мишени, были тоже равны минус единицам, а масса самой мишени вообще не прописывалась.

Мне интересно, что бы они написали, если бы работали вдвоём?