18

Click here to load reader

algorithme1

Embed Size (px)

Citation preview

Page 1: algorithme1

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

Page 2: algorithme1

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

Page 3: algorithme1

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

Page 4: algorithme1

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

Page 5: algorithme1

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

Page 6: algorithme1

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

Page 7: algorithme1

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

Page 8: algorithme1

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

Page 9: algorithme1

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)

Page 10: algorithme1

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

Page 11: algorithme1

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.

Page 12: algorithme1

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)

Page 13: algorithme1

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

Page 14: algorithme1

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

Page 15: algorithme1

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

Page 16: algorithme1

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

Page 17: algorithme1

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

Page 18: algorithme1

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