Programme principale
Début
Remplir(T1)
Saisie(N)
Score (T2, N)
Trier(T1,T2)
Afficher(T1,T2)
Fin
TDNT
Type
Tab1 =Tableau de 5 chaines
Tab2 = Tableau de 5 entiers
TDOG
Objet Type
N Entier
T1 Tab1
T2 Tab2
Remplir, Saisie, Score, Trier, Afficher Procédure
Procédure Remplir (@T1 : Tab1)
Début
objet Type
Pour i de 0 à 4 faire
i Entier
Répeter verif fonction
Ecrire(‘donner le titre num’,i)
Lire(T1[i])
Jusqu’à(verif(T1[i])=vrai)
Fin pour
Fin
Fonction Verif (ch : chaine) : booléen
Début
objet Type
Testvrai i Entier
test Booléen
Pour i de 0 à long(ch)-1 faire
Si non(ch[i] dans [‘A’..’Z’, ‘a’..’z’, ‘ ’]) alors
TestFaux
Fin si
Fin pour
Retourner(Test)
Fin
Procédure saisie (@N : entier)
Début
Répéter
Ecrire (‘donner le nombre de participant ’)
Lire(N)
Jusqu’à(5<=N<=100)
Fin
Procédure score (@T2 :Tab2, n :entier)
Début
Pour i de 0 à N-1 faire
Répéter
Ecrire (‘donner le choix de participant num’,i)
Lire(vote) objet Type
i Entier
Jusqu’a(1<=vote<=5)
vote Entier
T2[vote-1]T2[vote-1]+3
Fin pour
Procédure Trier (@T1 : Tab1 ; @T2 : Tab2)
Début
Répéter
Trivrai
objet Type
Pour i de 0 à 3 faire Vide,vide1 Entier
Tri Booléen
Si (T2[i]<T2[i+1]) alors I Entier
VideT2[i]
T2[i]T2[i+1]
T2[i+1]vide
Vide1T1[i]
T1[i]T1[i+1]
T1[i+1]vide1
Tri faux
Fin si
Fin pour
Jusqu’à (Tri=vrai)
Fin
Procédure afficher (T1 :Tab1 ,T2 :Tab2)
Début
Ecrire (‘Le classement est :’)
Ecrire(‘Rang 1 : ’, T1[0])
R1
Pour i de 1 à 4 faire
Si (T2[i]=T2[i-1]) alors
Ecrire(‘,’ ,T1[i])
Sinon
RR+1
Ecrire(‘Rang’, R,’:’, T1[i])
Fin si
Fin pour
objet Type
Fin i Entier
R Entier