Changes between Version 2 and Version 3 of CaoCourseTme5


Ignore:
Timestamp:
Mar 7, 2007, 4:10:19 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme5

    v2 v3  
    33<h1>TME 5 : Représentation des expressions Boolèennes : ABL</h1>
    44}}}
     5[[PageOutline]]
    56
     7= Objectif =
    68
    7 Les ABL (Abres Binaires Lisp-Like) sont utilisés pour représenter des expressions Booléennes multi-niveaux (c’est à dire des expressions Booléennes préfixées pouvant comporter plusieurs niveaux d’imbrication de parenthèsage).
    8 Avec cette technique, une expression Booléenne est représentée comme une liste chaînée de bipointeurs. Le premier élément de la liste définit l’opérateur (les 4 opérateurs utilisés sont NOT, OR, AND et XOR). Les éléments suivants de la liste chaînée représentent les opérandes. Chaque opérande peut être :
     9L'objectif principal de ce TME est de vous familiariser avec la représentation des expressions Booléennes sous forme
     10d'arbres ABL (Abres Binaires Lisp-Like), et à rafraîchir vos connaissances dans le domaine de la programmation
     11des fonctions récursives.
     12Les expressions Booléennes multi-niveaux sont des expressions Booléennes préfixées pouvant comporter
     13plusieurs niveaux d’imbrication de parenthèses. On représente une expression Booléenne comme une liste chaînée de bipointeurs.
     14Le premier élément de la liste définit l’opérateur (les 4 opérateurs utilisés sont NOT, OR, AND et XOR). Les éléments suivants de la liste chaînée représentent les opérandes. Chaque opérande peut être :
    915 * soit une variable Booléenne, définie par son nom.
    1016 * soit une autre expression Booléenne.
     
    5561Cette fonction prend en entrée une chaîne de caractères décrivant  une expression Booléenne préfixée possédant un nombre quelconque de niveaux de parenthèsage. Elle construit en mémoire l’arbre ABL représentant cette expression Booléenne et renvoie un pointeur sur le bipointeur correspondant à la racine.
    5662Attention: Cette fonction n’accepte que les expressions Booléennes préfixées. Les seuls opérateurs acceptés sont NOT, OR, AND et XOR. Elle affiche un message d’erreur en cas d’erreur de syntaxe, ou si elle rencontre un nom de variable non déclarée préalablement.
    57 
    5863 
    5964= A. Représentation Graphique =
     
    124129 *  '''E.2''': Ecrire en langage C la fonction récursive eval_abl(), et valider cette fonction en l’intégrant dans le programme main().
    125130 
     131= Compte-rendu =
     132
     133Aucun compte-rendu ne vous sera demandé pour ce TME, mais vous devrez présenter une démonstration
     134de votre code au début du prochain TME.