Поставил себе непростую задачку - программа для решения задач по физике, которая будет их решать и показывать решение. Я не прошу исправить/доработать/найти ошибку в коде, мне интересно какие идеи возникнут у моих коллег по цеху.
Вообщем, есть у меня вот такой объект, в котором содержаться формулы к каким либо элементам
var formulas = {
φ : function(թ, թ0){
return թ/թ0*100 + '%';
}
};
Пользователь вводит одно, затем другое, пишет что надо войти и вызывается соответствующая функция, затем выводятся соответствующие комментарии, такую программу сделать элементарно, просто передать аругменты и все.
Но что делать если нужно найти такой элемент, в формуле которого содержаться элементы, которые надо найти по ходу решения задачи, например сначала найти массу (v * p) и потом что-то с этой массой найти, например удельную теплоемкость. Тоесть надо как-то научить программу понимать, что не сразу функцию с формулой удельной теплоемкости вызывать, а понять, что нам известно и найти один элемент, теперь нам известен еще один элемент, потом с массой находим что-то другое и в конце концов удельную теплоемкость. Тоесть надо выбирать соответствующие формулы. Но как? Можно, конечно в какой-то массив накапливать полученные и изначально известные элементы, и посмотреть в какой формуле у нас встречается все из этого, но может же быть все гораздо сложнее, да и есть куча других формул использующие эти элементы.
Есть какие - либо идеи? Код не надо писать, просто какие-то идеи реализации.
Вот набросал код он не работает, но если интересно, можете посмотреть -
https://codepen.io/CitizenOne/pen/gXXpLE