EXERCICE 1
Ecrire un algorithme qui lit deux nombres et une lettre.
Si la lettre est S (comme somme), il calcule et écrit la somme
des deux nombres.
Dans le cas contraire, il calcule et écrit le produit.
OPE
!Edition de la somme ou produit (X,Y)
EXERCICE 1
Var X, Y, RES : ENTIER
Var OPERATION : caractère
Correction
DEBUT
!Initialisation
saisir X, Y, OPERATION
!Traitement
Si OPERATION = « s » alors
RES := A + B
Afficher « somme », RES
Sinon
RES := A * B
Afficher « produit », RES
FinSi
FIN
EXERCICE 2
Ecrire un algorithme qui lit un caractère et écrit s’il est placé
avant ou après la lettre « m » dans l’ordre alphabétique.
SUPLETTR
!Edition avant ou après « m »
EXERCICE 2
Var C : caractère
Correction
DEBUT
!Initialisation
SAISIR C
!Traitement
SI C= « m » ALORS
AFFICHER « égal à m »
SINON
SI C< « m » ALORS
AFFICHER « avant m »
SINON
AFFICHER « après m »
FINSI
FINSI
FIN
EXERCICE 3
Ecrire un algorithme qui lit deux caractères
et écrit s’ils sont ou non rangés dans l’ordre alphabétique.
SUPLET2
EXERCICE 3 !Edition si Ordre croissant
Var car1, car2 : CARACTERE
Correction
DEBUT
!Initialisation
saisir car1, car2
!Traitement
SI car1 < car2 ALORS
Afficher « dans l’ordre »
SINON
Afficher « pas dans l’ordre »
FINSI
FIN
EXERCICE 4
Ecrire un algorithme qui lit un nombre et dit s’il est ou non compris
entre 10 (inclus) et 20 (inclus).
• Ecrire que le nombre est dans la fourchette indiquée ou
• Ecrire que le nombre n’est pas dans la fourchette indiquée
CONDCOMPL
EXERCICE 4 !Edition Nombre dans la fourchette ou non
Var nombre : NUMERIQUE
Correction
DEBUT
AFFICHER « donnez un nombre : »
SAISIR nombre
SI nombre > 10 ET nombre <=20 ALORS
AFFICHER « dans la fourchette »
SINON
AFFICHER« en dehors de la fourchette »
FINSI
FIN
EXERCICE 5
Ecrire un algorithme qui lit trois nombres
et écrit s’ils sont ou non rangés par ordre croissant.
EDCROIS
EXERCICE 5 !Edition si nombres croissants (X,Y,Z)
Var X, Y, Z : ENTIER
Correction
DEBUT
AFFICHER « donnez trois nombres : »
SAISIR X,Y,Z
SI X <= Y ET Y < = Z ALORS
AFFICHER « ils sont rangés par ordre croissant »
SINON
AFFICHER « ils ne sont pas rangés par ordre croissant »
FINSI
FIN
EXERCICE 6
Ecrire un algorithme qui affiche soit :
• le plus grand des deux nombresX et Y,
• les deux nombres sont égaux.
Pour cela, utiliser une variable booléenne et séparer la partie traitement
de la partie édition.
SUP2
!edition de SUP(X,Y) avec message en cas d’égalité
EXERCICE 6 Var X, Y, SUP : ENTIER
BOOL : BOOLEEN
DEBUT
Correction !Initialisation
SAISIR X,Y
BOOL := VRAI
!Traitement
SI X = Y ALORS
BOOL := FAUX
SINON
SI X > Y ALORS
SUP := X
SINON
SUP := Y
FINSI
FINSI
!Edition des résultats
SI BOOL ALORS !signifie si BOOL = VRAI
AFFICHER « le plus grand des deux nombres est : », SUP
SINON
AFFICHER « les deux nombres sont égaux »
FINSI
FIN
EXERCICE 7
Ecrire un algorithme qui affiche trois nombres par ordre croissant en
permutant leurs valeurs de façon à obtenir le plus petit nombre dans V1
et le plus grand dans V3.
ORD1
!Classer 3 nombres en ordre croissant
Var V1, V2, V3, T : ENTIER
EXERCICE 7 DEBUT
!Initialisation
SAISIR V1, V2, V3
Correction !Traitement
SI V1> V2 ALORS
T :=V1
V1 :=V2
V2 :=T
FINSI
SI V3 < V1 ALORS
!il faut permuter les 3 variables car V3 < V1 < V2
T := V1
V1 := V3
V3 :=V2
V2 := T
SINON
SI V3 < V2 ALORS
!il faut permuter V2 et V3 car V1 < V3 < V2
T := V2
V2 := V3
V3 := T
FINSI
FINSI
!Edition
AFFICHER « LES VALEURS DANS L’ORDRE SONT : »,V1, V2,V3
FIN
EXERCICE 8
Ecrire un algorithme pour le CALCUL D’UNE REMISE.
A partir d’un montant lu en données, déterminer un montant net en
sachant que l’on accorde :
• une remise de 5 % si le montant est compris entre 2000 € et 5000 €
(ces valeurs comprises),
• une remise de 10 % si le montant est supérieur à 5 000 €.
Variables montant, taux, remise : numériques
SAISIR montant
EXERCICE 8
SI montant < 2000 ALORS
Correction Taux := 0
SINON
SI montant < = 5000 ALORS
Taux := 0.05
SINON
Taux := 0.10
FINSI
FINSI
Remise := montant * taux
Montant := montant – remise
EXERCICE 9
Problème
Effectuer une multiplication de 2 entiers positifs en n’utilisant que
l’addition.
EXERCICE 9
Correction
CORRECTION EN VIDÉO
EXERCICE 10
Si, malgré le message prévu (exercice 1) , l’utilisateur saisit un ou deux
nombres négatifs. Que se passe t-il ?
EXERCICE 10
Correction
CORRECTION EN VIDÉO
EXERCICE 11
Problème
Ecrire un algorithme permettant de simuler une facturation.
FACTURE
!Facturation
Var CODE_PROD, CODE_RM, PRIX_TTC, TAUX_RM : REELS
EXERCICE 11
PRIX_RM , TOTAL_FACT : REELS
DEBUT
!Initialisation du total de la facture
TOTAL_FACT := 0
SAISIR CODE_PROD, PRIX_TTC, CODE_RM
TANT QUE CODE_PROD <> 99999 FAIRE
SI CODE_RM = 1 ALORS
TAUX_RM := 10
SINON
TAUX_RM := 20
FINSI
PRIX_RM := PRIX_TTC – (PRIX_TTC*TAUX_RM/100)
!Affichage produit
AFFICHER CODE_PROD, TAUX_RM, PRIX_RM
!Calcul total facture
TOTAL_FACT := TOTAL_FACT + PRIX_RM
!Nouvelle Lecture
SAISIR CODE_PROD, PRIX_TTC, CODE_RM
REFAIRE
AFFICHER « Le total de la facture est : », TOTAL_FACT
FIN
EXERCICE 12
Ecrire un algorithme qui lit des notes saisies au clavier et donne le
pourcentage de notes supérieures à la moyenne 10.
Principe : ALGO_COMPTEUR NOTES
Variables note, n , nt, pourcent : reel
EXERCICE 12 - Compter le nombre total de
T : caractère
Notes : nt et le nombre de
notes supérieures à 10 : n.
Correction DEBUT
- Calcul du pourcentage : nt/n nt := 0
n := 0
* 100
Répéter
- Dernière valeur : Message «
saisir note
Y a –il une autre Note ? » nt := nt + 1
Si note > 10 alors
n := n + 1
FinSi
afficher « Y a-t-il une autre note ? »
saisir T
Jusqu’à T := « non »
nt := n - 1
pourcent := n /nt * 100
afficher « notes supérieures à 10 »,
pourcent , « %
FIN