0% ont trouvé ce document utile (0 vote)
784 vues24 pages

Exercices Algorithmique Fondamentaux

Cet exercice présente 11 exercices d'algorithmique portant sur des opérations et tests logiques élémentaires. Les exercices proposent des problèmes de calcul de somme/produit, de comparaison de caractères, de test d'appartenance à une fourchette, de tri croissant et de simulation de facturation.

Transféré par

Antoinette Adjakpley
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
784 vues24 pages

Exercices Algorithmique Fondamentaux

Cet exercice présente 11 exercices d'algorithmique portant sur des opérations et tests logiques élémentaires. Les exercices proposent des problèmes de calcul de somme/produit, de comparaison de caractères, de test d'appartenance à une fourchette, de tri croissant et de simulation de facturation.

Transféré par

Antoinette Adjakpley
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi