Vous êtes sur la page 1sur 2

Solution Rattrapage - Semestre 01 (Algorithmique 1)

Exercice 1 : (5.5 pts)


Algorithme exo1 ;
Type Employe = enregistrement
Nom : tableau[50]caractère ;
nbe : entier ;
salb réel;
Fin
Variable
E : tableau[100]Employe ;
i, n, S : entier ;
Début
Répéter
Ecrire("donner n entre 1 et 100"); Lire(n);
Jusqu’à(n>=1 et n<=100);

Pour i1 à n pas 1 faire


Ecrire("Informations de l’employé N° :", i);
Ecrire("donner le Nom : "); Lire(E[i].Nom);
Ecrire("donner le nombre d’enfants : "); Lire(E[i].nbe);
Ecrire("donner le salaire de base"); Lire(E[i].salb);
Fait;

S0 ;
Pour i1 à n pas 1 faire
Si (E[i].nbe=0) alors SS+E[i].salb;
Sinon si(E[i].nbe>2 et ) alors SS+ 600+E[i].salb;
sinon SS+ E[i].nbe*200+E[i].salb; finsi;
finsi;
Fait ;
Ecrire(“La masse salariale mensuelle est : “, S) ;

Fin

Exercice 2: (4 pts)
Algorithme exo2 ;
Variable ch, sch : chaine de caractères[50];
i, n, L, D : entier ;
début
Ecrire(“donner votre chaine“) ; lire(ch) ;
nLongueur(ch) ;

répéter Ecrire ("donner D entre 1 et ”, n) ; lire(D) ; jusqu’à (D>0 et D≤n) ;


répéter Ecrire ("donner L entre 1 et ”, n-D+1) ; lire(L) ; jusqu’à (L>0 et D≤n-D+1) ;

pour i D à D+L-1 pas 1 faire


schsch & ch[i] ;
Fait ;
Ecrire(sch) ;
fin
Exercice 3: (5 pts)
Algorithme Matrice ;
Variable M : tableau [20, 20] entier ;
i, j, n, max : entier ;
Début
Répéter
Ecrire(“donner la taille entre 1 et 20 “) ; Lire(n) ;
Jusqu’à (n>0 et n<21) ;
Pour i 1 à n pas 1 faire
Pour j 1 à n pas 1 faire
Ecrire(“donner un élément >0“) ; Lire(M[i, j]) ;
Fait ;
Fait ;

Pour j1 à n pas 1 faire


maxM[1, j] ;
Pour i1 à n pas 1 faire
Si (M[i,j] >max) alors maxM[i, j]; finsi;
Fait;
M[n-j+1,j]max;
Fait;
Pour i 1 à n pas 1 faire
Pour j 1 à n pas 1 faire
Ecrire(M[i, j]) ;
Fait ;
Fait ;
Fin

Exercice 4: (5.5 pts)


Algorithme rotation ;
Variable T : tableau [10] entier ;
i, n, pmax, pmin, d, f, C : entier;
Début
Pour i1 à 10 pas 1 faire
Ecrire (“donner un élément de T“) ; Lire(T[i]) ;
Fait ;
pmax1 ; pmin1 ;
pour i2 à 10 pas 1 faire
si(T[i]>T[pmax]) alors pmaxi ; finsi ;
si(T[i]>T[pmin]) alors pmini ; finsi ;
fait ;
si (pmax<pmin) alors dpmax ; fpmin ;
sinon dpmin ; fpmax ;
finsi ;
CT[f] ;
Pour if à d+1 pas -1 faire
T[i]  [i-1] ;
Fait ;
T[d] C ;
Pour i1 à 10 pas 1 faire Ecrire (T[i]) ; Fait ;
Fin

Vous aimerez peut-être aussi