Nombre de
diviseurs de n
Somme des
chiffres de n
En er
5
8
3
Elle retourne l’indice de la case qui con ent la valeur minimale entre la
posi on d et f du tableau
Procedure ORDONNER(V :tab ;N :en er) objet n/t
Debut P,i,Aux V/en er
Quoi fonc on
Pour i de 0 a N-2 Faire
PQuoi(V,i,N-1)
Si i ≠ P Alors
AuxV[i] , V[i] V[P] , V[P]Aux
Fin si
Fin Pour
Fin
Type objet n/t
Ex4 Tab =tableau de 20 elements de type en er N,NB v/en er
T1,T2 V/Tab
Debut Ex3 Saisir, Remplir1, procedure
Remplir2,Affiche
Saisir(N)
Fonc on verif(x :en er) :booleen
Remplir1(T1,N)
Debut
Remplir2(T1,N,T2,NB)
Chconvch(x)
Affiche(T2,NB)
Pour i de 0 a long(ch)-1 faire
Fin
T[i]valeur(ch[i])
Les Alorithmes des modules objet n/t
Fin pour
1) Procedure Saisir(@N :en er) I,j v/en er
Debut Ii+1 , j0 Ch v/chaine
Repeter T v/Tab
T[i]somme(T,j,long(ch)) somme fonc on
Lire(N)
Jusqu’à 5≤N≤20 Tant que (T[i]<x) faire
Fin
Jj+1 , ii+1
2) Procedure Remplir1(@T1 :Tab ;N :en er)
Debut T[i] somme(T,j,long(ch))
Pour i de 0 a N-1 faire objet n/t
i v/en er Fin tant que
Repeter
Lire(T1[i]) Retourner T[i]=x
Jusqu’à 10≤T1[i]≤99999
Fin Pour fin
Fin Fonc on somme (T :tab ;p,K :en er) :en er
3) Procedure Remplir2(T1 :Tab ;N :en er ;@T2 :Tab ;@NB :en er)
Debut Debut
NB0
S0
Pour i de 0 a N-1 faire
Pour i de p a (p+K)-1 faire
Si verif(T1[i])= Vrai alors
SS+T[i]
T2[NB]T1[i]
NBNB+1 objet n/t Fin pour objet n/t
Fin si I v/en er S ,i v/en er
Retourner S
verif fonc on
Fin Pour Fin
Fin
4) Procedure Affice(T2 :Tab ;NB :en er) Fonc on Liste(T :Tab ;k ,NB :en er) :chaine
Debut
Pour i de 2 a 5 faire Debut
ChListe(T2,i,NB)
Ch″″
objet n/t Si Ch=″″ alors
I v/en er Ecrire(″Aucun nombre Kieth de ″,convc(i),″ciffres.″) Pour i de 0 a NB-1 faire
ch chaine Si non
Si long(convch(T[i]))=K alors
liste fonc on Ecrire(Ch,″ :nombre(s) Kieth de ″,convc(i),″ciffres.″)
Ch Ch+convch(T[i])+″,″
Fin si
Fin pour Fin si
objet n/t
Fin pour I v/en er
ch chaine
Fin Retourner Ch
fin