Académique Documents
Professionnel Documents
Culture Documents
Exercice1
Module :
Algorithmes et structures Écrire un algorithme permettant de saisir un entier n1 positif de trois chiffres et
d’afficher s’il est cubique ou non.
de données I Remarque : un nombre est dit cubique s’il est égal à la somme des cubes de
ses chiffres.
Algorithme Ex1
Variables 3 4
n1,sc,u,c,d : entier
Début
Exercice 2
Répéter
Ecrire("donner un nombre de 3 chiffres")
Lire(n1)
Jusqu’à (n1>=100 et n1<=999) Écrire un algorithme permettant de saisir une lettre majuscule et
Un1 mod 10 d’afficher si elle est voyelle ou consonne.
D(n1 div 10) mod 10
Cn1 div 100
Scu^3+d^3+c^3
Si (n1=sc) Alors
Ecrire(n1,"est un nombre cubique")
Sinon
Ecrire(n1,"n’est pas un nombre cubique")
Finsi
Fin
Algorithme Ex2
Variables 5 Algorithme Ex2 6
c : Caractère Variables
c : Caractère
Début
Début
Répéter Répéter
Ecrire("Entrer un caractère : ") Ecrire("Entrer un caractère : ")
Lire(c) Lire(c)
Jusqu’à (c >= ’A’ et c <= ’Z’) Jusqu’à (c >= ’A’ et c <= ’Z’) ou (c >= ’a’ et c <= ’z’)
Selon (c) faire Selon (c) faire
’A’,’a’,’E’,’e’,’I’,’i’,’O’,’o’,’U’,’u’,’Y’,’y’ :
‘A’,’E’,’I’,’O’,’U’,’Y’: Ecrire(c, " est une voye
Ecrire(c, " est une voyelle")
lle") Sinon
Sinon Ecrire(c, " est une consonne")
Ecrire(c, " est une consonne") FinSelon
FinSelon Fin
Fin
7 8
Exercice 3 Algorithme Ex3 Répéter
Variables Ecrire(”Donner le 2ème coefficient”)
n1, n2, n3,moyenne : réel Lire(c2)
c1, c2, c3 : entier Jusqu’à (c2>=1 et c2<=5)
Début Répéter
Écrire un algorithme permettant de : Répéter Ecrire(”Donner la troisième note ”)
Ecrire(”Donner la première note ”) Lire(n3)
Saisir trois couples (notes, coefficient) ; les notes (valeurs réelles) Lire(n1) Jusqu’à (n3>=0 et n3<=20)
doivent être toutes comprises entre zéro (0) et vingt (20) alors que les Jusqu’à (n1>=0 et n1<=20) Répéter
coefficients (valeurs entières) doivent être compris entre un (1) et cinq Répéter Ecrire(”Donner le 3ème coefficient”)
Ecrire(”Donner le 1er coefficient ”) Lire(c3)
(5). Lire(c1) Jusqu’à (c3>=1 et c3<=5)
Calculer et afficher la moyenne Jusqu’à (c1>=1 et c1<=5) Moyenne(n1*c1+n2*c2+n3*c3)/(c1+c2+c2)
Répéter Ecrire(” La moyenne est : ” moyenne)
Ecrire(”Donner la deuxième note ”) Fin
Lire(n2)
Jusqu’à (n2>=0 et n2<=20)
Algorithme Ex3
Variables 9 10
n,moyenne : réel
C,i,sc : entier
Début
Exercice 4
Sc=0
moyenne0
Pour i de 1 à 3 faire
Répéter Écrire un algorithme permettant de saisir un entier n1 positif
Ecrire(”Donner la note numéro", i)
Lire(n)
Jusqu’à (n>=0 et n<=20)
de quatre chiffres au maximum et d’afficher tous les nombres
Répéter
Ecrire(”Donner le coefficient numéro ”,i) cubiques inférieurs ou égal à n1.
Lire(c)
Jusqu’à (c>=1 et c<=5)
sc=sc+c;
moyennemoyenne+(n*c)
finpour
moyennemoyenne/sc
Ecrire(” La moyenne est : ”, moyenne)
Fin
Algorithme Ex6
Variables
15 n,s,nb,i : entier 16
Exercice 6 Début
Répéter
Ecrire(”Donner un entier strictement positif de 4 chiffres au maximum”)
Lire(n)
Écrire un algorithme permettant de : Jusqu’à (n>0 et n<=9999)
saisir un entier n strictement positif de quatre chiffres au maximum et Pour nb de 1 à n Faire
d’afficher s’il est parfait ou non. s1
Pour i de 2 à nb div 2 Faire
Remarque : un nombre naturel est parfait s’il est égal à la somme Si (nb mod i = 0) Alors
de ses diviseurs propres (c’est-`a-dire tous les nombres entiers qui ss+i
le divisent sauf lui-même) FinSi
FinPour
Par exemple, 9 n’est pas parfait car 9 ≠ 1+3 mais 6 est parfait car Si(s=nb) Alors
6 = 1 + 2 + 3. Ecrire(nb, ”est parfait”)
FinSi
saisir un entier n strictement positif de quatre chiffres au maximum et
FinPour
d’afficher tous les nombres parfaits inférieurs ou égal à n. Fin
17 Algorithme Ex7 18
Variables
Exercice 7 n,j,i : entier //testons si (n-i) est premier
premier : booléen j2
Début TantQue (j<=((n-i) div 2) et premier)
Répéter Faire
Un chercheur français a prouvé que chaque nombre pair est Ecrire(”Donner un nombre pair”) Si ((n-i) mod j =0) Alors
décomposable en la somme de deux nombres premiers. Lire(n) premier faux
Exemple : pour n=10 on constate que 10=3+7 (3 et 7 sont premiers) Jusqu’à (n mod 2=0) FinSi
Pour i de 2 à n div 2 Faire jj+1
Ecrire un algorithme qui permet de donner pour tout nombre pair, les //testons si (i) est premier FinTQ
deux nombres premiers dont il est décomposable premiervrai Si (premier=vrai) Alors
j2 Ecrire(n,”est décomposable en”,i,
Exemple : TantQue (j<=(i div 2) et premier) ‘’+’’,n-i)
Donner un nombre pair : 16 Faire FinSi
Si (i mod j =0) Alors FinPour
Le nombre 16 est décomposable en deux nombres premiers : 11 et 5
premier faux Fin
FinSi
jj+1
FinTQ
#include<stdio.h> 19 20
void main() //testons si (n-i) est premier Exercice 8
{ j=2;
int n,j,i; while (j<=((n-i)/2) && premier)
bool premier; {if ((n-i) % j ==0) Un nombre positif entier est premier lorsque l'ensemble de ses diviseurs est une paire.
do{ premier=false;
0 n'est pas premier
printf("Donner un nombre pair") ; j=j+1;
scanf("%d",&n); } 1 n'est pas premier puisqu'il n'admet qu'un seul diviseur
}while(n%2!=0); if (premier==true) Un entier positif n supérieur ou égal à 2 est premier s’il n'admet aucun diviseur à part
for(i=2;i<=n/2;i++) printf("%d est décomposable en %d+%d", 1 et lui même
{ n,i,n-i); 1) Ecrire un algorithme qui détermine si un nombre est premier
//testons si (i) est premier }
premier=true; } 2) Modifier cet algorithme pour qu’il affiche tous les nombres premiers inférieurs ou
égales à 50.
j=2;
while(j<=(i/2) && premier) 3) Ecrire un algorithme qui détermine et affiche tous les nombres <1000 qui sont premiers
{if (i % j ==0) et dont la somme de leurs chiffres est supérieure à 5. Un nombre premier est divisible
premier=false; seulement par 1 et lui-même.
j=j+1;
}
Algorithme EX8_1 Algorithme EX8_2
Variables Variables
n,i : entier 21 n,i : entier 22
test: booléen;
Début test: booléen;
répéter Début
écrire("Donner un entier positif supérieur à 1: ") Ecrire(" Les nombres premiers inférieurs à 50 sont :")
lire(n); Pour n de 2 à 50 faire
Jusqu’à(n>=2) i 2
i 2 test vrai
test vrai
TantQue(i ≤ n div 2 et test=vrai) faire
TantQue(i ≤ n div 2 et test=vrai) faire
si(n mod i = 0) alors si(n mod i = 0) alors
test faux test faux
FinSi FinSi
i i+1 i i+1
FinTQ FinTQ
Si(test = vrai) alors
Si(test = vrai) alors
Ecrire(n," est premier.")
sinon Ecrire(n," | ")
Ecrire(n," n'est pas un nombre premier.") FinSi
FinSi FinPour
Fin Fin