Click here to load reader
Upload
farouk-blalou
View
924
Download
1
Embed Size (px)
Citation preview
Formateur : GAHI Saïd Page 1 sur 18
UNITE DE FORMATION
ALGORITHMIQUE ET LOGIQUE DE PROGRAMMATION PLAN DE COURS : PARTIE I : LES ELEMENTS DE BASE DE L’ALGORITHMIQUE ET LES
STRUCTURES DE TRAITEMENT.
CHAPITRE 1 : LES ELEMENTS DE BASE DE L’ALGORITHMIQUE
I. Introduction générale
1. Définitions
2. Syntaxe générale d’un algorithme
3. Illustration de fonctionnement d’un ordinateur
4. Organigramme
5. Exemples
II. Les variables, Type et Valeur
1. Définition
2. Exemples
3. Exercices
III. Les opérations de transfert
1. Instruction de sortie
1.1. Définition
1.2. Syntaxe
1.3. Exemple
1.4. Exercices
2. Instruction de lecture
2.1. Définition
2.2. Syntaxe
2.3. Exemple
2.4. Exercices
3. Instruction d’affectation
3.1. Définition
3.2. Syntaxe
3.3. Exemple
3.4. Exercices
Formateur : GAHI Saïd Page 2 sur 18
CHAPITRE 2 : LES STRUCTURES DE TRAITEMENT
I. Les structures alternatives
1. La structure alternative simple : SI … Alors …
1.1. Syntaxe
1.2. Exemple
1.3. Exercices
2. La structure alternative complexe : SI … Alors … Sinon ….
2.1. Syntaxe
2.2. Organigramme
2.3. Exemple
2.4. Exercices
3. La structure alternative Selon … Faire
3.1. Syntaxe
3.2. Exemple
3.3. Exercices
II. Les structures itératives
1. La structure Pour … à …. Faire
1.1. Syntaxe
1.2. Exemple
1.3. Exercices
2. La structure Tant que ….. Faire
2.1. Syntaxe
2.2. Organigramme
2.3. Exemple
2.4. Exercices
3. La structure Répéter …. Jusqu’à
3.1. Syntaxe
3.2. Exemple
3.3. Exercices
PARTIE I : LES ELEMENTS DE BASE DE L’ALGORITHMIQUE ET LES
STRUCTURES DE TRAITEMENT.
CHAPITRE 1 : LES ELEMENTS DE BASE DE L’ALGORITHMIQUE IV. Introduction générale
1. Définitions
Un algorithme représente l’enchaînement des actions (instructions) nécessaires pour faire exécuter
une tache à un ordinateur.
Un algorithme est une suite d’instruction à suivre pour réaliser un travail, il permet d’expliciter
clairement les idées de résolution d’un problème indépendamment d’un langage de
programmation.
Un programme est un assemblage et un enchaînement d’instructions élémentaires écrits dans un
langage de programmation, et exécuter par un ordinateur afin de traiter les données d’un problème
et de renvoyer un ou plusieurs résultats.
Exemple de langage de programmation : C, C++, Pascal, VB
Formateur : GAHI Saïd Page 3 sur 18
Remarque :
- Un algorithme s’écrit le plus souvent en un pseudo langage de programmation
appelée : langage algorithmique.
- L’algorithme n’est pas exécutable par la machine mais il a l’avantage d’être
traduit facilement de tous les langages de programmation.
Données d’un problème
Programme En : C, VB…
Résultats attendus
2. Intérêt de l’algorithmique
3. Syntaxe générale d’un algorithme
La structure générale d’un algorithme est la suivante :
Algorithme Nom_algorithme
Var // Liste des variables à utilisées// : Type
Const // Liste des constantes//
Debut
Liste d’instructions
Fin.
4. Illustration de fonctionnement d’un ordinateur
Formateur : GAHI Saïd Page 4 sur 18
Dispositifs d’entrées : - Clavier - Souris
0 1 0 Exécution Résultats
Mémoire central (RAM) Exécutant
Dispositifs d’entrées : - Ecran - Imprimante
Saisie
Affichage
Transfert interne
Unité centrale
Partie déclaration
Corps de l’algorithme
Nom de l’algorithme
En général, la résolution d’un problème se fait par les étapes suivantes :
5. Organigramme
Un organigramme est une représentation graphique d’un algorithme. Pour le construire on utilise une
symbolisation bien formalisée.
Formateur : GAHI Saïd Page 5 sur 18
6. Démarche à suivre pour résoudre un problème
Les trois phases principales de création d’un bon programme sont : l’analyse, Algorithme et la
programmation.
L’analyse de problème : il doit permettre de formuler ce qu’il faut résoudre, elle spécifie les
données à saisir, le traitement qu’il doit effectuer l’ordinateur et les résultats à affichées.
L’algorithme : définit la structure des données et l’enchaînement et l’organisation des
traitements.
La programmation est la concrétisation (implémentation) des étapes précédentes.
Illustration :
Formateur : GAHI Saïd Page 6 sur 18
Algorithme Problème
Réflexion sur le problème
Spécification des :
1. Données à saisir par l’utilisateur 2. Traitement qu’il doit effectuer
l’ordinateur 3. Résultats a affichées
Programme
Algorithme nom_algo Var Const Debut Suite d’instructions Fin
Codage en langage de programmation
Exemple : - C - C++ - C# - Pascal - VB
V. Les variables, Type et Valeur 1. Définition
Les programmes ont pour but de traiter différentes données afin de produire des résultats.
Les données d’un programme doivent être récupérer on mémoire centrale, à partir du clavier ou d’un
fichier, pour pouvoir être traiter par le processeur qui exécute les programmes. Ainsi, toutes les
données d’un programme sont mémorisées en mémoire centrale, dans des cases que l’on appelle
VARAIBLE.
2. Déclaration d’une variable
Pour qu’un programme puisse utiliser une variable, il faut au préalable au préalable que cette variable
soit déclarée. Chaque variable possède un identificateur, un type et une valeur qu’on lui attribuer.
3. Exemple :
Pour déclarer une variable il faut le précéder par le mot : VAR
Pour les constantes on utilise le symbole : Const
VAR Mt_net : Réel , VAR Qté : Entier , Var exist = boolean , Const tva = 0,055
Formateur : GAHI Saïd Page 7 sur 18
Identificateur Variable Type
Valeur
4. Type de données :
VI. Les opérations de transfert 1. Instruction de sortie : Affichage
1.5. Définition
Cette action permet de communiquer (afficher) un résultat ou un message sur écran ou sur imprim
ante pour l’utilisateur.
1.6. Syntaxe
Ecrire (″Paramètre / message″)
Avec paramètre peut être : paramètre : variable / expression / constante
- Expression
- Variable
- Constante : nombre / message
1.7. Exemple
- Ecrire (″ la valeur de 2 * 5 est : ″ , 2 * 5)
- Ecrire (A)
2. Instruction de lecture : la saisie Formateur : GAHI Saïd Page 8 sur 18
Expression
Message
Variable
Formateur : GAHI Saïd Page 9 sur 18
2.5. Définition
Cette action permet à l’ordinateur d’acquérir des données à partir de l’utilisateur, et de les stockées
dans des cases mémoires bien définit (qui sont les variables déclaré)
2.6. Syntaxe
Lire (variable1, variable2)
2.7. Exemple
Ecrire (″ donner a et b″)
Lire (a, b)
3. Instruction d’affectation
3.5. Définition
C’est l’action de charger une valeur dans une variable. Cette valeur peut etre elle-même une variable,
le résultat d’une expression arithmétique ou logique ou une constante
3.6. Syntaxe
Variable ← variable / Constante / Expression
3.7. Exemple
- Variable ← Variable (Exemple : A ← B, A ← C)
- Variable ← Constante (Exemple : A ← 2, B ← 3)
- Variable ← Expression arithmétique (Exemple : A ← B*2, C ← A * 13MOD3)
- Variable ← Expression logique (Exemple : A ← (B≥2) ET (C≥10)
Réaliser un algorithme c’est exprimer dans un langage bien précis (langage algorithmique),
les règles de traitement d’un problème pour le soumettre (coder, implémenter) en un langage de
programmation afin d’être exécuter par un ordinateur.
Les données d’un programme sont mémorisées dans des variables qui sont des cases
mémoires. Une variable est un contenant qui contient une et une seule valeur à la fois à un moment
donné. Une variable est caractérisée par :
Un identificateur (son nom) attribuer par le programmeur
Une valeur (qui peut être variée au cours de programme)
Un type qui détermine sa taille et les opérations possibles.
Les opérations de transfert
Ecrire pour l’affichage des commentaires
Lire pour la saisie des données à partir d’un périphérique d’entrée
Affectation c’est le transfert interne des données.
Remarques importantes :
Toute variable utilisée dans un algorithme doit être déclarée au début de l’algorithme,
une fois et une seule.
L’affectation de valeur à une variable peut être effectuée autant de fois que l’on veut au
cours d’un algorithme. La valeur de la variable sera alors modifiée à chaque
affectation.
La variable réceptrice d’une affectation doit être de même type que de la valeur à
affecter ou de type compatible. Le type est dit compatible s’il est inclus dans le type de
la variable réceptrice. Exemple (REEL ← Entier) est possible mais pas l’inverse.
Formateur : GAHI Saïd Page 10 sur 18
Synthèse 1er chapitre
CHAPITRE 2 : LES STRUCTURES DE TRAITEMENT
III. Les structures alternatives 1. La structure alternative simple : SI … Alors …
1.4. Syntaxe
2. La structure alternative complexe : SI … Alors … Sinon ….
2.1. Syntaxe
Formateur : GAHI Saïd Page 11 sur 18
SI Condition Alors Traitement Fsi.
SI Condition Alors Traitement1 Sinon
Traitement2
Fsi.
Condition
Traitement
Faux
Vrai
Suite de programme
SI Condition1 Alors Traitement1 Sinon Si condition2 Alors
Traitement2 Sinon Traitement3 Fsi Fsi.
2.2. Organigramme
Exemple n° 01 :
Ecrire un algorithme qui permet de calculer le maximum de deux nombre entiers A et B.
Algorithme Maximum
VAR A, B : entier
Debut
Ecrire (″donner la valeur de A :″)
Lire (A)
Ecrire (″donner la valeur de B :″)
Lire (B)
Si A > B alors
Max ← A
Sinon
Max ← B
Fsi
Ecrire (″Le maximum est de A et B est :″, Max)
Fin
Formateur : GAHI Saïd Page 12 sur 18
Condition
Traitement1 Traitement2
Suite de programme
Faux Vrai
Ecrire (″donner la valeur de A et B :″)
Lire (A, B)
A>B
Max ← A Max ← B
Ecrire (″Le maximum est de A et B est :″, Max)
3. La structure alternative Selon … Faire
3.1. Syntaxe
Formateur : GAHI Saïd Page 13 sur 18
Selon Expression faire Valeur 1 de l’expression : Traitement 1 Valeur 2 de l’expression : Traitement 2 . . Valeur n de l’expression : Traitement n Sinon [Traitement par défaut] Fin selon
IV. Les structures itératives
Il a arrive souvent dans un algorithme que dans la même action soit répéter plusieurs
événement. Il est alors fastidieux d’écrire un algorithme qui contient de nombreuses fois la même
instruction. Il est alors impossible de savoir combien de fois la même instruction doit être décrit. Pour
gérer ces cas on utilise les Boucles.
4. La structure Pour … à …. Faire
Le nombre de répétition est connu à l’avance.
4.1. Syntaxe
4.2. Organigramme :
4.3. Exemple
Exemple n° 01 :
Calculer la commission d’un commerciale qui représente 10% de Chiffre d’affaire réaliser par mois,
son salaire est composé d’une partie fixe de 8000 DH et de la commission calculée.
Ecrire un algorithme qui permet de terminer le salaire mensuel du commercial.
Exemple n° 02 :
Ecrire un algorithme qui permet de calculer la somme S =1 + 2 + 3 +…….. + N.
Formateur : GAHI Saïd Page 14 sur 18
POUR compteur = Valeur initiale à Valeur finale FAIRE Instructions à répéter FPOUR.
I B1 + B2
Instructions
Suite de la boucle
5. La structure Tant que ….. Faire
La structure Tant que permet de répéter un bloc d’instructions tant que une condition de continuité est
vraie.
5.1. Syntaxe
5.2. Organigramme
5.3. Exemple
Exemple 01 :
Afficher le mot « Bonjour » cinq fois à l’écran
I ← 1
Tant Que I <=5 Faire
Ecrire (″ bonjour″)
I = I + 1
FTQ.
Exemple 02:
Ecrire un algorithme qui permet de calculer la somme S = 1 + ½ + 1/3 + ……. + 1/n.
- En utilisant la boucle Pour
- En utilisant la boucle Tant Que
Formateur : GAHI Saïd Page 15 sur 18
TANT QUE Condition de continuité FAIRE Traitement FTQ.
Condition de continuité
Bloc d’instructions
Bloc d’instructions
Suite de programme
Oui Non
6. La structure Répéter …. Jusqu’à
L’instruction répéter permet de faire répéter l’exécution jusqu’à la condition soit vrai.
6.1. Syntaxe
6.2. Organigramme
6.3. Exemple
Ecrire un algorithme qui permet d’afficher « bonjour » cinq fois à l’écran I ← 0 Répéter Ecrire (″ bonjour″) I ← I + 1 Jusqu’à I = 5
Formateur : GAHI Saïd Page 16 sur 18
Répéter Bloc d’instructions Jusqu’à condition.
Exécution de bloc d’instruction
Jusqu’à
Condition
Test d’arrêt
Faux
VraiSuite de programme
Formateur : GAHI Saïd Page 17 sur 18
Travaux pratique n° 01
Chapitre 1
Pré requis :
Analyse des problèmes en spécifiant les données d’entrées et celles de sorties et les
traitements doit on effectuer sur ces données.
La syntaxe générale d’un algorithme.
La déclaration des variables.
Syntaxe des trois opérations de transfert (Ecrire, Lire, Affectation)
Exercice n° 01 :
Ecrire un algorithme qui permet de calculer la surface d’une cercle sachant que : La surface est S = 3.14 * R *R (avec R : le rayon de la cercle).
Exercice n° 02 :
Ecrire un algorithme qui permet de calculer les expressions suivantes : A = N * (N + 1) et B = K * (N-1) * A – 10
Exercice n° 03 :
Ecrire un algorithme qui permet de calculer le montant net d’une facture sachant que Montant Net = Quantité * Prix Unitaire.
Exercice n° 04 :
Ecrire un algorithme qui permet de calculer le salaire d’un ouvrier qui a travaillé une journée chez un pompiste qui travaille des heures normales au prix de 9 DH par heure et les heures supplémentaires au prix de 5.5 DH par heure.
Exercice n° 05 :
Ecrire un algorithme qui permet de permuter le contenu de deux variables numériques A et B.
Exercice n° 06 :
Evaluer les expressions suivantes : - 2 + 3 * 5 – 7 * (5 -4) - (17 MOD 10) DIV 3
Formateur : GAHI Saïd Page 18 sur 18
Travaux pratique n° 02
Chapitre 2 (les structures de traitement)
Exercice n° 01 : Un client achète une certaine quantité d’un produit à un prix unitaire donné. Le prix brut est calculer par la formule suivante : PB = PU * Q En plus, si le prix brut est supérieure à 10.000 en ajoute 400 de frais de transport. T.A.F : Ecrire un algorithme qui permet de calculer le prix net à payer. Exercice n° 02 : Ecrire un algorithme qui permet de calculer et d’afficher le montant net d’une facture, sachant que : Remise = Montant Brut * Taux remise Montant Net = Montant Brut – remise En plus :
- Le taux remise = 0 si le montant Brut est inférieur à 3000 - Le taux remise = 3% si 3000 <= Montant Brut <5000 - Le taux remise = 5% si le montant Brut >=5000
Exercice n° 03 : Ecrire un algorithme qui permet de calculer et d’afficher la commission et le chiffre d’affaire net, sachant que : Le chiffre d’affaire net = chiffre d’affaire – commission En plus :
- Le taux de commission est égale 3% pour un chiffre d’affaire inférieure à 10.000 - ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ 7% si le chiffre d’affaire est compris entre 10.000 et 15.000 - ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ 11% si le chiffre d’affaire est compris entre 15.000 et 20.000 - ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ ″ 15% si chiffre d’affaire est supérieur à 20.000.
Exercice n° 04 : Ecrire un algorithme qui permet de saisir trois notes avec trois coefficients différents d’un étudiant et calculer la moyenne puis déterminer sa mention, sachant que :
- Si la moyenne est inférieure strictement à 10 alors « Rattrapage » - Si la moyenne est comprise entre 10 et 12 alors « Passable » - Si la moyenne est comprise entre 12 et 14 alors « Assez bien » - Si la moyenne est supérieure à 14 alors « Bien »
Exercice n° 05 : Ecrire un algorithme qui permet de lire la valeur de la variable CAR et d’afficher par les messages suivants celui correspond à la valeur trouvé.
- Rouge si la couleur vaut R ou r - Vert si la couleur vaut V ou v - Bleu si la couleur vaut B ou b - Noir si la couleur vaut N ou n