Je suis nouveau à Haskell-programmation et dois faire quelques exercices pour mon cours de développement fonctionnel à l'université. J'ai eu la tâche de créer un type de données, appelé "terme" qui représente une fonction rationnelle. La deuxième tâche consiste à créer une méthode qui différencie le terme entré.différenciation symbolique dans Haskell
Nous avons besoin d'une solution simple et constructeurs pour: monôme, addition, multiplication, divison
Vu:
data Term = Monom (Int, Int) | Addition[Term] deriving Show
diff :: Term -> Term
diff (Monom(a, b)) = Monom(a*b, b-1)
Edit:
L'appel de la fonction suivante retourne la dérivation corresponsing:
diff (Monom(a,b)) = if b>0 then Monom(a*b, b-1) else Monom(0,0)
même pour:Quelqu'un peut-il me dire comment parcourir tous les éléments de la liste entrée? La fonction ci-dessus renvoie uniquement la première valeur dérivée.
J'apprécie toute aide ou indice!
Eh bien d'abord vous devriez penser à ** comment vous allez représenter une fonction rationnelle ** ... –
.... de telle manière qu'il contiendra toutes les informations nécessaires pour une différenciation facile .. –
Vous devriez vraiment expliquez comment votre «terme» est censé représenter une fonction rationnelle; c'est assez flou. Cela ressemble plus à une représentation d'un polynôme avec des coefficients entiers. – dfeuer