v=False
while not(v):
n=int(input("donner un nombre positif strictement"))
v= n>0
s=0
for i in range (1,n):
if n % i ==0:
s=s i
if (s==n):
print (n,"parfait-")
else:
print(n,"pas parfait")
Application : On se propose de calculer le PGCD de deux entiers A et B données, par la méthode des différences. Cette méthode consiste à remplacer A par A-B si A>B ou bien B par B-A si B>A, tant que AB. A l’égalité entre A et B le PGCD est trouvé (c’est la valeur de A ou de B). Effectuer l’analyse correspondante, en déduire l’algorithme et le traduire en pascal.
0/ début PGCD
1/ Lire (B)
2/ Lire (A)
3/ Tant Que (AB) faire
Si B> A alors
B ← B – A
Sinon Afficher la suite Afficher la suite A ← A – B
FinSi
Fin Tant Que
4/ Ecrire ("le PGCD est :", A)
5/ Fin PGCD
Traduction Pascal
Program PGCD ;
Uses Wincrt ;
Var A, B :Integer ;
Begin
Readln(B) ;
Readln(A) ;
While (AB) Do
Begin
If B>A then
B := B – A
Else
A := A – B ;
End ;
Writeln ('le PGCD est : ', A) ;
End.
Exemple d'algorithme du procédure remplir
0) Def proc remplir (var t : tab ; var n : entier)
1) répéter
Écrire (‘‘donner la taille du tableau’’)
lire(n)
Jusqu’à (n dans [5..50])
2) Pour i de 1 à n faire
Écrire (‘‘donner l’élément’’, i)
lire(t[i])
Fin pour
3) fin remplir