Nothing Special   »   [go: up one dir, main page]

Algo_ch1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 17

ALGORITHMIQUE

A.U. 2020-2021
(SUPPORT DE COURS)

Logistique et Transport
INSTITUT UNIVERSITAIRE PROFESSIONNEL
(IUP)

Pr. Moustapha Mohamed Saleck E-mail : saleck,moustapha@gmail,com


2

Objectif du cours

Apprendre les concepts de base de l'algorithmique.

S’initier à l’analyse et la résolution de problèmes


et écrire les algorithmes correspondants.

Étudier les procédures et les fonctions qui


permettent de structurer et de réutiliser les
algorithmes.

Avoir une première notion de performance des


algorithmes utilisés.
3

Plan du cours
• Chap1 : Introduction à l’algorithmique
• Chap2 : Notion de variables et d’affectation
• Chap3 : Les instruction de lecture, écriture et
conditionnelles
• Chap4 : Les instructions itératives (les boucles)
• Chap5 : Les tableaux
• Chap6 : Les fonctions et les procédures
• Chap7 : La récursivité
• Chap8 : L’introduction à la complexité des algorithmes
• Chap9 : Les algorithmes de recherche et tri
4

Chapitre I

Introduction à l’Algorithmique
5

Pourquoi un cours d’algorithmique


 Pour proposer à la « machine» d’effectuer un travail à
notre place.
 Problème : expliquer à la machine comment elle doit
le faire.
 Besoins :

 savoir expliquer et formaliser son problème


 Concevoir et écrire des algorithmes (séquence
d’instructions qui décrit comment résoudre un
problème particulier).
6

Les origines de l’algorithmique


 Mohammed Al-Khwarizmi (780 - 850)
 Mathématicien, géographe, astrologue et
astronome musulman arabe dont les écrits ont
permis l'introduction de l'algèbre en Europe.
 L’ origine du mot « algorithme » est lié au
nom d’Al- Khwarizmi.

Ce savant arabe a publié plusieurs méthodes pour le


calcul effectif de racines d’une équation du second
degré et grâce à lui les chiffres arabes ont pu se
diffuser en occident.
7

Algorithme
 Savoir expliquer comment faire un travail sans la
moindre ambiguïté.
 Un algorithme : est une suite finie d’instructions que l’on
applique à un nombre fini de données dans un ordre
précis pour arriver à un résultat.
 L’écriture algorithmique : un travail de programmation
ayant une vision universelle :

• Un algorithme ne dépend pas du langage dans lequel il est


implanté,
• ni de la machine qui va exécuter le programme correspondant.
8

Algorithme

 L’algorithmique désigne la discipline qui étudie les


algorithmes et leurs applications en informatique
 Une bonne connaissance de l’algorithmique permet
d’écrire des algorithmes exacts et efficaces
9

Propriétés d’un algorithme


 Un algorithme doit:
– avoir un nombre fini d’étapes,
– avoir un nombre fini d’opérations par étape,
– se terminer après un nombre fini d’opérations,
– fournir un résultat.
 Chaque opération doit être:
– définie rigoureusement et sans ambiguïté
– effective, c.-à-d. réalisable par une machine
 Le comportement d'un algorithme est déterministe.
10

Les 3 étapes d’un algorithme


• Les entrées (les données du problème)
• Le traitement
• Les sorties (l’affichage des résultats)
 Les entrées : Il s’agit de repérer les données nécessaires
à la résolution du problème.
 Le traitement : Il s’agit de déterminer toutes les étapes
des traitements à faire et donc des "instructions" à
développer pour arriver aux résultats.
 Les sorties : les résultats obtenus peuvent être affichés
sur l’écran, ou imprimés sur papier, ou bien encore
conservés dans un fichier.
11

Exemple d’algorithme : recette de cuisine

Mettre la farine dans une


terrine

Former un puits

Mélanger délicatement Faire chauffer une Faire cuire les


avec un fouet en poêle antiadhésive et y crêpes à feu doux
ajoutant au fur et à déposer quelques
mesure le lait gouttes d’huile
12

Exemple d’un algorithme


 On se donne deux points A et B du plan.
1. Tracer le cercle de centre A passant par B.
2. Tracer le cercle de centre B passant par A.
3. Nommer C et D les points d’intersection de ces cercles.
 Construire le polygone ADBC.
 Cet algorithme décrit la construction d’un losange dont
une diagonale est [AB].
 Les entrées sont : les points A et B.
 Le traitement de la construction est décrit dans les phases
1. 2. et 3.
 La sortie est : le polygone ADBC.
13

Représentation d’un algorithme


 L’organigramme : représentation graphique avec des
symboles
 offre une vue d’ensemble de
l’algorithme.
14

Représentation d’un algorithme


 Le pseudo_code : représentation textuelle avec une
série de conventions ressemblant
à un langage de programmation.
 plus pratique pour écrire
un algorithme.
 représentation largement
utilisée.
 Un algorithme écrit en
pseudo_code est composé de
trois parties suivantes : L’en-tête, la partie déclarative
et le corps
15

Les instructions de base


 Un programme informatique est formé de quatre types
d’instructions considérées comme des briques de base :
• Les affectations de variables
• Les lectures et/ou les écritures
• Les tests
• Les boucles
16

Formalisme d’un algorithme


 Un algorithme informatique doit suivre les règles
suivantes, Il est composé d’une entête et d’un corps :
• l’entête, qui spécifie :
le nom de l’algorithme (Nom :)
son utilité (Rôle :)
Les données “en entrée”, c_à_d. les éléments qui sont
indispensables à son bon fonctionnement (Entrée :)
les données “en sortie”, c.-à-d. les éléments calculés,
produits, par l’algorithme (Sortie :)
les données locales à l’algorithme et indispensables
(Déclaration :)
17

Formalisme d’un algorithme


• le corps, qui est composé :
du mot clé début
d’une suite d’instructions
du mot clé fin
Exemple Nom : addDeuxEntiers
Rôle : Additionner deux entiers a et b et mettre le résultat dans c
Entrée : a, b deux entiers
Sortie : c un entier
Déclaration : a, b, c : entier
début
c←a+b;
ecrire (ʺla somme de a et b est =ʺ, c);
fin

Vous aimerez peut-être aussi