WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Manuel d'initiation du logiciel CSPRO

( Télécharger le fichier original )
par Ortéga Wanignon DOVOEDO
Ecole nationale de la statistique et de l'analyse économique ( ENSAE ) - Sénégal - Elève ingénieur des travaux statistiques 2è année 2011
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

3-4. Les commandes de contrôle CSpro

3-4.1. Généralités.

Le langage de programmation sous CSPRO est assez proche du Pascal. Chaque objet (record, roster, item, etc.) sur lequel on veut écrire une procédure de contrôle doit avoir une preproc et/ou une postproc. La preproc permet de rédiger les contrôles que l'on souhaite effectuer avant la saisie de toute information concernant l'objet. La preproc est exécutée avant l'apparition du curseur dans le champ. La postproc quant à elle permet de spécifier les actions à faire après la saisie dans le champ.

Toute procédure commence par le mot clé PROC suivi du nom de l'objet sur lequel il s'applique. Exemple :

PROC AGE

Préproc

Instructions A

Postproc

Instructions B

C'est à travers quelques exemples que l'on va asseoir les notions de programmation sous CSPRO.

Exemple 1 : Voici une procédure qui affiche le message « donnée erronée » et impose une nouvelle saisie si la valeur saisie ne respecte pas la plage (le milieu de résidence est compris entre 1 et 3).

PROC MILIEU

postproc

if $<1 or $>3 then

x= errmsg(001) ;

reenter ;

endif ;

Dans la fenêtre message, taper : 001 Donnée erronée

Le caractère $ fait référence à l'information qui a été saisie. La fonction reenter maintien le curseur dans le champ en cours. On remarque par ailleurs que chaque instruction se termine par un « ; ».

Exemple 2 : traitons d'un cas où on fait un saut à la question S03Q9 si la réponse est 2 (non).

PROC S03Q3

postproc

if $=2 then

skip to S03Q9 ;

endif ;

Exemple 3 : Cas de la question Q1 de la sous-section 05.1 du questionnaire de ECAM 2 (Cette sous-section est un record au niveau du dictionnaire). Si le ménage n'a eu aucune naissance (S05Q1=2= ) alors on doit changer de section.

PROC S05Q1

postproc

if $=2 then

endsect ;

endif ;

Exemple 4 : Cas de la question Q15 du questionnaire de ECAM2. le code de l'équipement correspond au numéro de ligne de l'enregistrement. Pour gagner du temps à la saisie, il sera « pré imprimé ».

PROC S05Q1

preproc

S07Q15(noccurs(LOGE_B)+1)= noccurs(LOGE_B)+1;

noinput ;

LOGE_B est le nom logique du record correspondant à la sous-section 07.2. l'instruction noinput fait passer de la preproc à la postproc. Ceci interdit toute saisie dans le champ concerné.

3-4.2. Section de déclaration (PROC GLOBAL)

Les déclarations et les définitions sont définies dans la procédure globale. Dans cette section vous déclarez le mode de fonctionnement (implicite ou explicite), des variables, des tableaux et des fonctions définies par l'utilisateur. La procédure globale apparaît toujours au début du fichier de logique et commence par la ligne "PROC GLOBAL". À part les fonctions définies par l'utilisateur, il n'y a aucune déclaration exécutable dans cette section. Vous pouvez éditer la section PROC GLOBAL en cliquant sur la plus haute entrée de l'entrée de données édite l'arbre ou le lot édite l'arbre.

Exemple :

PROC GLOBAL

 

 set explicit; {mode}

 numeric x, xage;  (numeric variables)

   alpha flag; (alphanumeric variable)

 array Relly(5); (numeric array)

 

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984