/***************************************************************/
Interface ICorpsCommutatif HeriteDe Public : IAlgebreCommutative Defaut Final TailleSegment 32 ConserverObjets
/* Objet : Definition des corps commutatif. */
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Heritage des methodes de IAlgebreCommutative. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) +(A : Nul Ou ICorpsCommutatif) Retourner Nul Ou ICorpsCommutatif;
Operateur Optimiser(Invariant) -() Retourner Nul Ou ICorpsCommutatif;
Operateur Optimiser(Invariant, NulAbsorbant) -(A : Nul Ou ICorpsCommutatif) Retourner Nul Ou ICorpsCommutatif;
Operateur Optimiser(Invariant, NulAbsorbant) *(A : Nul Ou ICorpsCommutatif) Retourner Nul Ou ICorpsCommutatif;
Operateur ++(P : Booleen) Retourner Nul Ou ICorpsCommutatif;
Operateur --(P : Booleen) Retourner Nul Ou ICorpsCommutatif;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Operateur Optimiser(Invariant, NulAbsorbant) /(C : Nul Ou ICorpsCommutatif) Retourner Nul Ou ICorpsCommutatif;
Operateur Optimiser(Invariant, NulAbsorbant) ^(C : Nul Ou ICorpsCommutatif) Retourner Nul Ou ICorpsCommutatif;
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Interface
L'interface ICorpsCommutatif modélise un espace comportant les opérations standards d'addition, de soustraction, de multiplication et de division. Ce concept est important puisque ses propriétés sont utilisées par l'algorithme de preuve de programme d'Up ! Compiler.
L'interface ICorpsCommutatif ne possède pas de constructeur implicite.
Principal
/*******/
Variable
/******/
PrixArticle : Entier;
/* 'PrixArticle' est une variable de type réel. */
Debut
...
PrixArticle=PrixArticle+10.5;
/* Addition de deux réels. */
PrixArticle=PrixArticle-10.5;
/* Soustraction de deux réels. */
PrixArticle=PrixArticle*2.5;
/* Multiplication de deux réels. */
PrixArticle=PrixArticle/2.5;
/* Division de deux réels. */
PrixArticle=PrixArticle^1.5;
/* Puissance de deux réels. */
...
Fin Principal
- | - | - | - | - | - | - | - | - |