FST - Université Hassan 1er LICENCE UNIVERSITAIRE SPECIALISEE
Algorithmique & Structures de Données A.RADOUANE
1
Description du
Cours
Algorithmique & Structures de Données
Déroulement du
Cours
Cours + TD + (TP)
Compétences
Attendues
Connaissance des algorithmes classiques (Recherche, parcours, tris, …)
Concevoir, définir et utiliser une structure de données.
Etablir et implémenter des algorithmes de traitement des structures de données
(listes chaînées, piles, files, arbres,..)
Contenu du cours
- Introduction à l’Algorithmique
- Les Objets et structures Algorithmiques
- Les fonctions et les procédures
- La récursivité
- La complexité d’un algorithme
- Les types complexes (Tableaux ou vecteurs, matrices, les chaînes)
- Les algorithmes de Tri
- Les pointeurs
- Les listes à simple chaînage
- Les listes à double chaînage
- Les piles
- Les files
- Les arbres
Pré requis du
Cours
Notions de logique binaire
Evaluation du
Cours
- Contrôles écrits et oraux
- Travaux pratiques.
Support
- polycopies
FST - Université Hassan 1er LICENCE UNIVERSITAIRE SPECIALISEE
Algorithmique & Structures de Données A.RADOUANE
2
Chapitre 1 : Introduction à l’algorithmique
1. Définitions :
« Un Algorithme est une spécification d'un schéma de calcul, sous forme d'une suite
finie d'opérations élémentaires obéissant à un enchaînement déterminé ».
« Un Algorithme est un ensemble de règles opératoires dont l'application permet de
résoudre un problème donné au moyen d'un nombre fini d'opérations ».
2. Propriétés d'un algorithme:
Un algorithme doit être:
PRECIS:
Il doit indiquer:
- l'ordre des étapes qui le constituent
- à quel moment il faut cesser une action
- à quel moment il faut en commencer une autre
- comment choisir entre différentes possibilités
DETERMINISTE
- Une suite d'exécutions à partir des mêmes données doit produire des résultats
identiques.
FINI DANS LE TEMPS
C’est-à-dire s'arrêter au bout d'un temps fini.
3. Les Phases de résolution d'un problème informatique
La résolution d'un problème informatique se décompose en quatre phases:
Phase d'étude
Inventorier les paramètres connus ou observables et définir les objectifs à
réaliser.
Phase de réalisation du modèle
Déterminer l'enchaînement des opérations. Cette phase aboutit à l'élaboration
d'un schéma de résolution.
Phase de spécification
Exprimer le schéma de résolution de manière plus précise en utilisant
éventuellement un pseudo-langage. Cette phase débouche sur des algorithmes.
Phase de traduction
Mettre en œuvre les algorithmes en les traduisant en un langage de programmation.
FST - Université Hassan 1er LICENCE UNIVERSITAIRE SPECIALISEE
Algorithmique & Structures de Données A.RADOUANE
3
4. Le Pseudo langage.
Il permet d'écrire tout algorithme de façon formelle, c'est-à-dire suffisamment précise,
tout en restant compréhensible pour l'ensemble des informaticiens.
La phase de programmation se trouvera nécessairement allégée, puisqu'elle se
résumera à adapter l'ensemble des opérations décrites aux spécificités du langage
utilisé.
Il est basé sur les instructions disponibles dans la plupart des langages.
Exemple: Calculer la factorielle de N (version itérative)
VAR
N, F: Entier
DEBUT
ECRIRE (‘Entrer un entier N=‘)
LIRE (N)
F 1
POUR I allant de 1 à N FAIRE
F F* I
FIN POUR
ECRIRE (‘la Factorielle de N est :’, F)
FIN
5. Les Structures élémentaires:
Entrées/Sorties: LIRE, ECRIRE
Exemple:
ECRIRE (‘Entrer un entier N=‘)
LIRE (N)
Affectation:
Exemple:
X Y
X x+1
Instruction conditionnelle:
SI (Expression Vraie) ALORS instructions
SINON instructions
FINSI Exemple:
Si (Somme<= Solde) Alors Retrait
Sinon Ecrire (‘Solde Insuffisant’)
Répétition (boucles)
TANT QUE (Expression Vraie) FAIRE instructions
FST - Université Hassan 1er LICENCE UNIVERSITAIRE SPECIALISEE
Algorithmique & Structures de Données A.RADOUANE
4
FIN TANT QUE
POUR I Allant de 0 à N
FAIRE instructions
I I+1
FIN POUR
FAIRE instructions TANT QUE (Expression Vraie)
6. L’Organigramme:
Il permet de représenter graphiquement un algorithme.
6. METHODES D'ANALYSES
a. Types de méthodes d'analyse:
Analyse descendante
C'est une méthode de décomposition des problèmes (du général au particulier)
.
Analyse ascendante
Elle consiste à identifier dès le début les actions élémentaires qu'il faudra
savoir résoudre.
Les méthodes dirigées par les données
Dans un système de gestion de base de données (SGBD), le programmeur
commence par décrire les données de l'application (Merise).
Test
(Alternative)
Instruction
FST - Université Hassan 1er LICENCE UNIVERSITAIRE SPECIALISEE
Algorithmique & Structures de Données A.RADOUANE
5
Analyse pour la programmation Orientée objet
L'accent est mis sur la réutilisation et l'adaptation en utilisant les mécanismes
d'héritage et la programmation par interface (UML).
b. Intérêt des Les méthodes d’analyse:
Obtenir une analyse et une programmation de haut en bas selon une
décomposition arborescente qui autorise le fractionnement des programmes
en modules de taille facilement lisible
Rendre possible la lecture des modules de haut niveau par des non-
spécialistes.
Faciliter la maintenance et l'extensibilité en donnant la possibilité de
modifier une arborescence, sans affecter ce qui est au niveau supérieur.
Diminuer les risques d'erreurs de programmation.
Fournir aux programmeurs un mode commun de décomposition des
problèmes.
1 / 20 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !