SHARE
TWEET

YO

a guest Jan 15th, 2020 61 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* dicoMot
  2.  * Author: e188314p
  3.  * Creation date: 08/01/20
  4.  */
  5. MACHINE
  6.     dicoMot
  7. SETS
  8.     MOT /* un ensemble abstrait de mots */
  9.     ; SIGNIFIK = {s0,s1,s2}/* un ensemble abstrait, des significations */
  10. CONSTANTS
  11.     maxMots  /* borne */
  12. PROPERTIES
  13.     maxMots : 1..MAXINT
  14. VARIABLES
  15.     mots /* sous ensemble de mots */
  16. ,    dico /* représente le dictionnaire */
  17. INVARIANT
  18.     mots : FIN(MOT)//mots <: MOT /* sous ens de mots utilisés, borné */
  19. &   card(mots) <= maxMots
  20. &   dico : mots --> SIGNIFIK
  21. INITIALISATION
  22.     mots := {} ||
  23.     dico := {} /* : mots --> SIGNIFIK */
  24. OPERATIONS
  25.     ajoutMot(mm, signif) =
  26.     PRE mm : MOT & mm /: mots
  27.         & signif : SIGNIFIK
  28.         & (mm,signif) /: dico
  29.         & card(mots) < maxMots
  30.     THEN
  31.         mots := mots \/ {mm}
  32.         || dico(mm) := signif
  33.     END
  34.    
  35. ;   RetraitMot(mm) =
  36.     PRE  mm : MOT & mm : dom(dico)
  37.         & card(mots) > 1
  38.     THEN
  39.         mots := mots - {mm}
  40.         ||  dico := {mm} <<| dico
  41.     END
  42.  
  43. ;   bb <-- existeMot(mm) =
  44.     PRE  mm : MOT
  45.     THEN
  46.         bb := bool(mm : dom(dico))
  47.     END
  48.  
  49. ;   res <-- rechercheSignifMot(mm) = /* trouver la signification d’un mot */
  50.     PRE mm : MOT & mm : dom(dico)
  51.     THEN
  52.         res := dico(mm)
  53.     END
  54.    
  55. END
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top