0% ont trouvé ce document utile (0 vote)
147 vues79 pages

Chapitre 1

Transféré par

akram.sarda78
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)
147 vues79 pages

Chapitre 1

Transféré par

akram.sarda78
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

Algorithmique

Tronc commun

Pr. Nabila ZRIRA & Pr. Hamza TOULNI

Année universitaire: 2024-2025


Informations générales
Positionnement du module
S1 : Algorithmique – Langage C
S2 : Langages C avancé et C++

Déroulement
Cours : 20h
TD : 10h

Évaluation
Examen : 1h30 <-> 2h

2
Plan
Cours
Chapitre I : Introduction à l’algorithmique
Chapitre II : Structures de contrôle
Chapitre III : Tableaux
Chapitre IV : Fonctions
Chapitre V : Complexité algorithmique
Chapitre VI : Algorithmes de recherche
Chapitre VII : Algorithmes de tri

3
Chapitre I
Introduction à l’algorithmique
Comment résoudre un problème ?

Problème ?

5
Étapes pour résoudre un problème

Problème informel

Spécification Problème formel Pseudo code

Langage de
Analyse Algorithme programmation
(code)

Programmation Programme Langage


machine

Compilation Exécutable

Exécution Résultat
6
Qu’est ce qu’un algorithme?
Origine

Le mot « algorithme » vient du nom du grand mathématicien persan Al Khwarizmi


(vers l'an 820), qui introduisit en Occident la numération décimale (rapportée d'Inde) et
enseigna les règles élémentaires des calculs s'y rapportant.

La notion d'algorithme est donc historiquement liée aux manipulations numériques, mais elle s'est
progressivement développée pour porter sur des objets de plus en plus complexes, des textes, des
images, des formules logiques, des objets physiques, etc.

7
Qu’est ce qu’un algorithme?
Définition

Un algorithme est une suite d’opérations élémentaires (instructions), qui une fois exécutée correctement,
conduit à un résultat final qui résout un problème déterminé.

Pour représenter les algorithmes on utilise plusieurs types de notations, en particulier :

✓ Les algorigrammes/ logigrammes / organigrammes (représentation graphique)

✓ Le pseudo-code

8
Qu’est ce qu’un algorithme?
Pseudo-code

En programmation, le pseudo-code est une façon de décrire un algorithme sans référence à un langage
de programmation en particulier.

L'écriture en pseudo-code permet souvent de bien prendre toute la mesure de la difficulté de la mise en
œuvre de l'algorithme, et de développer une démarche structurée dans la construction de celui-ci.

9
Qu’est ce qu’un algorithme?
Pseudo-code: exemple

Exemple : Un algorithme pour calculer la moyenne de trois notes.

Algorithme moyenne
Variables N1, N2, N3 en Entier
Variable Moyenne en Réel
Début
Ecrire ("entrer les notes")
Lire (N1, N2, N3)
Moyenne ←(N1+N2+N3)/3
Ecrire ("La moyenne est égale à", Moyenne)
Fin

10
Qu’est ce qu’un algorithme?
Organigramme

L’organigramme est une représentation graphique qui permet la lecture aisée des algorithmes.

est utilisé pour les actions à réaliser

est utilisé pour la lecture et l’affichage

est utilisé pour le début et la fin

est utilisé pour les tests

11
Qu’est ce qu’un algorithme?
Organigramme: exemple

12
Structure d’un algorithme

Algorithme Nom de l’algorithme

Début

Bloc d’instructions

Fin

13
Instructions d’entrée-sortie

✓Affichage d’un message à l’utilisateur sur l’écran avec l’instruction Ecrire()

✓La saisie d’une valeur par l’utilisateur avec l’instruction Lire ()

14
Instructions d’entrée-sortie

Algorithme Salutation
Début Bonjour tout le monde !

Ecrire (" Bonjour tout le monde ! ")

Fin

15
Instructions d’entrée-sortie

Algorithme : Salutation
Début Bonjour tout le monde !
Saisir le nombre d’élèves

Ecrire ("Bonjour tout le monde !")


Ecrire ("Saisir le nombre d’élèves")
Lire()

Fin
?
16
Les variables

Une variable désigne un emplacement mémoire qui permet de stocker une valeur.

Une variable est définie par :

• Un nom unique qui la désigne ;

• Un type de définition unique ;

• Une valeur attribuée/modifiée au cours du déroulement de l’algorithme.

17
Les variables

Algorithme Nom de l’algorithme

Déclaration des variables

Début

Bloc d’instructions

Fin

18
Les variables
Déclaration des variables : nom

Le nom d’une variable permet de l’identifier de manière unique au cours de l’algorithme.


- Les caractères acceptables pour nommer une variable :
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789 _
- Le nom d’une variable ne comporte pas un espace ;
- Le nom d’une variable ne doit pas commencer par un chiffre ;
- Le nom d’une variable ne doit pas contenir des caractères spéciaux (@, &,|,etc.);
- Le nom d’une variable peut être composé de plusieurs « mots », dans ce cas :
✓ tous les mots sont attachés (nomdunevariable )
✓ les mots sont séparés par _ (nom_d_une_variable )
✓ chaque mot suivant commence par une majuscule (nomDUneVariable )

19
Les variables
Déclaration des variables : type

Le type de la variable (appelé aussi domaine de définition) indique l’ensemble des valeurs que la variable
peut prendre.

On distingue différentes catégories de types :

✓ Les types scalaires : Byte, Entier, Réel, Caractère, et Booléen.

✓ Les types composés (ou structurés) statiques : Tableaux, chaînes de caractères et enregistrements.

✓ Les types structurés dynamiques : Pointeurs, piles, files, arbres, graphes et fichiers.

20
Les variables
Déclaration des variables : type

Type numérique

Les variables de type numérique utilisées dans l’algorithme ont comme domaines usuels ceux fournis par
les mathématiques : réel ou entier.

Type numérique Plage Occupation en mémoire


Byte 0 à 255/-128 à 127 1 octet
Entier simple -32768 à +32767 2 octets
Entier long -2147483648 à +2147483648 4 octets
Réel simple - 3,40 1038 à + 3,40 1038 4 octets
Réel double -1,79 10308 à +1,79 10308 8 octets

21
Les variables
Déclaration des variables : type
Type caractère (alphanumérique)
Il s’agit du domaine constitué des caractères alphabétiques, numériques et de ponctuation.

22
Les variables
Déclaration des variables : type

Exercice: Conversion en majuscule d’un caractère dans le codage ASCII

Exemple : le caractère c
C en majuscule vaut l’expression suivante: ‘c’+(‘A’ – ‘a’)
‘c’ vaut 99
‘A’ vaut 65
‘a’ vaut 97
‘c’+(‘A’ – ‘a’) = 99+(65-97)=67 qui est équivalent à ‘C’

Type booléen
Le domaine des booléens est l’ensemble formé des deux seules valeurs logiques VRAI ou FAUX

23
Les variables
Déclaration des variables

La syntaxe de la déclaration d’une variable est la suivante :


Variable NomVariable en TypeVariable

Exemple :
Variable X en Entier simple RAM
Variables Y , Z en Réel simple
20 21
Y
2 octets
45 46 47 48
X
4 octets
78 79 80 81

4 octets
Z

24
Les variables
Déclaration des variables
Algorithme Salutation Bonjour tout le monde !
Lors de la déclaration
d’une variable, elle prend Saisir le nombre d’élèves
Variable N en Entier une valeur aléatoire. _30
Début

Ecrire ("Bonjour tout le monde !")


Ecrire ("Saisir le nombre d’élèves")
Lire(N)

N: 30
Fin

RAM
25
Les variables
Déclaration des variables
Algorithme Salutation
Bonjour tout le monde !
Saisir le nombre d’élèves
Variable N en Entier 30
Début Le nombre saisi par l’utilisateur est: 30

Ecrire ("Bonjour tout le monde !")


Ecrire ("Saisir le nombre d’élèves")
Lire(N)
Ecrire("Le nombre saisi par l’utilisateur est:", N)

N: 30
Fin
Comment les variables changent-elles de valeur sans passer par
l’instruction Lire() ?
RAM
26
Instruction d’affectation

L’affectation est une opération qui fixe une nouvelle valeur à une variable. Elle est représentée par une flèche orientée
à gauche. Le symbole de l’affectation est

Exemple :
A 15 (1)
B 2 (2)
A B+3 (3)
A A+5 (4)

1/ Le terme de droite (15) est affecté au terme de gauche (variable A)


2/ Le terme de droite (2) est affecté au terme de gauche (variable B)
3/ Le terme de droite (valeur de la variable B + 3) est affecté au terme de gauche (variable A)
4/ Le terme de droite (valeur de A (dans (3)+ 5) est affecté au terme de gauche (variable A)
Dans ce dernier cas la nouvelle valeur de A remplace l'ancienne.
Instruction d’affectation

Algorithme Salutation
Bonjour tout le monde !
Saisir le nombre d’élèves
Variable N en Entier 30
Début Le nombre modifié par l’utilisateur est:
200

Ecrire ("Bonjour tout le monde !")


Ecrire ("Saisir le nombre d’élèves")
Lire(N)
N200
Ecrire("Le nombre modifié par l’utilisateur est:", N)
N: 30 200
Fin

RAM
28
Instruction d’affectation
Exercice

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?

Variables A, B en Entier
Début
A←5
B←2
A←B
B←A
Fin A: 2

! B: 2

RAM

29
Instruction d’affectation
Exercice

Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Algorithme Permutation
Variables A, B, C en Entier
Début
A←5
B←2
C←A
A←B
B←C A: 2
Fin
B: 5
C: 5
RAM

30
Instruction d’affectation
Expressions et opérateurs

Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalent à une seule valeur.
Un opérateur est un signe qui relie deux valeurs, pour produire un résultat.

Exemple :
Expression

A ← 5+(D%3)*24
Opérateur

31
Instruction d’affectation
Expressions et opérateurs

Opérateurs arithmétiques

Opération Opérateur
Addition +
Soustraction -
Multiplication *
Division /
Puissance ^
Changement de signe -
Modulo %

32
Instruction d’affectation
Expressions et opérateurs

Opérateurs logiques

Opérateur Opération
NON Négation
ET Conjonction
OU Disjonction
XOR (OU exclusif) Disjonction exclusive

33
Instruction d’affectation
Expressions et opérateurs

Opérateurs logiques

ET VRAI FAUX OU VRAI FAUX XOR VRAI FAUX


VRAI VRAI FAUX VRAI VRAI VRAI VRAI FAUX VRAI
FAUX FAUX FAUX FAUX VRAI FAUX FAUX VRAI FAUX

Exemple :
NON VRAI FAUX C ←3
FAUX VRAI B ← VRAI
A ← NON B
D ← A OU C
E ← B ET NON D
34
Instruction d’affectation
Expressions et opérateurs

Opérateurs de comparaison

Opérateur Opération
= Égal à

< Inférieur à
> Supérieur à

<= Inférieur ou égal à

>= Supérieur ou égal à

<> Différent de
Exemple :

C ←3
B ←2
A ← C <> B
35
Instruction d’affectation
Ordre de priorité des opérateurs
Ordre de priorité décroissante des opérateurs arithmétiques et de concaténation :
Les parenthèses
« ^ » (la puissance)
« - » (changement de signe)
« x », et « ÷ »
«%»
« + » et « - »

Ordre de priorité décroissante des opérateurs logiques :


« NON », « ET », « OU », « XOR »

Remarques :
- La question de l’ordre de priorité des opérateurs de comparaison ne se pose pas.
- Les opérations entre parenthèses sont prioritaires.
36
Les constantes

Les constantes désignent des références à des valeurs invariantes au cours du déroulement de l’algorithme.

Une constante est définie par :

• Un nom unique qui la désigne ;

• Une valeur attribuée.

37
Les constantes

Algorithme Nom de l’algorithme

Constante Nom_Constante = Valeur

Début

Bloc d’instructions

Fin

38
Les constantes
Exemple

Algorithme Note de présence


Variable N en Réel
Constante C=0.02
Début
Ecrire ("Entrer la note")
Lire(N)
Ecrire ("Entrer le coefficient")
Lire(C)
Ecrire ("La note de présence est :" ,N*C) N: 18
Fin
C: 0.02

RAM

39
Exercices
Donner le type et la valeur des expressions suivantes :

Expression Type Valeur


2+3*4
2.0 + 3 * 4
Vrai ET (Faux OU Vrai)
NON (5=2)
"maman" >"Papa"
"Maman" >"Papa"
7%2
(2 < 3) ET (4 > 5)
39<>23
Vrai ET Faux OU Vrai ET Vrai

40
Exercices
Donner le type et la valeur des expressions suivantes :

Expression Type Valeur


2+3*4 Entier 14
2.0 + 3 * 4 Réel 14.0
Vrai ET (Faux OU Vrai) Booléen Vrai
NON (5=2) Booléen Vrai
"maman" >"Papa" Booléen Vrai
"Maman" >"Papa" Booléen Faux
7%2 Entier 1
(2 < 3) ET (4 > 5) Booléen Faux
39<>23 Booléen Vrai
Vrai ET Faux OU Vrai ET Vrai Booléen Vrai

41
Exercices

En utilisant des tables de vérité, démontrer les lois suivantes, appelées lois de Morgan.

a = NON( NON( a ) )
NON( a ET b ) = NON(a) OU NON (b)
NON( a OU b ) = NON(a) ET NON (b)

42
Exercices

En utilisant des tables de vérité, démontrer les lois suivantes, appelées lois de Morgan.

a = NON( NON( a ) )
a NON( a ) NON(NON( a ))
VRAI FAUX VRAI
FAUX VRAI FAUX

NON( a ET b ) = NON(a) OU NON (b)


a b a ET b NON( a ET b ) NON( a ) NON( b ) NON(a) OU NON (b)
VRAI VRAI VRAI FAUX FAUX FAUX FAUX
VRAI FAUX FAUX VRAI FAUX VRAI VRAI
FAUX VRAI FAUX VRAI VRAI FAUX VRAI
FAUX FAUX FAUX VRAI VRAI VRAI VRAI
43
Exercices

En utilisant des tables de vérité, démontrer les lois suivantes, appelées lois de Morgan.

NON( a OU b ) = NON(a) ET NON (b)

a b a OU b NON( a OU b ) NON( a ) NON( b ) NON(a) ET NON (b)


VRAI VRAI VRAI FAUX FAUX FAUX FAUX
VRAI FAUX VRAI FAUX FAUX VRAI FAUX
FAUX VRAI VRAI FAUX VRAI FAUX FAUX
FAUX FAUX FAUX VRAI VRAI VRAI VRAI

44
Exercices
Indiquer si les algorithmes suivants sont incorrects, si tel est le cas donner toutes les raisons pour lesquelles
ils le sont :
Algorithme A1 Algorithme A2 Algorithme A3
Variables x, y en Entier Variables a, b, c en Booléen Variables x, y, w en Entier
Début Début Début
x  5 a  Vrai x  7. 65
5 y b  Faux z  x
Fin ca*b x*2  3+z
Fin y  x+5*w
Fin

Algorithme A4 Algorithme A5 Algorithme A6


Variables a, b en Booléen Variables x, y, z en Réel Variables x, y en Entier
Début Début Variable z en Booléen
a  Vrai x  1.15 Début
b  Faux z x x  1.15
c  a OU b x 5.0+z z  "Vrai"
Fin y  x+6.0*y y  '2'
Fin Fin

45
Exercices
Indiquer si les algorithmes suivants sont incorrects, si tel est le cas donner toutes les raisons pour lesquelles
ils le sont :
Algorithme A1 Algorithme A2 Algorithme A3
Variables x, y en Entier Variables a, b, c en Booléen Variables x, y, w en Entier
Début Début Début
x  5 a  Vrai x  7. 65
5 y b  Faux z  x
Fin ca*b x*2  3+z
Fin y  x+5*w
Fin

Algorithme A4 Algorithme A5 Algorithme A6


Variables a, b en Booléen Variables x, y, z en Réel Variables x, y en Entier
Début Début Variable z en Booléen
a  Vrai x  1.15 Début
b  Faux z x x  1.15
c  a OU b x 5.0+z z  "Vrai"
Fin y  x+6.0*y y  '2'
Fin Fin

46
Exercices

Donner le contenu des variables A,B et C du pseudo-code suivant :


Algorithme Affectation
Variables A, B, C en Entier
Début
A5
BA–3
CB
A  A+C
Fin

47
Exercices

Donner le contenu des variables A,B et C du pseudo-code suivant :


Algorithme Affectation
Variables A, B, C en Entier
Début
A: 5 7
A5
BA–3 B: 2
CB
A  A+C C: 2

Fin

RAM

48
Exercices

1. Quel résultat produira-t-il le déroulement de l’algorithme suivant ?

Algorithme Valeurs triple et double


Variables val, double, triple en Entier
Début
val 100
double val*2
triple val*3
Ecrire("La valeur est ",val)
Ecrire("La valeur double est ",double)
Ecrire("La valeur triple est ",triple)
Fin
2. Proposer une simplification de cet algorithme en produisant le même résultat.
49
Exercices
La valeur est 100
La valeur double est 200
1. Quel résultat produira-t-il le déroulement de l’algorithme suivant ? La valeur triple est 300

Algorithme Valeurs triple et double


Variables val, double, triple en Entier
Début
val 100
double val*2
triple val*3
val : 100
Ecrire("La valeur est ",val)
Ecrire("La valeur double est ",double) double : 200
Ecrire("La valeur triple est ",triple)
triple : 300
Fin
RAM
50
Exercices
La valeur est 100
La valeur double est 200
2. Proposer une simplification de cet algorithme en produisant le même La valeur triple est 300
résultat

Algorithme Valeurs triple et double


Variables val en Entier
Début
val 100
Ecrire("La valeur est ",val)
Ecrire("La valeur double est ", val*2) val : 100

Ecrire("La valeur triple est ", val*3)


Fin

RAM
51
Exercices

Ecrire un algorithme qui demande un nombre à l’utilisateur puis il calcule et affiche le carré ainsi que le
cube de ce nombre.

52
Exercices
Ecrire un algorithme qui demande un nombre à l’utilisateur puis il Donner un nombre
calcule et affiche le carré ainsi que le cube de ce nombre. 3
Le carré du nombre 9
Le cube du nombre 27
Algorithme Le carré et le cube d'un nombre
Variables n en Entier
Début
Ecrire("Donner un nombre ")
Lire(n)
Ecrire("Le carré du nombre",n^2)
n: 3
Ecrire("Le cube du nombre",n^3)
Fin

RAM
53
Exercices
Ecrire un algorithme qui réalise la permutation de deux variables numériques :
1. Sans avoir utiliser une troisième variable.
2. En utilisant une troisième variable.

54
Exercices
Ecrire un algorithme qui réalise la permutation de deux variables numériques :
1. Sans avoir utiliser une troisième variable.
Algorithme Permutation de deux variables
Variables a, b en Entier
Début
Ecrire("Donner la valeur de la première variable")
Lire(a)
Ecrire("Donner la valeur de la deuxième variable")
Lire(b)
a  a+b
b  a-b
a  a-b
Ecrire("La valeur de la première variable ",a)
Ecrire("La valeur de la deuxième variable ",b)
Fin
55
Exercices
Ecrire un algorithme qui réalise la permutation de deux variables numériques :
2. En utilisant une troisième variable.
Algorithme Permutation de deux variables
Variables a, b, c en Entier
Début
Ecrire("Donner la valeur de la première variable")
Lire(a)
Ecrire("Donner la valeur de la deuxième variable")
Lire(b)
ca
ab
bc
Ecrire("La valeur de la première variable ",a)
Ecrire("La valeur de la deuxième variable ",b)
Fin
56
Exercices

Ecrire un algorithme qui fait la permutation circulaire des trois variables A,B et C.

57
Exercices

Ecrire un algorithme qui fait la permutation circulaire des trois variables A,B et C.
Algorithme Permutation circulaire des trois variables
Variables A, B, C, D en Entier
Début
Ecrire("Donner les valeurs de A,B et C")
Lire(A,B,C)
DA
AB
BC
CD
Ecrire("A=",A, "B=",B, "C=",C)
Fin

58
Exercices

Ecrire un algorithme qui demande à l’utilisateur une lettre en majuscule et l’affiche en minuscule.

59
Exercices

Ecrire un algorithme qui demande à l’utilisateur une lettre en majuscule et l’affiche en minuscule.

Algorithme Transformer une lettre majuscule en minuscule


Variables lettre en Caractère
Début
Ecrire("Donner une lettre en majuscule ")
Lire(lettre)
lettre  lettre + (‘a’-’A’) // ou lettre  lettre + 32
Ecrire("La lettre en minuscule :", lettre)
Fin

60
Exercices

On considère la fonction f(x) définie par :


f(x)=2x²-4x+1
Ecrire un algorithme qui demande à l’utilisateur un nombre x puis il calcule et affiche la valeur de f(x).

61
Exercices

On considère la fonction f(x) définie par :


f(x)=2x²-4x+1
Ecrire un algorithme qui demande à l’utilisateur un nombre x puis il calcule et affiche la valeur de f(x).

Algorithme Calculer la fonction f(x)


Variables x, f en Réel
Début
Ecrire("Donner la valeur de x")
Lire(x)
f  2*x^2-4*x+1
Ecrire("f(",x, ")=",f)
Fin

62
Exercices
Ecrire un algorithme qui demande à l’utilisateur le rayon R d’un disque C et qui calcule par la suite le
diamètre D, le périmètre et la surface du disque C.

63
Exercices
Ecrire un algorithme qui demande à l’utilisateur le rayon R d’un disque C et qui calcule par la suite le
diamètre D, le périmètre et la surface du disque C.

Algorithme Le diamètre, le périmètre et la surface d’un disque


Variables R en Réel
Constante Pi=3.14
Début
Ecrire("Donner le rayon du disque ")
Lire(R)
Ecrire("Le diamètre du disque :",R*2)
Ecrire("Le périmètre du disque :",2*Pi*R)
Ecrire("La surface du disque :",Pi*R^2)
Fin

64
Exercices

Ecrire un algorithme qui demande à l’utilisateur les dimensions d’un parallélépipède rectangle. Puis, il
calcule son volume.

65
Exercices

Ecrire un algorithme qui demande à l’utilisateur les dimensions d’un parallélépipède rectangle. Puis, il
calcule son volume.

Algorithme Volume d’un parallélépipède rectangle


Variables A, B, C, V en Réel
Début
Ecrire("Donner les dimensions du parallélépipède rectangle")
Lire(A,B,C)
V  A*B*C
Ecrire("Le volume du parallélépipède rectangle :",V)
Fin

66
Exercices

Une grande surface accorde à tous ses clients, une réduction de 3% sur le montant d’achat.

Ecrire un algorithme permettant de saisir le montant d’achat (MA) et de calculer le montant de la remise
(R) ainsi que le montant à payer (MP).

67
Exercices

Une grande surface accorde à tous ses clients, une réduction de 3% sur le montant d’achat.

Ecrire un algorithme permettant de saisir le montant d’achat (MA) et de calculer le montant de la remise
(R) ainsi que le montant à payer (MP).

Algorithme Calculer le montant d’achat


Variables MA, R, MP en Réel
Début
Ecrire("Donner le montant d’achat ")
Lire(MA)
R  MA*3/100
MP  MA-R
Ecrire("Le montant de la remise :",R)
Ecrire("Le montant à payer :",MP)
Fin 68
Exercices

Ecrire un algorithme qui lit le prix HT d’un article, le nombre d’articles et le taux de la TVA, et qui calcule et
affiche le prix total TTC à payer.

69
Exercices

Ecrire un algorithme qui lit le prix HT d’un article, le nombre d’articles et le taux de la TVA, et qui calcule et
affiche le prix total TTC à payer.

Algorithme Calculer le prix total TTC


Variables pHT, TVA, N,pTTC en Réel
Début
Ecrire("Donner le prix HT de l’article")
Lire(pHT)
Ecrire("Donner le nombre d’articles ")
Lire(N)
Ecrire("Donner le taux de la TVA")
Lire(TVA)
pTTC  pHT*(1+TVA/100)*N
Ecrire("Le prix total TTC à payer :",pTTC)
Fin 70
Exercices
1. Ecrire un algorithme qui permet de lire les notes de trois matières ensuite il calcule et affiche leur
moyenne.
2. Modifier l’algorithme dans le cas où les matières ont des coefficients qui doivent être donnés avec les
notes.

71
Exercices
1. Ecrire un algorithme qui permet de lire les notes de trois matières ensuite il calcule et affiche leur
moyenne.

Algorithme La moyenne de trois matières


Variables M1, M2, M3, moy en Réel
Début
Ecrire("Donner les notes de trois matières")
Lire(M1,M2,M3)
moy  (M1+M2+M3)/3
Ecrire("La moyenne est:",moy)
Fin

72
Exercices
2. Modifier l’algorithme dans le cas où les matières ont des coefficients qui doivent être donnés avec les notes.
Algorithme La moyenne de trois matières
Variables M1,C1, M2,C2, M3,C3, moy en Réel
Début
Ecrire("Donner la note de la première matière")
Lire(M1)
Ecrire("Donner le coefficient de la première matière")
Lire(C1)
Ecrire("Donner la note de la deuxième matière")
Lire(M2)
Ecrire("Donner le coefficient de la deuxième matière")
Lire(C2)
Ecrire("Donner la note de la troisième matière")
Lire(M3)
Ecrire("Donner le coefficient de la troisième matière")
Lire(C3)
moy  (M1*C1+M2*C2+M3*C3)/(C3+C2+C3)
Ecrire("La moyenne est:",moy) 73
Fin
Exercices
Ecrire l'algorithme qui, pour une variable entière A lue, permet le calcul et l'affichage des variables B, C, D, E,
F, G et H où :
• B=A/2

• C= (A+B)/2*A

• D= ( B> A) ou (C<A)

• E= 125 +12

• F= "125"

• G= "Vrai"

• H= 'O'

74
Exercices
Ecrire l'algorithme qui, pour une variable entière A lue, permet le calcul et l'affichage des variables B, C, D, E,
F, G et H où : B=A/2, C= (A+B)/2*A, D= ( B> A) ou (C<A), E= 125 +12, F= "125",G= "Vrai" et H= 'O'
Algorithme Exercice
Variables A, B, C, E en Entier
Variable D en Booléen
Variables F, G en Chaîne de caractères
Variable H en Caractère
Début
Ecrire("Donner la valeur de A")
Lire(A)
B  A/2
C (A+B)/2*A
D ( B> A) ou (C<A)
E  125 +12
F  "125"
G  "Vrai"
H  'O'
Ecrire("A=",A , "B=",B, "C=",C , "D=",D, "E=",E , "F=",F, "G=",G , "H=",H) 75
Fin
Exercices
Ecrire un algorithme qui convertit un nombre de secondes au format heures minutes secondes, puis l’affiche.

Exemple :
Si C = 3665, alors l’affichage sera 1h 1min 5s.

76
Exercices
Ecrire un algorithme qui convertit un nombre de secondes au format heures minutes secondes, puis l’affiche.

Algorithme Convertir un nombre de secondes au format heures minutes secondes


Variables s, m, h,c en Entier
Début
Ecrire("Donner le nombre de secondes ")
Lire(c)
h  c/3600
m  (c%3600)/60
s c%60
Ecrire(h,"h ",m,"min ",s,"s")
Fin

77
Exercices
Ecrire l’algorithme permettant de calculer et d’afficher le salaire net d’un employé.
Sachant que :
✓ Salaire net = Salaire brut – Valeur de l’impôt – Valeur de CNSS
✓ Salaire brut = (Salaire de base + Prime de technicité + Prime de transport + Prime des enfants) * Taux
de travail
✓ Taux de travail = Nombre de jours travaillés / 26
✓ Prime des enfants = Prime d’un enfant * Nombre d’enfants
✓ Valeur de l’Impôt = Taux de l’Impôt * Salaire Brut
✓ Valeur de CNSS = Taux de CNSS * Salaire Brut
✓ Taux CNSS = 26,5%
✓ Taux Impôt = 2%

78
Exercices
Ecrire l’algorithme permettant de calculer et d’afficher le salaire net d’un employé.
Algorithme Le salaire net d’un employé
Variables SB, SN, salBase, pTech, pTrans, pEnfant en Réel
Variables nbrJours, nbrEnfants en Entier
Constante tCNSS=0.265, tImpot=0.02
Début
Ecrire("Donner le salaire de base ")
Lire(salBase)
Ecrire("Donner la prime de technicité ")
Lire(pTech)
Ecrire("Donner la prime de transport")
Lire(pTrans)
Ecrire("Donner le nombre de jours travaillés ")
Lire(nbrJours)
Ecrire("Donner le nombre d’enfants")
Lire(nbrEnfants)
Ecrire("Donner la prime d’un enfant ")
Lire(pEnfant)
SB  (salBase + pTech+ pTrans + pEnfant * nbrEnfants)* nbrJours/26
SN  SB - SB * tImpot - SB * tCNSS
Ecrire("Le salaire net est :",SN) 79
Fin

Vous aimerez peut-être aussi