#define _C_td6_carre /* * ---------------------------------------------------------------------------- * * Fichier : td6_carre.c * Langage : C ANSI * Auteur : P. Dechamboux * Creation : 7 novembre 1995 * ---------------------------------------------------------------------------- * Description : * Module d'implantation de la machine carre qui calcule le carre d'un * entier N comme la somme des N premiers entier impairs. * ---------------------------------------------------------------------------- * Interventions * >>>>>>>>>>>>> * ---------------------------------------------------------------------------- * Fonctions definies * Locales : * Exportees : InitCarre, ValCarreCour, ValEntierCour, CalcCarreSuiv. * * ---------------------------------------------------------------------------- */ /****************************************************************************/ /*------------------- INCLUSION DES INTERFACES SYSTEMES --------------------*/ /****************************************************************************/ #include /****************************************************************************/ /*----------------- INCLUSION DES INTERFACES APPLICATIVES ------------------*/ /****************************************************************************/ #include "td6_carre.h" /****************************************************************************/ /*------------------- CONSTANTES, MACROS & TYPES LOCAUX --------------------*/ /****************************************************************************/ /****************************************************************************/ /*------------------- SIGNATURES DES FONCTIONS LOCALES ---------------------*/ /****************************************************************************/ /****************************************************************************/ /*------------------- DEFINITIONS DES VARIABLES LOCALES --------------------*/ /****************************************************************************/ static long v_ImpairCour, v_CarreCour, v_EntierCour; /****************************************************************************/ /*------------------- IMPLANTATION DES FONCTIONS LOCALES -------------------*/ /****************************************************************************/ /****************************************************************************/ /*------------------ IMPLANTATION DES FONCTIONS EXPORTEES ------------------*/ /****************************************************************************/ /* * ---------------------------------------------------------------------------- * * Fonction : InitCarre * Resultat : void * Parametres : * Nom Type Role * * Description : * * ---------------------------------------------------------------------------- */ void InitCarre( void) { v_EntierCour = 0; v_ImpairCour = -1; v_CarreCour = 0; } /* * ---------------------------------------------------------------------------- * * Fonction : ValCarreCour * Resultat : long Valeur du carre de l'entier courant. * Parametres : * Nom Type Role * * Description : * Retourne la valeur du carre de l'entier courant. * * ---------------------------------------------------------------------------- */ long ValCarreCour( void) { return v_CarreCour; } /* * ---------------------------------------------------------------------------- * * Fonction : ValEntierCour * Resultat : long Valeur de l'entier courant. * Parametres : * Nom Type Role * * Description : * Retourne la valeur de l'entier courant. * * ---------------------------------------------------------------------------- */ long ValEntierCour( void) { return v_EntierCour; } /* * ---------------------------------------------------------------------------- * * Fonction : CalcCarreSuiv * Resultat : void * Parametres : * Nom Type Role * * Description : * Passe a l'entier suivant et calcule la valeur du carre de ce nouvel * entier. * * ---------------------------------------------------------------------------- */ void CalcCarreSuiv( void) { v_EntierCour++; v_ImpairCour += 2; v_CarreCour += v_ImpairCour; }