Vous êtes sur la page 1sur 2

TP : Initiation à l’algorithmique Université Constantine 2 – Abdelhamid Mehri

1ère Année (2019-2020) Tronc Commun – MI, Faculté NTIC

Test TP Initiation à l’algorithmique

Enoncé :

a- Écrire un algorithme qui demande à l’utilisateur de saisir un nombre naturel non nul , et affiche tous ses
diviseurs, leur nombre, leur somme, et dire s’il est premier ou pas.

Algo Test_a #include<stdio.h>


Variables main()
N, d, Co, S : Entier {
Début int N, d, Co, S;
Rpt do
Lire(N) scanf("%d",&N);
Jsq N ≥ 0 while(N<=0);
Co 0 Co = 0;
S 0 S = 0;
PR d 1 à N : for(d=1;d<=N;d++)
Si N mod d = 0 : if(N%d==0)
Ecrire(d) {
Co Co +1
printf("%d\n",d);
S S+d
Co = Co + 1;
Fsi
S = S + d;
FPr
}
Ecrire(Co, " ", S)
Si Co = 2 :
printf("%d %d\n",Co,S);
Ecrire("Premier")
if (Co == 2)
Sinon printf("Premier");
Ecrire("Non premier") else
Fsi printf("Non Premier");
Fin }

En exécutant le programme avec la valeur 10, on obtient un résultat similaire à celui-ci :

1/2
TP : Initiation à l’algorithmique Université Constantine 2 – Abdelhamid Mehri
1ère Année (2019-2020) Tronc Commun – MI, Faculté NTIC

b- Écrire un algorithme qui affiche les Nb premiers nombres premiers (Nb naturel non nul), et calcule et affiche
leur somme.

Algo Test_b #include<stdio.h>


Variables main()
N, d, Co, Nb, CoP, SP : Entier {
Début int N, d, Co, Nb, CoP, SP;
Rpt do
Lire(Nb) scanf("%d",&Nb);
Jsq Nb > 0 while(Nb<=0);
CoP 0 CoP = 0;
N 2 N = 2;
SP 0 SP = 0;
TQ CoP < Nb : while(CoP<Nb)
Co 0 {
PR d 1 à N :
Co = 0;
Si N mod d = 0 :
for(d=1;d<=N;d++)
Co Co +1
if(N%d==0)
Fsi
Co = Co + 1;
FPr

Si Co=2:
if (Co == 2)
Ecrire(N)
{
CoP CoP + 1 printf("%d\n",N);
SP SP + N CoP = CoP + 1;
Fsi SP = SP + N;
N N +1 }
FTQ N = N + 1;
Ecrire(SP) }
Fin printf("%d",SP);
}

En exécutant le programme avec la valeur 4, on obtient un résultat similaire au suivant :

2/2

Vous aimerez peut-être aussi