Bonsoir
je vous propose le petit exercice suivant :
il s'agit de trouver les réel x tel que 2x + (3/4) et (1/x) + 5/3 soient des entiers ...à vous .
Ulmiere : on est entre nous ... pour mes math experte je le rédigerai comme toi
que je n'aime pas ce langage ... même s'il semble posséder des propriétés intéressantes (je viens de voir sur internet)
C'est un langage de programmation fonctionnelle, un truc de chercheurs, donc normal que ça rebute certaines personnes au premier abord
Mais j'aime sa syntaxe proche des maths (très proche du lambda calcul) et quand tu sais l'utiliser comme il faut, c'est fun comme langage et très expressif
Par exemple pour coder un arbre binaire avec des feuilles et noeuds pouvant contenir une valeur de type quelconque (mais toujours le même)
data Arbre a = ArbreVide | Feuille a | Noeud a (Arbre a) (Arbre a) deriving (Show, Eq)
insert :: (Ord a) => a -> Arbre a -> Arbre a
insert x ArbreVide = Feuille x
insert x t@(Feuille r)
| x == r = t
| x < r = Noeud r (Feuille x) ArbreVide
| otherwise = Noeud r ArbreVide (Feuille x)
insert x t@(Noeud r gauche droit)
| x == r = t
| x < r = Noeud r (insert x gauche) droit
| otherwise = Noeud r gauche (insert x droit)
treeFromList :: (Ord a) => [a] -> Arbre a
treeFromList [] = ArbreVide
treeFromList (x:xs) = insert x $ treeFromList xs
main = do
let arbre = Noeud 12 (Noeud 10 (Feuille 7) (Feuille 11)) (Noeud 18 (Feuille 13) ArbreVide)
let nouvel_arbre = insert 15 arbre
putStrLn $ show nouvel_arbre
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :