0% ont trouvé ce document utile (0 vote)
50 vues58 pages

Algo - Chap I

Le document présente un module sur l'algorithmique et la programmation en Python, visant à traduire des problèmes en algorithmes et en programmes. Il couvre des concepts fondamentaux tels que les types de données, les structures de contrôle, et le cycle de vie d'un programme. Des exemples pratiques et des caractéristiques d'un bon algorithme sont également fournis pour illustrer les concepts abordés.

Transféré par

maroualahbil081
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 PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
50 vues58 pages

Algo - Chap I

Le document présente un module sur l'algorithmique et la programmation en Python, visant à traduire des problèmes en algorithmes et en programmes. Il couvre des concepts fondamentaux tels que les types de données, les structures de contrôle, et le cycle de vie d'un programme. Des exemples pratiques et des caractéristiques d'un bon algorithme sont également fournis pour illustrer les concepts abordés.

Transféré par

maroualahbil081
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 PPT, PDF, TXT ou lisez en ligne sur Scribd

Algorithmique et programmation en Python

FI_GIL_GMSI _S1

Pr. S. AHRIZ - Email : [email protected]

Département Mathématiques et Informatique

Année Universitaire : 2024/2025


1
Objectifs du module

■ Traduire un problème sous forme d’algorithme

■ Traduire un algorithme en programme machine

2
Programme algorithmique
- Processus de résolution d’un problème;
- Structure générale d’un algorithme;
- Constante et variable;
- Types de base;
- Opérateurs;
- Instructions d’entrées-sorties;
- Structures alternatives;
- Structures répétitives;
- Tableaux;
- Fonctions et Procédures.

3
Qu’est ce que l’informatique ?

Opinion généralement répandue : Tout ce qui est lié à l'ordinateur


Utilisation de logiciels (bureautique, multimédia, jeux,...) et de
matériel (électronique)
Définition (Larousse): (de information et automatique)
Science du traitement automatique et rationnel de
l'information considérée comme le support des connaissances et
des communications.

4
Qu’est ce qu’un système
Une unité centrale (U.C):
exécute les instructions du
informatique ? Un compteur d’instructions (C.I):
responsable de renseigner sur le numéro de
la prochaine instruction à exécuter.
programme, organise le travail
et met de l’ordre entre les
différents organes de la
machine .

Une mémoire d’instructions


(M.I): contient les différentes
instructions du programme
exécutables

Une mémoire de
données contient des
cases numérotées,
destinées à recevoir les
données et résultats du
programme.

5
Traitement automatique de
l'information
■ Capter les informations par des organes d'entrée (clavier, fichiers,
webcam, ...)
■ Transmettre ces informations (bus, câbles, ...)
■ Stocker (mémoire vive, disque dur, DVD, ...)
■ Traiter (processeur ou unité centrale d'ordinateur) grâce à un
logiciel
■ Restituer par des organes de sortie (écran, imprimante, haut
parleur, ...)

6
Qu’est ce que l’algorithmique ?

■ L’algorithmique désigne la science qui étudie l’application des algorithmes à


l’informatique. Elle s’intéresse à l’art de construire des algorithmes ainsi qu’à
caractériser leur validité, leur robustesse, leur réutilisabilité, leur complexité ou leur
efficacité.

■ Pour faire exécuter une tâche par l’ordinateur, il faut tout d'abord, détailler
suffisamment les étapes de résolution du problème. Ensuite, transférer la
résolution en une suite d'étapes si élémentaires et simples à exécuter, pouvant
être codées en un programme dans un langage compréhensible par ordinateur.

7
Qu’est ce qu’un algorithme ?

▪ Le terme algorithme fut inventé par le mathématicien Mohammed Ibn Musa-Al


Khwarizmi, dans le courant du neuvième siècle avant Jésus Christ (778-850).

▪ Un algorithme est un ensemble d'opérations de calcul élémentaires, organisés


selon des règles précises dans le but de résoudre un problème donné. Pour
chaque donnée du problème, l'algorithme retourne une réponse après un nombre
fini d'opérations(+, -,/,<,>,... ).

▪ Un algorithme est une séquence finie d'instructions non ambiguës énoncé dans
un langage formel pour résoudre un problème, c'est-à-dire pour obtenir, en un
temps fini, une sortie requise pour toute entrée valide.

8
Les étapes de résolution d'un problème

1. Comprendre l'énoncé du problème


2. Décomposer le problème en sous-problèmes plus simples à résoudre
3. Associer à chaque sous problème, une spécification :
3.1. Les données nécessaires
3.2. Les données résultantes
3.3. La démarche à suivre pour arriver au résultat en partant d'un
ensemble de données.
4. Elaborer l’algorithme correspondant.

Année Universitaire 2024/2025 9


Cycle de vie d’un programme
Problème Spécifications

Codage/Traduction
Programmeur (Langage
de programmation)
Algorithme

Exécution
Programme

Erreur sémantique

Erreur syntaxique Résultats

Année Universitaire 2024/2025 10


Exemple explicatif
Problème : ensemble de
familles qui demandent un
logement.
Solution :
immeuble pour regrouper ces
familles.

Année Universitaire 2024/2025 11


Cycle de développement

ANALYSE :
Phase de réflexion qui permet :
• D'identifier précisément le problème
• D'identifier les caractéristiques du problème
- données
- résultats
- cas particuliers
- traitement,...
• De découper le problème en une succession de tâches simples et
distinctes (sous-problèmes).

Année Universitaire 2024/2025 12


Cycle de développement

CONCEPTION :

•Suite des opérations à mettre en œuvre pour obtenir un résultat à


partir des données.
•Faire ressortir la logique de la résolution du problème
•Proche mais indépendant des langages de programmation
•Obtenir le résultat correct quelles que soient les valeurs des
données.

Année Universitaire 2024/2025 13


Cycle de développement

CODAGE :

1.Programme :

Un ou plusieurs fichiers texte contenant des instructions écrites dans un


langage informatique (ex : JAVA, C, FORTRAN, COBOL, BASIC,...).
Remarque: certains sous-programmes peuvent être stockés dans des fichiers annexes au programme à bibliothèque de
fonctions.

2. Programmation :
Traduction du langage algorithmique en langage de programmation.
Année Universitaire 2024/2025 14
Cycle de développement

TEST :

1.Compilation :

Transformation en langage machine d’un programme écrit en langage de


programmation à l’aide d’un compilateur.
Création du fichier contenant le programme exécutable.

2. Exécution :

L’ordinateur effectue les instructions du programme.

Année Universitaire 2024/2025 15


Exemple d’algorithme

Recette de cuisine
Une recette de cuisine peut être réduite à un algorithme si on peut
réduire sa spécification aux éléments constitutifs :

• des entrées (les ingrédients, le matériel utilisé).


• des instructions élémentaires simples (frire, flamber, rissoler,
etc. ), dont les exécutions dans un ordre précis amènent au
résultat voulu.
• un résultat : le plat préparé.

16
Cuire une omelette : Illustration
Problème Résultat

Mettre la poêle avec l’huile


Casser puis battre les œufs Ajouter épices et battre
au feu en continuant à battre

Verser les œufs dans la


poêle et retourner après
quelques minutes

Cette recette a 4 étapes


Etapes Instructions

Un algorithme est une suite ordonnée et finie d’étapes


Les étapes sont ordonnées
permettant de résoudre un problème précis

17
Caractéristiques d’un bon
algorithme
1. Clair: Facile à lire et à comprendre (ne pas présenter
d’ambiguïtés (instruction interprétable de plusieurs manières).
2. Correct: Répond bien au problème posé et exécute correctement
les tâches pour lesquelles il a été conçu.
3. Complet: Considère tous les cas possibles et donne un résultat
dans chaque cas.
4. Fini : Se termine quelle que soit la machine ainsi que le temps et
la date d’exécution.
5. Réutilisable: Structuré en entités réutilisables
6. Efficace : Effectue le travail demandé avec l’utilisation du
minimum de ressources (temps, espace mémoire,...)
18
Représentation d’un algorithme
Il existe deux façon pour représenter un Algorithme :

▪ L’Organigramme : représentation graphique avec des symboles


(carrés, losanges, …)
■ Offre une vue d’ensemble de l’algorithme
■ Représentation quasiment abandonnée

▪ Le Pseudo-code : représentation textuelle avec une série de


conventions ressemblant à un langage de programmation (sans les
problèmes de syntaxes)
■ Plus pratique pour écrire un algorithme
■ Représentation largement utilisée

19
Représentation d’un algorithme
Pseudo-code Organigramme

20
Organigramme : Symboles normalisés

21
Structure d’un algorithme
Un algorithme pourra se présenter par un langage algorithmique de la manière
suivante :
Un algorithme est caractérisé par son nom qui
doit être significatif.

Partie contenant tous les objets qui seront


impliqués dans les différentes actions de
l’algorithme (constantes, types, variables, etc.).

Partie réservée aux actions (appelées en


programmation, instructions) ; elle est délimitée
par les deux mots-clés Début et Fin.

22
Environnement de l’Algorithme

Pour fonctionner, un algorithme utilise un certain nombre d’objets appelé :


Environnement de l’algorithme.
Un objet peut se présenter sous deux formes différentes :
– Constante : ne peut être modifiée par les instructions de l’algorithme tout
au long de son exécution ;
– Variable : dans le cas contraire.
Le traitement d’un objet ne peut concerner que la valeur de celui-ci.
Règle : les objets doivent être déclarés avant d’être utilisés et sont caractérisés
par :
– Un identificateur,
– Une valeur,
– Un type
23
Constantes
■ Une constante est un objet dont la valeur ne peut pas être modifiée au
cours de l'exécution de l’algorithme.

■ Une constante doit toujours recevoir sa valeur lors de la déclaration.

■ Exemple: pour calculer la surface ou le périmètre d’un cercle, la valeur


de PI est une constante mais le rayon est une variable.

■ Déclaration : Constance PI=3.14

24
Variables

■ Une variable est un espace mémoire qui va contenir des données au fur et à
mesure que le programme avance dans son exécution. Une variable peut être
modifiée au cours de l'exécution de l’algorithme. Cependant, à un instant donné,
une variable ne peut contenir qu’une seule donnée (valeur).

■ Une variable peut être fournie par l’utilisateur (saisie au clavier) ou lue à partir du
disque dur. Il peut aussi s’agir de résultats obtenus par le programme,
intermédiaires ou définitifs, etc...

25
Identificateur d’un objet
Nom symbolique attribué à un objet de l’algorithme, un identificateur est soumis à quelques
règles qui varient selon le langage, mais en général :

• Il doit être significatif et unique dans un algorithme,

• Ecrit sur 8 positions (Taille <= 8 caractères).

• Commencer obligatoirement par une lettre (la suite des caractères doit être
constituée de lettres (a-z, A-Z), de chiffres (0..9), et du caractère soulignement ‘’_’’.

• Ne pas comporter le caractère « espace », ni de caractères spéciaux autre que le


tiret de soulignement (_), ni de mots réservés du langage (par exemple en C: int,
float, double, switch, case, for, main, return,…)
Exemples d’identificateurs valides : X, A, VAR1, VAR2, X1, Y, FICHE_ETUDIANT,…
Exemples d’identificateurs non valides : 3, VAR-1, X$, X@Y,...
26
Type d’un objet

▪ Le type d’un objet détermine l’ensemble des valeurs qu’il peut prendre.

▪ En programmation, nous pouvons classer les types de données en trois


grandes familles :
– Les booléens

– Les numériques

– Les textes

27
1. Type Booléen 1/2

Correspond à un ensemble de deux états logiques (vrai, faux).

Ensemble de définition: {FAUX, VRAI}

Déclaration algorithmique : a, b : booléen ;

Les opérations qu’on peut appliquer à ces valeurs logiques sont : (ET,
OU, NON, OU Exclusif)

Pour simplifier la représentation, on assimile à vrai la valeur (1) et à


faux la valeur (0).

28
1.Type Booléen 2/2
Les tables de vérité de ces opérateurs sont les suivantes :

a b a ET b a b a OU b
0 0 0 0 0 0 a NON a
0 1 0 0 1 1 0 1
1 0 0 1 0 1 1 0
1 1 1 1 1 1

29
2. Type numérique
■ Correspond à des intervalles de l’ensemble des entiers relatifs (ℤ) et
l’ensemble des nombres réels (ℝ) (voir slide suivant)
■ Déclaration algorithmique : a, b: entier; / a, b: réel;
■ Les opérations les plus fréquentes sur ces valeurs sont résumées dans le
tableau ci-dessous.

Opérateur Signification Exemple


+ Addition R= a +b
- Soustraction R= a –b
* Multiplication R= a*b
/ Division R= a/b si b!= 0
^ Elévation de puissance Y= x^n
DIV Division entière 7 DIV 2 = 3
MOD Reste d’une division MOD(13.5) =3
ENT Partie entière d’un réel ENT(15.36) = 15
30
2. Type numérique
le type de codage (autrement dit, le type de variable) choisi pour un nombre va déterminer :
• les valeurs maximales et minimales des nombres pouvant être stockés dans la variable
• la précision de ces nombres (dans le cas de nombres décimaux).

Type Numérique Plage


Byte (octet) 0 à 255
Entier simple -32 768 à 32 767
Entier long -2 147 483 648 à 2 147 483 647
-3,40x1038 à -1,40x1045 pour les valeurs négatives
Réel simple
1,40x10-45 à 3,40x1038 pour les valeurs positives
1,79x10308 à -4,94x10-324 pour les valeurs négatives
Réel double
4,94x10-324 à 1,79x10308 pour les valeurs positives

31
Unités de mesure de stockage

■ Le bit (pas de notation)


■ L’octet = 23 bits = 8 bits. (noté 1 o)
■ Le Kilo-octet = 210 octets =1024 o (noté 1 Ko)
■ Le Méga-octet = 220 octets =(1024)2 o (noté 1 Mo)
■ Le Giga-octet = 230 octets =(1024)3 o (noté 1 Go)
■ Le Téra-octet = 240 octets =(1024)4 o (noté 1 To)
■ Le Peta-octet = 250 octets =(1024)5 o (noté 1 Po)
■ L’ Exa-octet = 260 octets =(1024)6 o (noté 1 Eo)
■ Le Zetta-octet = 270 octets =(1024)7 o (noté 1 Zo)
■ Le Yota-octet = 280 octets =(1024)8 o (noté 1 Yo)
32
Opérateurs de comparaison
▪ On peut appliquer à deux objets de même type une opération de relation
dont le résultat est une valeur booléenne : vrai ou faux
▪ L’ensemble de ces opérations est décrit dans le tableau ci-dessous :

Opération Symbole
Strictement inférieur à <
Strictement supérieur à >
Inférieur ou égal à <=
Supérieur ou égal à =>
Egal à =
Différent de <>

33
3.Type texte
■ Le type caractère
Ensemble de définition: La table ASCII
Exemples: ’𝐴’,’𝐷’,’3’,’!’,’@’
Comparaisons =, >, <, ≥, ≤, ≠
Déclaration algorithmique : a, b: caractère;
■ Le type chaîne de caractères
C’est une suite de caractères entourée par des doubles cotes
Exemples: "nom","𝑒𝑚𝑎𝑖𝑙","12 𝑟𝑢𝑒 𝑑𝑒 𝑠𝑙𝑜𝑖𝑠"...
Opérateurs: & (concaténation)
Déclaration algorithmique : a, b: chaîne de caractères.

34
Table
ASCII
American Standard Code for
Information Interchange

35
Instructions élémentaires en
algorithmique

Les instructions élémentaires sont les instructions qui figurent le plus


souvent dans tous les algorithmes.

1. L’affectation

2. Les instructions d’entrée de données

3. Les instructions de sortie de données.

36
1. L’affectation (1/2)
L’opération d’affectation consiste à mettre (placer) une valeur dans une variable. Elle est schématisée
par le symbole

Représentation Algorithmique

37
1. L’affectation (2/2)
Remarques :

i.A 5 : cela veut dire mettre la valeur 5 dans la variable A, qui du coup va perdre
son ancienne valeur. On dit également, que A reçoit la valeur 5, ou on affecte 5
dans la variable A, ou encore on affecte à la variable A la valeur 5.

ii.A  B : cela veut dire mettre le contenu de la variable B dans la variable A.

iii.A + B  S : c’est une opération impossible (A + B n’est pas un nom de


variable !!).

iv.Il faut distinguer entre A  B et B  A ; l’affectation n’est pas commutative.

38
Application
■ Donner pour chaque opération la valeur contenue dans chaque
variable :

A B C
A 1
B A+3
A 3
B 5
C A+B
A2
C B-A

39
Application (corrigé)
■ Donner pour chaque opération la valeur contenue dans chaque
variable :

A B C
A 1 1 -- --
B A+3 1 4 --
A 3 3 4 --
B 5 3 5 --
C A+B 3 5 8
A 2 2 5 8
C B-A 2 5 3

40
Les Variables

Exercice 1

■ Quelles seront les valeurs des variables A et B après exécution


des instructions suivantes ?
Variables A, B en Entier
Début
A←1
B←A+3
A←3
Fin

41
Les Variables
Exercice 2

■ Quelles seront les valeurs des variables A, B et C après exécution des


instructions suivantes ?
■ Variables A, B, C en Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin

42
Les Variables

Exercice 3

■ 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←A+4
A←A+1
B←A–4
Fin

43
Les Variables

Exercice 4

■ Quelles seront les valeurs des variables A, B et C après exécution des


instructions suivantes ?
■ Variables A, B, C en Entier
Début
A←3
B ← 10
C←A+B
B←A+B
A←C
Fin

44
Les Variables
Exercice 5

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

45
L’instruction de lecture

■ La lecture est une opération d’entrée qui s’effectue à l’aide des


périphériques d’entrée (clavier, souris, stylo optique, etc.) vers la
mémoire centrale.
■ Elle permet à l’utilisateur d’introduire les données au programme
pour qu’il produise les résultats attendus

46
Lecture : Représentation
Une action de Lecture algorithmique
est représentée par le terme ‘Lire’ ; elle peut concerner une
ou plusieurs variables.
Pour une variable, l’action de lecture ou encore la primitive de lecture doit se
présenter comme suit :
Lire( Nomvariable )
Pour plusieurs variables, deux formats de lecture peuvent être appliqués :
Soit une lecture de toutes les variables ensemble
Lire(Nomvariable1, Nomvariable2, ………., NomvariableN).
Soit une lecture pour chaque variable et dans ce cas on a le schéma suivant :
Lire(Nomvariable1)
Lire(Nomvariable2)
……
Lire(NomvariableN)

47
Lecture : Remarques
1. Dès que le programme rencontre une instruction Lire, l’exécution
s’interrompt, attendant la saisie d’une valeur au clavier, si la touche Entrée
a été frappée, l’exécution reprend.
2. Il est interdit de lire une constante : Si PI=3.14 déclarée comme constante,
Lire(PI) est impossible.
3. Il est interdit de lire une expression arithmétique ou logique : Lire(a+b) est
impossible.
4. Il est interdit de lire un message : Lire(‘Bonjour’) est impossible.
5. Quelques phrases ayant le contexte de lecture :
1. Saisir des données à partir du clavier : il s’agit d’une lecture.
2. Entrer des données à partir du clavier : il s’agit d’une lecture.
3. Introduire les données : il s’agit d’une lecture.

48
L’instruction d’écriture
■ L’écriture est une opération de sortie (de la mémoire ou du
microprocesseur vers les périphériques de sortie).
■ Elle permet à l’utilisateur d’afficher les résultats d’un programme sur le(s)
périphérique(s) de sortie, tels que : écran, imprimante, etc.
■ Une action d’écriture, parfois dite une primitive d’écriture peut se faire :
– sur une ou plusieurs variables,
– sur des constantes,
– sur des expressions arithmétiques et logiques,
– sur des messages.
■ Une action d’écriture peut être mixte, c’est à dire qu’elle regroupe des
variables, des constantes, des expressions et des messages.

49
Ecriture : Représentation
a) Ecriture sur une oualgorithmique
plusieurs variables :

■Ecrire( Nomvariable ) : consiste à afficher le contenu de la variable Nomvariable à


l’écran.
Pour plusieurs variables, deux formats d’écriture peuvent être appliqués :
■Soit une écriture de toutes les variables ensemble
Écrire (Nomvariable1, Nomvariable2, ………., NomvariableN).
■Soit une écriture pour chaque variable et dans ce cas on a le schéma suivant :
■Écrire (Nomvariable1)
■Écrire (Nomvariable2)
■……
■Écrire (NomvariableN)

50
Ecriture : Représentation 20

algorithmique
b) Ecriture d’une constante :
■C’est une opération qui consiste à afficher la valeur d’une constante.
■Écrire(Valconstante) ou Écrire(Nomconstante), sachant que cette constante contient la
valeur Valconstante.
Exemples : Écrire(3.14) , Écrire(PI) ,
c) Ecriture d’une expression arithmétique ou logique :
■Une expression est un ensemble de valeurs (variables, constantes,..), reliées par des
opérateurs, et équivalent à une seule valeur. Exemple : 5+6, 7*9, 2<8, X>6, X+Y…
■Dans certains programmes, et en vue d’optimiser le nombre de variables ainsi que le
nombre d’instructions, on réalise directement une primitive d’écriture sur une expression.
■Écrire(expression)
Exemples:
■Écrire(a+b*c) avec a, b et c des entiers
■Écrire(a ou b et c) avec a, b et c des booléens

51
Ecriture : Représentation
algorithmique
e) Ecriture mixte :
Dans certains programmes, l’affichage doit être très clair. Par exemple, on
veut afficher la ligne suivante :

Le Montant de la Facture est = 1250 MAD.

Pour obtenir un tel affichage, on doit présenter l’action d’écriture comme


suit :

Écrire(‘Le Montant de la Facture est = ‘,MNTFACT, ‘MAD’) où MNTFACT est


la variable qui contient ce montant. On parle dans ce cas d’écriture mixte.

Écrire(‘message’,Nomvariable,constante,’message’,….)

52
Ecriture : Représentation
algorithmique
f) Ecriture d’un message
L’écriture des messages dans un programme facilite son utilisation ;
Un message est une suite de caractère ayant un sens et délimité par
deux apostrophes.
Écrire(‘message’)
Exemple :
Écrire(‘Bonjour’) : cette opération affichera à l’écran le mot Bonjour.
Remarque :
Quelle est la différence entre Écrire(‘Bonjour’) et Écrire(Bonjour) ?
Écrire(‘Bonjour’) : cette opération affichera à l’écran le mot Bonjour.
Écrire(Bonjour) : cette opération affichera à l’écran le contenu de la
variable Bonjour.

53
Bonnes pratiques pour écrire un
algorithme
1. Pour commencer
• déterminer les données du problème à résoudre et leur type
• déterminer le type du résultat
• préciser en commentaire le rôle de l'algorithme (le problème
résolu) et le rôle des données
• écrire les "préconditions"
• Cas général = domaine des valeurs pouvant être prises par
les variables pour que le problème ait du sens
• Cas particulier = restriction du problème par l'énoncé
54
Bonnes pratiques pour écrire un
algorithme
2. Ecrire le corps de l'algorithme de "début" à « fin"
• suite d'instructions résolvant le problème
3. Spécifications du problème
Données : nom, type et rôle des données
Résultat : rôle de l'algorithme
Principe : description du fonctionnement de l'algorithme
(trace d’un algorithme)

55
Trace d’un algorithme

56
Trace d’un algorithme

57
Exercices
1. Écrire un algorithme qui demande deux nombres entiers à l'utilisateur,
puis calcule et affiche leur somme, leur multiplication et leur division.
2. Ecrire un algorithme qui permet d’effectuer la saisie d’un nom, d’un
prénom et affiche ensuite le nom complet.
3. Ecrire un algorithme qui permet de lire le rayon d’un cercle et affiche sa
surface et son périmètre.
4. Ecrire un algorithme permettant d'échanger le contenu de deux entiers
A et B saisis par l'utilisateur et afficher ces entiers après l’échange.
5. Ecrire un algorithme permettant de calculer le montant d’une facture
pour la vente d’un seul produit à une quantité et à un prix donnés
sachant que la TVA = 20% et d’afficher le montant HT et le montant
TTC.

58

Vous aimerez peut-être aussi