Vous êtes sur la page 1sur 22

Cours

Algorithmique et Analyse :
Introduction

Mathieu Roche
Jérôme Azé
Fondé sur le polycopié de J.P Chevillard

2003 - 2004
Université Paris-Sud

Filière : C4 - DU
1. Langage
„ Un langage doit servir d’interface
entre le raisonnement humain et la
machine

„ Spécificités d’un langage


informatique
– Non ambiguïté
– Lisibilité
– Simplicité
Cours Algo - C4-DU 2
1. Langage
„ Spécificités d’un langage
informatique (suite)
– Conformité avec habitudes intellectuelles
– Souplesse
– Cohérence
– Abstraction
– Expressivité
– Modularité
– Encapsulation
Cours Algo - C4-DU 3
2. Structures de données :
les types de données
„ Objets atomiques
– Numériques (réels et entiers)
– Logiques (ou booléennes)
– Textuels
– Types définis (par exemple,
énumérations)
– Adresses ou pointeurs

EXEMPLES…

Cours Algo - C4-DU 4


2. Structures de données :
les types de données
„ Objets « poly-atomiques »
– objets composés
• tableaux
• agrégats (structures)

EXEMPLES…

– collection d’objets
• linéaires : listes, files, piles
• ramifiées : arbres, graphes
• informes : tas

EXEMPLES…

Cours Algo - C4-DU 5


2. Structures de données :
les données

„ Caractéristiques des données :


– Désignateur (identificateur ou
pointeur)
– Type
– Statut (entrée, sortie, locale, globale,
etc.)
– Rôle
Cours Algo - C4-DU 6
3. Structures de Contrôle

„ Structures de base :
– Séquence
– Choix
– Répétition

Cours Algo - C4-DU 7


3. Structures de Contrôle :
Exécution séquentielle

Action 1

Action 2

.
.
.

Action n

Cours Algo - C4-DU 8


3. Structures de Contrôle :
Exécution alternative et
conditionnelle

vraie
fausse vraie
condition condition
fausse

Action F Action V Action V

Exécution alternative Exécution conditionnelle


Cours Algo - C4-DU 9
3. Structures de Contrôle :
Exécution à choix multiples
Choisir selon le cas

Cas 1 Action c_1


Structure
Cas 2 Action c_2
« case »
de Pascal . .
. .
. .

Cas n Action c_n


EXEMPLE…

Cours Algo - C4-DU 10


3. Structures de Contrôle :
Exécution répétitive ou boucle

Répéter tant que


(Condition logique)

Action

Cours Algo - C4-DU 11


3. Structures de Contrôle :
Exécution de sous programmes
Sous programme SP
Action 1

Action SP_1
Appel de SP
.
.
.

Appel de SP Action SP_n

Retourner au
Action 2 Programme appelant

Cours Algo - C4-DU 12


4. Notations algorithmiques

„ Les commentaires
Ecrire les commentaires en même temps
ou mieux avant le reste du programme
(jamais après !).

– Exemples : /* … */ , { }, …

Cours Algo - C4-DU 13


4. Notations algorithmiques
„ Les déclarations
– variables numériques : x, y, z ;

– variable textuelle : nom_d_etudiants ;

– variables tableau numérique indice


[1..15] : x, y, z ;

– constante : PI = 3.14 ;
Cours Algo - C4-DU 14
4. Notations algorithmiques
„ Les déclarations

– type : fiche_étud = agrégat_de


nom, prenom : textuel ; /* type des composantes */
age : numérique ;
fin_agrégat fiche_étud

– variable p : pointeur_sur fiche_étud ;

– variable lauréat, candidat : fiche_étud ;

Remarque : pour désigner un champ d’un agrégat


on utilisera la notation nom(candidat)

– type énumérés : type état_de_file = (vide, pleine, normale)

Cours Algo - C4-DU 15


4. Notations algorithmiques
„ Les instructions exécutables et de contrôle

– Affectation : <--
• Exemple affectation de pointeurs : pA <-- pB

– Les choix (exécution conditionnelle, alternative) :

si condition _logique alors


action « vraie »
sinon /* clause optionnelle */
action « fausse »
fin_si

EXEMPLE…

Cours Algo - C4-DU 16


4. Notations algorithmiques
„ Les instructions exécutables et de contrôle

– Les choix (exemple de construction à choix multiples) :

si condition _logique_1 alors


action_1
sinon_si condition _logique_2 /* clause optionnelle */
action_2
sinon_si condition _logique_3 /* clause optionnelle */
action_3

fin_si

Cours Algo - C4-DU 17


4. Notations algorithmiques
„ Les instructions exécutables et de contrôle

– Les boucles : 3 types de boucles (Attention : notations légèrement


différentes du polycopié de J.P. Chevillard)

tant que (condition_logique) faire


action
fin_tant_que

répéter
action
jusqu’à_ce_que (condition_logique)

Remarque : boucle « répéter » équivalente à la boucle « tant que » mais les


actions sont exécutées au moins une fois

EXEMPLE…

Cours Algo - C4-DU 18


4. Notations algorithmiques

„ Les instructions exécutables et de contrôle

– Les boucles : 3 types de boucles (suite)

pour (compteur) variant_de départ à fin


action
fin_pour

Remarque : utiliser lorsque l’on connaît exactement le nombre


d´itérations à effectuer.

EXEMPLE…

Cours Algo - C4-DU 19


4. Notations algorithmiques
„ Les instructions exécutables et de contrôle : les sous-
programmes

– La communication des donnée est spécifiée par une liste


d’arguments

– Les arguments d’un sous programme servent à


• Passer des informations du programme appelant vers le sous
programme (argument d’Entrée)

• Renvoyer des informations du sous-programme vers le


programme appelant (argument de Sortie)

• Passer des informations du programme appelat vers le sous-


programme, informations que celui-ci modifie et retourne
modifiées au programme appelant (argument d’Entrée/Sortie)

EXEMPLES…
Cours Algo - C4-DU 20
4. Notations algorithmiques
„ Deux types de sous-progammes : les
procédures et les fonctions.

„ Seules les fonctions renvoient un résultat


Attention : différences selon les langages

EXEMPLES …

„ Le cas de la récursion sera traité


ultérieurement
Cours Algo - C4-DU 21
Annexe : bibliographie
„ Polycopié des cours de J.P. Chevillard

„ Types de données et algorithmes,


Christine Froidevaux, Marie-Claude
Gaudel et Michèle Soria
McGraw-Hill, Collection Informatique,1990.

Cours Algo - C4-DU 22