0% ont trouvé ce document utile (0 vote)
69 vues27 pages

Algorithmique Intro

Transféré par

pfazte
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)
69 vues27 pages

Algorithmique Intro

Transféré par

pfazte
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

Introduction

1
Définition

Algorithme :
Suite finie et non ambiguë d’actions (ou
instructions) qui doivent être exécutées dans un
ordre bien déterminé pour résoudre un problème.

2
Introduction

 Le mot Algorithme vient du nom latinisé du mathématicien perse Al-


Khawarizmi.

 Le domaine qui étudie les algorithmes est appelé l‘Algorithmique.

 Un algorithme n'est pas exécutable directement par aucune machine.

 Mais il peut être traduit facilement dans tous les langages de programmation.

3
Introduction

Réflexion
&
Analyse

Problème du Codification
Algorithme Programme
monde réel Résolution du problème Traduction

Exécution
Résultat

4
Structure d’un algorithme
Algorithme nomAlgorithme Entête
constantes
const1 : type1

constp : typep
variables
Var_1 : type_1 Déclaration des variables et
...
des constantes
Var_n : type_n
Début
Instruction_1

... Corps de l’algorithme

Instruction_N
Fin
5
Variables et constantes
 Tout algorithme utilise des données élémentaires sous forme de variables ou
constantes.

 Ces données se caractérisent par trois attributs :

 Un identifiant ne doit contenir que les


 L’Identificateur : Le nom de la donnée. caractères suivants: [a-z][A-Z][0-9]et { _ }.
 Un identifiant ne doit pas commencer par
 La valeur : Le contenu de la donnée un chiffre

 Le type : L’ensemble des valeurs que peut prendre la donnée.

6
Variables et constantes

 Les variables :
Une variable est une donnée dont la valeur peut changer au cours de
l’exécution de l’algorithme.

 Les constantes :
Une constante est une donnée fixe qui garde toujours la même valeur.

7
Type de données

 Type entier : la donnée prend des valeurs entières comme : -54, -2, 0, 60, 100, …

 Type réel : la donnée prend des valeurs réelles comme : -105, -0.02, 3, 4.2, 103, …

 Type caractère : la donnée prend des valeurs comme : ‘A’, ‘b’, ‘&’, ‘+’, ’3’, ‘?’, …

 Type chaîne de caractères : la donnée prend comme valeurs un ensemble de


caractères comme : ‘bonjour’, ‘bob3’, ‘s@mir’

 Type booléen : la donnée ne peut prendre que les valeurs suivantes : ‘vrai’ ou ‘faux’

8
Les instructions de base : Affectation
 Affectation
 Définition :
Une affectation est l’attribution d’une valeur à une variable.

 Syntaxe :
nomVariable  expression

 Exemple
X  20
Y X
Som  X + Y
XX+3
9
Les instructions de base : Affectation
 Exercices d’application:
 Quelles sont les valeurs des variables après l’exécution des opérations
suivantes.

 X,Y deux variables de type entier, écrire une suite d’instructions qui
permettent de mettre le contenu de X dans Y et celui de Y dans X.
10
Les instructions de base: Lecture/Ecriture
 On les appelle aussi les entrées/sorties standards.
 Elles permettent d’assurer la communication entre le programme et l’utilisateur.

 L’instruction de lecture :
 Appelée aussi instruction d’entrée, elle autorise l’introduction d’une valeur dans
un algorithme.
 Syntaxe :
lire (nom_variable)
 Exemple :
lire(a) lire(rayon) lire(nom)

11
Les instructions de base: Lecture/Ecriture

 L’instruction d’écriture:
 Appelée aussi instruction de sortie, elle permet de restituer un résultat ou la valeur
d’une variable.

 Syntaxe :
ecrire(nom_variable)
 Exemple :
ecrire(resultat) /* Cette instruction affiche la valeur de la variable resultat */
ecrire("bonjour") /* Cette instruction affiche le message « bonjour » */
ecrire("a=" ,a)

12
Exercices d’application

 Exercice 1
Ecrire un algorithme qui affiche “Bonjour tout le monde”
 Exercice 2
Ecrire un algorithme qui demande à l’utilisateur son nom puis lui affiche
« bonjour <le nom saisi> »
 Exercice 3
Ecrire un algorithme qui demande deux entiers A et B à l’utilisateur et qui affiche leur
somme S
 Exercice 4
Ecrire un algorithme qui permet de calculer le prix TTC, sachant le prix HT et le taux
de TVA (20%)

13
Expressions & opérateurs
 Expression:
Une expression est un ensemble d’opérandes régi par des opérateurs et
équivalente à une valeur.
( a * 3 ) / ( ( 15 + x ) – 2 )

opérandes opérateurs

 Opérateur:
Un opérateur est un signe qui relie deux valeurs pour fournir un résultat.

14
Expressions & opérateurs

 Les opérateurs
 Les opérateurs arithmétiques:
+ : Addition
- : Soustraction
* : Multiplication
/ : Division
div : Division entière
mod : Reste de la division entière

 Les opérateurs de comparaison:


> (supérieur strictement) < (inférieur strictement) >= (supérieur ou égal)
<= (inférieur ou égal) = (égal) <> (différent)

 Les opérateurs logiques:


and : ET logique
15
or : OU logique
Exercices d’application

 Exercice 1:
Ecrire un algorithme qui lit deux entiers A et B composés de deux chiffres
chacun puis forme et affiche le nombre X comme l’indique l’exemple suivant:
Exemple: si A=74 et B=29 alors le résultat est: X=7294

 Exercice 2 :
Ecrire un algorithme qui décompose une somme d’argent S en billets de 200,
billets de 100, billets de 50, billets de 20, pièces de 10, pièces de 5 et pièces de
1 dirhams
16
Structures conditionnelles

Algorithme nomAlgo
 Structure séquentielle
Debut
 Dans une structure séquentielle toutes les Instruction 1
instructions sont exécutées une seule fois. …
Instruction n
Fin
 Structure conditionnelle
 Contrairement à une structure séquentielle, une Exemple :
structure conditionnelle permet de faire des ❑ Si feu vert alors je passe
❑ Si le feu est rouge alors je m’arrête
choix sur les blocs d’instructions à exécuter. ❑ Si a#0 alors x=-b/a est la solution
de l’équation ax+b=0

17
Structures conditionnelles
 Forme 1 : structure simple
Le traitement est effectué ou non suivant le résultat de la condition.

 Syntaxe
Si (condition) alors
Instructions
FinSi

 Application: Ecrire un algorithme qui demande à l’utilisateur son nom et sa filière


puis affiche le message « bonjour <le nom> ». Si la filière est «Génie Industriel et
Maintenance», l’algorithme affiche un message de bienvenu.

18
Structures conditionnelles
 Forme 2 : structure alternative
Si condition est vérifié on exécute le bloc (1) sinon on exécute le boc (2)

 Syntaxe

Si (condition) alors
bloc Instructions 1
Sinon
bloc Instructions 2
FinSi

 Application: Ecrire un algorithme qui lit la moyenne d’un étudiant puis teste son
admissibilité. L’élève est admis s’il a une moyenne >=10.
19
Structures conditionnelles
 Imbrication des structures conditionnelles
Si (cond1) alors
Si (cond2) alors
Si (cond3) alors

Sinon

Finsi
Finsi
Sinon
Si (cond..)alors

Finsi
finsi
20
Exercices d’application

 Ecrire un algorithme qui permet la résolution de l’équation :


a.x+b=0

 Ecrire un algorithme qui calcule l’IGR en fonction des revenus

40%

21
Structures conditionnelles
 Forme 3 : structure à choix multiples :
Dans le cas où une variable peut prendre plusieurs valeurs et selon chaque valeur on fait un
traitement, on utilise la structure à choix multiples.

 Syntaxe
Cas (variable) vaut:
valeur_1 : instruction1
valeur_2 : instruction2
...
valeur_n : instruction n
Sinon : instruction n+1
Fincas
 Application:
Les jours de la semaine sont codés de 1 à 7 (1→Lundi, 2→Mardi,…,7→Dimanche).
Ecrire un algorithme qui affiche le jour correspondant à un code entré par l’utilisateur.
22
Les Boucles

Appelées aussi les structures itératives ou


encore les structures répétitives, les boucles
permettent d’exécuter une portion de code
plusieurs fois.

23
Les Boucles
 La structure : Pour
Valeur initiale du
Compteur compteur Valeur finale
 Syntaxe :
Le pas d’itération

Pour i de Vi à Vf pas k
Instructions
Finpour

 La variable i va prendre successivement toutes les valeurs entières entre la valeur initiale Vi et la valeur finale Vf.
 Pour chaque valeur prise par la variable, la liste des instructions est exécutée.
 L'incrémentation par k de la variable est implicite.
 Si le pas n’est pas (k) spécifié, sa valeur par défaut est « un »
 Cette forme d’itération est utilisée lorsque le nombre d’itérations est connu.
24
Les Boucles
 Exemple : l’algorithme suivant permet d’afficher les nombres de 1 à 10

Algorithme essai
Var i : entier
Début
pour i de 1 à 10
écrire(i)
finpour
Fin

 Exercice d’application: Ecrire un algorithme qui calcule n! avec n saisi par l’utilisateur.
25
Les Boucles
 La structure : Tant que
L’ensemble des instructions doit être exécuté tant que la condition est vraie. Lorsque
la condition est fausse, le processus itératif s’arrête.

 Syntaxe :
Tant que (condition)
Instructions
FinTantQue

 Exercices d’application :
 Afficher les nombres de 1 jusqu’à n avec n saisi par l’utilisateur
 Calculer et afficher la somme d’une liste des nombres saisie par l’utilisateur. L’utilisateur termine la
saisie en entrant 0.
26
Les Boucles
 La structure : Répéter … Jusqu’à
L’ensemble des instructions s’exécute jusqu’à ce que la condition soit vraie.
Lorsque la condition est vraie, le processus itératif s’arrête.

 Syntaxe :
Répéter
Listes d'instructions
Jusqu‘à (condition)
Dans ce cas la suite d’actions est exécutée au moins une fois car le test de l’expression logique est
effectué après exécution de l’ensemble d’actions.

 Exercice d’application :
somme d’une liste des nombres saisis par l’utilisateur dont le dernier est 0.

27

Vous aimerez peut-être aussi