Licence CC BY-NC-SA

Ada, les types composites

Au programme de ce chapitre : les tableaux, les chaînes de caractères, les pointeurs, les types structurés et énumérés, la lecture et l'écriture de fichiers, les types abstraits de données(files et piles), les packages mais aussi un retour sur les fonctions pour aborder la récursivité ! Bref, on commence à aborder des notions et des types de données plus complexes, qui vous demanderont plus de temps et de concentration.

Tableaux, types structurés et pointeurs constitueront le cœur de cette troisième partie et formeront un fil rouge. Ces nouveaux types de données seront regroupés sous le vocable de types composites. Ce sera également l'occasion de nous préparer à la notion plus complexe encore de programmation orientée objet (ou POO) qui sera abordée lors de la partie IV. Nous effectuerons également deux TP, histoire de ne pas perdre la main : le premier consistera à créer un logiciel de gestion de bibliothèque, le second sera l'occasion de réaliser un jeu du serpent.


  1. Les tableaux

    1. Les types composites, c'est quoi ?

    2. Tableaux unidimensionels

    3. Tableaux multidimensionels

    4. Des tableaux un peu moins contraints

    5. Quelques exercices

    6. Pour les utilisateurs de la norme Ada2012

  2. Les chaînes de caractères

    1. Présentation des Chaînes de Caractères

    2. Déclaration et affectation d'un string

    3. Quelques opérations sur les strings

    4. Chaînes de caractères non contraintes

  3. La programmation modulaire I : les packages

    1. Les fichiers nécessaires

    2. Notre première procédure… empaquetée

    3. Variables et constantes globales

    4. Trouver et classer les fichiers

    5. Compléter notre package (exercices)

    6. Vecteurs et calcul vectoriel (optionnel)

  4. Les fichiers

    1. Ouvrir / Fermer un fichier texte

    2. Le paramètre Mode

    3. Opérations sur les fichiers textes

    4. Les fichiers binaires séquentiels

    5. Les fichiers binaires directs

    6. Les répertoires

    7. Quelques exercices

  5. Créer vos propres types

    1. Créer à partir de types prédéfinis

    2. Énumérer les valeurs d'un type

    3. Les types structurés

    4. Les types structurés : polymorphes et mutants !

  6. [TP] Logiciel de gestion de bibliothèque

    1. Cahier des charges

    2. Conception du programme (suivez le guide)

    3. Solutions possibles

  7. Les pointeurs I : allocation dynamique

    1. Mémoire, variable et pointeur

    2. Le type access

    3. Libération de la mémoire

    4. Exercices

  8. Les pointeurs II

    1. Cas général

    2. Pointeur comme paramètre

    3. Pointeur sur un programme (optionnel)

    4. Exercices

  9. Fonctions et procédures II : la récursivité

    1. Une première définition

    2. Exemple d'algorithme récursif

    3. Notre première fonction récursive

    4. Algorithme de recherche par dichotomie

    5. Quelques exercices

  10. Les Types Abstraits de Données : listes, files, piles…

    1. Qu'est-ce qu'un Type Abstrait de Données ?

    2. Les piles

    3. Les files

    4. Les listes chaînées

  11. [TP] Le jeu du serpent

    1. Cahier des charges

    2. Un package bien utile

    3. … et encore un autre !

    4. Quelques indications

    5. Une solution possible



Nous avons aborder dans ce chapitre la plupart des notions qui nous manquaient en découvrant des types plus complexes comme les tableaux, les pointeurs, les types abstraits de données… Vous avez dors et déjà fait un large tour des possibilités et savez désormais programmer en Ada ! :) Enfin, en Ada83. Mais la science de l'informatique évolue sans cesse et la programmation n'échappe pas à cette règle. La norme Ada95 a fait entré le langage Ada dans la catégorie des langages orientés objets, renforcé par la norme Ada2005. Découvrir cette fameuse POO (Programmation Orientée Objet) sera l'objectif principal de la partie IV.

Et quand est-ce que l'on fera des programmes en Ada plus jolis que ces vilaines consoles ? :'(

Ce sera le rôle de la cinquième partie que d'aborder ces notions au travers de GTK, une librairie qui nous permettra de créer de jolies fenêtres avec de jolis boutons et tout et tout ! ;) Les plus curieux (ou pressés) pourront s'y rendre directement, car il vous sera dors et déjà possible d'obtenir des résultats. Toutefois, pour des applications plus poussées et pour une meilleure compréhension, il sera nécessaire de lire la partie IV, la bibliothèque Gtk étant construite sur le mode « orienté objet ».