Advertisement
Guest User

dico

a guest
Jan 17th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 KB | None | 0 0
  1. /* Dico
  2. * Author: brancharel romain
  3. * Creation date: 15/01/20
  4. */
  5. MACHINE
  6. Dico
  7. SETS
  8. MOT /*enssemble de mots*/
  9. ; SIGNIFIK = {s0,s1,s2,s3} /*ensemble des significations*/
  10.  
  11. CONSTANTS
  12. maxMots /*nombre de mots max du dico */
  13.  
  14. PROPERTIES
  15. maxMots : 1..MAXINT
  16.  
  17. VARIABLES
  18. listeMots /*liste de mots du dico*/
  19. , dico /*dictionnaire (mot->signification)*/
  20.  
  21. INVARIANT
  22. listeMots : FIN(MOT) /*ensemble fini représentant la liste des mots ajouté*/
  23. & dico : listeMots --> SIGNIFIK /*le dico fait la relation entre un mot et une signification */
  24. & card(listeMots) <= maxMots /*le sous enssemble listMots ne doit pas dépaser le nombre de mots max*/
  25.  
  26. INITIALISATION
  27. listeMots := {}
  28. || dico := {}
  29.  
  30. OPERATIONS
  31. ajoutMot(mm, signif) =
  32. PRE
  33. /*le mot appartient a l'ensemble des mots mais n'appartient pas a la listMots*/
  34. mm : MOT
  35. & mm /: listeMots
  36. /*la signif appartient a l'ensemble des signification mais la relation mm->signif n'appartient pas au dico*/
  37. & signif : SIGNIFIK
  38. & (mm,signif) /: dico
  39. /*le nombre maximal de mot n'est pas dépassé*/
  40. & card(listeMots) < maxMots
  41. THEN
  42. listeMots := listeMots \/ {mm}
  43. || dico(mm) := signif
  44. END
  45. ;
  46.  
  47. RetraitMot(mm) =
  48. PRE
  49. mm : MOT
  50. & mm : dom(dico)
  51. & card(listeMots) > 1
  52. THEN
  53. listeMots := listeMots - {mm}
  54. || dico := {mm} <<| dico
  55. END
  56. ;
  57.  
  58. ex <-- existeMot(mm) =
  59. PRE
  60. mm : MOT
  61. THEN
  62. ex := bool(mm : dom(dico))
  63. END
  64. ;
  65.  
  66. res <-- rechercheSignifMot(mm) =
  67. PRE
  68. mm : MOT
  69. & mm : dom(dico)
  70. THEN
  71. res := dico(mm)
  72. END
  73. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement