Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. /* AnnuaireBis
  2. * Author: e174584q
  3. * Creation date: 16/01/19
  4. */
  5. MACHINE
  6. AnnuaireBis
  7.  
  8. SETS
  9. PERSONNES;
  10. NUMEROS
  11.  
  12. VARIABLES
  13. annuaire,
  14. personnes
  15.  
  16. INVARIANT
  17. personnes : FIN(PERSONNES)
  18. & annuaire : personnes <-> NUMEROS // une personne peut avoir deux numéros
  19.  
  20. INITIALISATION
  21. personnes := {}
  22. || annuaire := {}
  23.  
  24. OPERATIONS
  25. ajoutMembre(pers) = //ajout d'un personne dans le club
  26. PRE
  27. pers : PERSONNES
  28. & pers /: personnes
  29. THEN
  30. personnes := personnes \/ {pers}
  31. END;
  32.  
  33. ajoutNumMembre(pers, num) = //ajout d'un num à un membre du club
  34. PRE
  35. pers : personnes
  36. & num : NUMEROS
  37. & pers |-> num /: annuaire
  38. THEN
  39. annuaire := annuaire \/ {pers|->num}
  40. END;
  41.  
  42. rr<--consultNum(pers) = //retourne le num d'une personne
  43. PRE
  44. pers : personnes
  45. & pers: dom(annuaire) //la personnes a un numero
  46. THEN
  47. rr := annuaire[{pers}]
  48. END;
  49.  
  50. rr<--consultNom(num) = //retourne la ou les personnes
  51. PRE
  52. num : NUMEROS
  53. THEN
  54. rr := num |-> annuaire~[{num}] //antécédent
  55. END;
  56.  
  57. supprMembreAnnuaire(pers,num) = //supprimer un membre de l'annuaire
  58. PRE
  59. pers : personnes
  60. & pers : dom(annuaire)
  61. & pers |-> num : annuaire
  62. THEN
  63. annuaire := annuaire - {pers |-> num}
  64. END;
  65.  
  66. modifNum(pers,num, nouveau)= //modifier le numéro d'une personne
  67. PRE
  68. pers : personnes
  69. & num : NUMEROS
  70. & nouveau : NUMEROS
  71. & pers |-> num : annuaire
  72. & pers |-> nouveau /: annuaire
  73. THEN
  74. annuaire := (annuaire - {pers|->num}) \/ {pers|->nouveau}
  75. END
  76.  
  77. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement