diff --git a/calculette.py b/calculette.py new file mode 100644 index 0000000..30edf2d --- /dev/null +++ b/calculette.py @@ -0,0 +1,71 @@ +from File import File_chaine as File +from Pile import Pile_chaine as Pile + +def creer_arbre(val): +""" Renvoie un nouvel arbre dont la racine est val . """ + return [val, None, None] + +def est_vide(a): +""" Indique si l ' arbre a est vide ou non. """ + return a == None + +def racine(a): +""" Renvoie la racine de l ' arbre non vide a. """ + return a [0] + +def fils_gauche(a): +""" Renvoie le fils gauche de l ' arbre non vide a. """ + return a [1] + +def fils_droit(a): +""" Renvoie le fils droit de l ' arbre non vide a. """ + return a [1] + +def insere_gauche(a, val): +""" Insère la valeur val à la racine du fils gauche de l'arbre non vide a. +L'ancien fils gauche de a devient le fils gauche du nouveau nœud. +Renvoie le sous arbre créé . """ +nouvel_arbre = +nouvel_arbre[1] = +. . .. . = nouvel_arbre +return nouvel_arbre + +def insere_droit(a, val): +""" Ins è re la valeur val à la racine du fils droit de l ' arbre non vide a. +L ' ancien fils droit de a devient le fils gauche du nouveau nœud. +Renvoie le sous arbre cr éé . """ +nouvel_arbre = . . . .. . . . . .. . . . . . +nouvel_arbre[1] = . . .. . . . . . .. . . . +. . .. . = nouvel_arbre +return nouvel_arbre + + + + + + + + + + + + + + + + + + + + + + +a = Arbre () +class Expression: + def __init__(self, racine, fils_gauche, fils_droit): + type (racine) = '+' or '*' or int + if type(racine) == int: + fils_gauche = none or a + + +