La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Introduction: Concepts de la programmation Quest-ce.

Présentations similaires


Présentation au sujet: "Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Introduction: Concepts de la programmation Quest-ce."— Transcription de la présentation:

1 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Introduction: Concepts de la programmation Quest-ce quun programme informatique? Un texte définissant un modèle dobjets du monde réel et une suite dopérations sur les données de ce modèle. Il réalise un algorithme. Les objets réels sont représentés par des données: variables, constantes, structures de données, objets, modules et classes du langage de programmation. Le programme contient aussi des déclarations qui annoncent le nombre, les noms et les types des données. Le texte du programme sappelle code source et doit être traduit (compilé) en forme exécutable (programme en langage machine, « code binaire ») par un compilateur du langage, ici le langage Ada. La compilation associe les « unités de compilation » du programme à des bibliothèques (programmes prédéfinis et pré-compilés) par un éditeur de liens (linker) pour produire un programme exécutable unique. Ce processus sappelle parfois « building » en anglais doù une expression du genre Build no x.y.z pour désigner une version compilée précise.

2 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Mise-au-point, déboguage. Un programme peut comporter des erreurs ou bogues (bugs en anglais) qui le font échouer ou crasher - interruption brutale de son exécution – ou qui le mènent à ne plus répondre sil entre dans une boucle infinie (ou une récursion infinie ce qui revient au même). Le programmeur doit identifier et corriger la source de ces erreurs, chose quil vaut mieux prévenir que guérir.

3 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Lisibilité, maintenabilité, portabilité, réutilisabilité Une fois quun programme est entré en utilisation, on pense souvent à y ajouter des fonctions ou à le rendre plus facile à utiliser: sa maintenance. Cela revient souvent à un second programmeur et il est essentiel que le programme soit clair et structuré. Idéalement il doit être portable vers de nouveaux systèmes. Un programme dapplication typique a des centaines de milliers de lignes et une durée de vie de 5 ans.

4 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Spécifications et implantations (implémentations) En Ada on sépare la spécification de limplantation pour une partie de programme: quoi vs comment. Le spécification est une signature qui décrit les données et les opérations du point de vue de leur utilisation. Elle suffit pour combiner cette partie du programme avec le reste. Cela permet de développer de grands programmes en équipe tout en clarifiant et simplifiant lutilisation du code produit par dautres.

5 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Types de données abstraits, structures de données Pour que le programmeur ne réinvente pas la roue à lécriture de chacun de ses programmes, on peut construire des paquetages de types de données abstraits. Chacun contient la spécification dun type de données et ses opérations sans aucune description de son implantation. Les plus universels sont les piles, files, listes, tableaux et arbres que nous allons étudier dans ce module. Chaque structure de donnée a une application typique. Pile: « LIFO » parcours darbre, exécution de blocs de programme etc. File: « FIFO » canal de communication, file dattente. Liste: chaînes de caractères, ensembles déléments etc. Tableaux: matrices, tables à accès direct sans insertion etc. Arbres: ensembles déléments avec insertion, effacement, bases de données etc.

6 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Généricité Dans certains langages la description dun algorithme est entremêlée avec la nature exacte des données quil manipule. Par exemple un algorithme de tri de chaînes de caractères ny ressemble pas tout à fait à un algorithme de tri de fichiers ou de nombres. Ce manque dexpressivité du langage est source de complications et donc de pertes de temps et derreurs. Pour y remédier Ada permet de séparer autant que possible lalgorithme de ses données en écrivant des unité de bibliothèques génériques cest-à-dire qui fonctionnent pour tout type de données ayant certaines propriétés minimales. On peut par exemple écrire un algorithme de tri qui fonctionne aussi bien pour des chaînes de caractères que des nombres, fichiers, tableaux etc. Pour cela il suffit davoir une fonction de comparaison de deux éléments pour le type donné.

7 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Héritage et polymorphismes Il arrive parfois quon désire modifier les données dun programme pour les rendre plus détaillées. Par exemple on a des enregistrements décrivant des comptes bancaires auxquels il faut tout à coup ajouter des numéros de sécurité sociale. Dans un programme classique cela peut nécessiter beaucoup de petits changements. La programmation orientée objet utilise la notion dhéritage pour faciliter cela. Elle permet de décrire les nouveaux comptes bancaires comme un type « fils » des anciens comptes bancaires. Le type « fils » hérite de toute la structure du type « père » mais y ajoute une donnée « numéro sécu ». Le programme peut alors être modifié sans revenir sur ses parties déjà complétées. Le polymorphisme permet dadapter les opérations dune partie de programme aux données en lui fournissant des opérations adaptées avant de lancer son exécution. On dit quil sagit dune partie de programme polymorphe, cest-à-dire qui sadapte à la forme de ses données par la forme de ses opérations.

8 Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Introduction aux concepts de programmation par le langage Ada: Types de base et leurs opérations Structures de contrôle Procédure, fonctions et paquetages Définir de nouveaux types, pointeurs et enregistrements. On verra aussi des notions plus générales: Introduction aux structures de données et algorithmes: Tableaux Pointeurs et structures linéaires Arbres Complexité, performance et algorithmes de tri.


Télécharger ppt "Licence dinformatique 2ème année. Module INF3-2: initiation à lalgorithmique (Ada) Gaétan Hains, LACL. Introduction: Concepts de la programmation Quest-ce."

Présentations similaires


Annonces Google