У меня есть функция, которая отличает уравнение и выводит его в виде списка на экран. Теперь я хочу создать функцию, которая возвращает выражение, подобное этому: '(+ (* x 0) (* 2 1)) и упрощает ответ. Получает избавление от x * 0, так как это всегда оценивается в ноль и заменяет 2 * 1 на 2, в конечном итоге возвращает только 2, поскольку 2 + 0 равно 2. Это то, что у меня есть до сих пор, и, очевидно, этого очень не хватает, любая помощь в получении это началось с большой благодарностью.Упрощение выражений с помощью Racket
(define (simplify expr)
(if (not (list? expr))
expr
(if (null? (cdr expr))
(car expr)
(case (car expr)
((+
))
))
Предположим, что это будет? X? – leppie
Это зависит от контекста. Я цитировал стенографию из источника, иногда они используют '? S','? N' и т. Д. Как имя переменной, а не '? X' –