Licence dinformatique 2me anne' Module INF32: initiation lalgorithmique Ada - PowerPoint PPT Presentation

1 / 8
About This Presentation
Title:

Licence dinformatique 2me anne' Module INF32: initiation lalgorithmique Ada

Description:

Un texte d finissant un mod le d'objets du monde r el et une suite ... Le programme contient aussi des d clarations qui annoncent le nombre, les noms et les types des donn es. ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 9
Provided by: laclUniv
Category:

less

Transcript and Presenter's Notes

Title: Licence dinformatique 2me anne' Module INF32: initiation lalgorithmique Ada


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.
Write a Comment
User Comments (0)
About PowerShow.com