JackShcherbakov
@JackShcherbakov

Каким образом можно научить программу определять какую именно формулу использовать, основываясь на данных, введенных пользователем?

Поставил себе непростую задачку - программа для решения задач по физике, которая будет их решать и показывать решение. Я не прошу исправить/доработать/найти ошибку в коде, мне интересно какие идеи возникнут у моих коллег по цеху.

Вообщем, есть у меня вот такой объект, в котором содержаться формулы к каким либо элементам
var formulas = {
    φ : function(թ, թ0){
      return թ/թ0*100 + '%';
    }
  };

Пользователь вводит одно, затем другое, пишет что надо войти и вызывается соответствующая функция, затем выводятся соответствующие комментарии, такую программу сделать элементарно, просто передать аругменты и все.

Но что делать если нужно найти такой элемент, в формуле которого содержаться элементы, которые надо найти по ходу решения задачи, например сначала найти массу (v * p) и потом что-то с этой массой найти, например удельную теплоемкость. Тоесть надо как-то научить программу понимать, что не сразу функцию с формулой удельной теплоемкости вызывать, а понять, что нам известно и найти один элемент, теперь нам известен еще один элемент, потом с массой находим что-то другое и в конце концов удельную теплоемкость. Тоесть надо выбирать соответствующие формулы. Но как? Можно, конечно в какой-то массив накапливать полученные и изначально известные элементы, и посмотреть в какой формуле у нас встречается все из этого, но может же быть все гораздо сложнее, да и есть куча других формул использующие эти элементы.

Есть какие - либо идеи? Код не надо писать, просто какие-то идеи реализации.

Вот набросал код он не работает, но если интересно, можете посмотреть - https://codepen.io/CitizenOne/pen/gXXpLE
  • Вопрос задан
  • 646 просмотров
Пригласить эксперта
Ответы на вопрос 1
Griboks
@Griboks
Можно использовать общие формулы. Они долгие, зато универсальные.
Можно разбить все задачки на классы (с одним алгоритмом решения) и вызывать свои формулы для своего класса.
Можно вставить текст из учебника, что бы пользователи научились думать и не искали ответы в интернете.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы