Correction du CC 2019
1. Exercice 1:
ALGORITHME : mots et paragraphes
VARIABLES :
mot , par ,i , n : ENTIER ;
txt : CHAINE DE CARACTERES ;
pc : CARACTERE ;
DEBUT :
moy←0;
par←0;
ECRIRE ( " Saisir un texte : " ) ;
LIRE ( txt ) ;
pc = txt [0];
n←Longueur ( txt ) ;
POUR i ALLANT DE 0 A n -1 FAIRE
SI txt [ i ]= ’ ’ ET ( pc̸=’ ’ ET pc̸= ’. ’) ALORS
mot←mot +1;
FINSI
SI txt [ i ]= ’. ’ ET ( pc̸=’ ’ ET pc̸= ’. ’) ALORS
par←par +1;
mot←mot +1;
FINSI
pc←msg [ i ];
FINPOUR
ECRIRE ( txt , " Contient " ,mot , " Mots et " ,par , " Paragraphes " ) ;
FIN
2. Exercice 2:
CONSTANTES :
MAX =30;
TYPES :
TMatiere = ENRE GISTRE MENT
nom , code : CHAINE DE CARACTERES ;
coef : ENTIER ;
note : REELS ;
FINENREGISTREMENT
TEtudiant = ENRE GISTRE MENT
nom , prenom , date : CHAINE DE CARACTERES ;
moy : REEL ;
mention : CHAINE DE CARACTERES ;
TABLEAU notes [8]: TMatiere ;
FINENREGISTREMENT
TClasse = ENR EGISTR EMENT
TABLEAU etudiants [ MAX ]: TEtudiant ;
nbr : ENTIER ;
FINENREGISTREMENT
FONCTION A j ou t er Et u di an t ( group : TClasse PAR ADRESSE ) : BOOLEAN
VARIABLES :
i : ENTIER ;
note : REEL ;
DEBUT :
SI group . nbr == MAX ALORS
RETOURNE FAUX ;
FINSI
ECRIRE ( " Saisir le nom : " ) ;
LIRE ( group . etudiants [ group . nbr ]. nom ) ;
ECRIRE ( " Saisir le pr é nom : " ) ;
LIRE ( group . etudiants [ group . nbr ]. prenom ) ;
ECRIRE ( " Saisir la date de naissance : " ) ;
LIRE ( group . etudiants [ group . nbr ]. date ) ;
POUR i ALLANT DE 0 A 7 FAIRE
ECRIRE ( " Saisir le code de la mati è re " ,i +1 , " : " ) ;
LIRE ( group . etudiants [ group . nbr ]. notes [ i ]. code ) ;
ECRIRE ( " Saisir le nom de la mati è re " ,i +1 , " : " ) ;
Correction du CC 2019
LIRE ( group . etudiants [ group . nbr ]. notes [ i ]. nom ) ;
ECRIRE ( " Saisir coef de la mati è re " ,i +1 , " : " ) ;
LIRE ( group . etudiants [ group . nbr ]. notes [ i ]. coef ) ;
ECRIRE ( " Saisir la note de la mati è re " ,i +1 , " : " ) ;
LIRE ( note ) ;
TANTQUE note <0 OU note >20 ALORS
ECRIRE ( " Erreur , Saisir la note de la mati è re ( entre 0 et 20) " ,i +1 , " : " ) ;
LIRE ( note ) ;
FINTANTQUE
group . etudiants [ group . nbr ]. notes [ i ]. note←note ;
FINPOUR
RETOURNE VRAI ;
FINFONCTION
PROCEDURE AjouterGroupe ( group : TClasse PAR ADRESSE )
VARIABLES :
i : ENTIER ;
res : BOOLEAN ;
DEBUT :
i←0;
res←A jo ut e rE t ud ia n t ( group ) ;
TANTQUE res == VRAI FAIRE
i←i +1;
res←A jo ut e rE tu d ia n t ( group ) ;
FINTANTQUE
SI i =0 ALORS
ECRIRE ( " La classe est compl è te ! " ) ;
SINON
ECRIRE (i , " Etudiant aont ajout é s au groupe " ) ;
FINSI
FINPROCEDURE
PROCEDURE C a l c u l e r _ M o y e n n e ( group : TClasse PAR ADRESSE )
VARIABLES :
i ,S ,C , j : ENTIER ;
DEBUT :
POUR i ALLANT DE 0 A group . nbr -1 FAIRE
S←0;
C←0;
POUR j ALLANT DE 0 A 7 FAIRE
S←S + group . etudiants [ i ]. notes [ j ]. coef * group . etudiants [ i ]. notes [ j ]. note ;
C←C + group . etudiants [ i ]. notes [ j ]. coef ;
FINPOUR
group . etudiants [ i ]. moy←S / C ;
SI group . etudiants [ i ]. moy <10 ALORS
group . etudiants [ i ]. mention←" Ajourn é " ;
SINONSI group . etudiants [ i ]. moy <12 ALORS
group . etudiants [ i ]. mention←" Passable " ;
SINONSI group . etudiants [ i ]. moy <14 ALORS
group . etudiants [ i ]. mention←" Assez - Bien " ;
SINONSI group . etudiants [ i ]. moy <16 ALORS
group . etudiants [ i ]. mention←" Bien " ;
SINON
group . etudiants [ i ]. mention←" Tr è s bien " ;
FINSI
FINPOUR
FINPROCEDURE
PROCEDURE L i s t e r _ A t u d i a n t A d m i t ( group : TClasse PAR ADRESSE )
VARIABLES :
i : ENTIER ;
DEBUT :
POUR i ALLANT DE 0 A group . nbr -1 FAIRE
SI group . etudiants [ i ]. moy >=10 ALORS
ECRIRE ( group . etudiants [ i ]. nom , " " , group . etudiants [ i ]. prenom ) ;
FINSI
FINPOUR
Correction du CC 2019
FINPROCEDURE
3. Exercice 3:
PROCEDURE Me nu _ Pe rs o na l is é ( TABLEAU options [10]: CHAINE DE CARACTERE , n : ENTIER )
VARIABLES :
i : ENTIER :
DEBUT :
SI n >10 OU n <1 ALORS
ECRIRE ( " Nombre d ’ options invalide ! " ) ;
SINON
POUR i ALLANT DE 0 A n -1 FAIRE
ECRIRE ( i +1 , " . " , options [ i ]) ;
FINPOUR
FINSI
FINPROCEDURE