Cours d'algorithmique

Partie 1. Concepts de base de l'algorithmique

    COURS 1. Une introduction à l'algorithmique
        1.1 Introduction
        1.2 Mise en oeuvre d'une application
        1.3 Exemples d'algorithmes
        1.4 Quelques définitions du mot 'algorithme'
        1.5 Propriétés

    COURS 2. Inconvénients du langage naturel
        2.1 Exemple 1
        2.2 Exemple 2
        2.3 Synthèse

    COURS 3. Structures de contrôle, introduction à la notion de variable

        3.1 Structures de contrôle
        3.2 Notion d'ardoise
        3.3 Exemples
   
    COURS 4. Objets, notion d'affectation et structure d'un algorithme
        4.1 Variables et constantes
        4.2 Expressions sur les objets
        4.3 Autres actions du langage algorithmique
        4.4 Structure d'un algorithme
        4.5 Exemples

    TRAVAUX DIRIGÉS   

Partie 2. Programmation PASCAL
           
    COURS 5. Présentation générale du langage PASCAL
        5.1 Vocabulaire
        5.2 Objets
        5.3 Expressions
        5.4 Instructions
        5.5 Structure d'un programme
        5.6 Exemples
   
    COURS 6. Entrées/Sorties PASCAL
        6.1 Lecture
        6.2 Ecriture
        6.3 Les fichiers TEXT

    TRAVAUX DIRIGÉS  

Partie 3. Expérimentation sur la machine de Turing

    COURS 7. Machine-caractères
        7.1 Présentation
        7.2 Exemples

    COURS 8. Machine-nombres
        8.1 Présentation
        8.2 Structure de contrôle " POUR"
        8.3 Exemples

    TRAVAUX DIRIGÉS    

Partie 4. Programmation modulaire

    COURS 9. Actions composées
        9.1 Exemple d'introduction : calcul de Cnp
        9.2 Actions composées
        9.3 Fonctions
        9.4 Prédicats
        9.5 Utilisation en PASCAL

    COURS 10.     Analyse descendante
        10.1 Définition
        10.2 Caractéristique
        10.3 Technique
        10.4 Exemple

    COURS 11. Communication entre modules
        11.1 Nomenclature
        11.2 Portée des objets
        11.3 Communication entre modules

    COURS 12. Illustration de l'analyse descendante et la communication entre modules à travers un exemple
        12.1 Enoncé
        12.2 Les différents modules
        12.3 Rédaction de la solution
            12.3.1 Communication par variables globales
            12.3.2 Communication par paramètres
            12.3.3 Communication par paramètres et par variables globales

    TRAVAUX DIRIGÉS    

Partie 5. Objets composés, Vecteurs

    COURS 13. Les objets composés
        13.1 Introduction
        13.2 Définition de type
        13.3 Déclaration des variables
        13.4 Accès
        13.5 Utilisation en PASCAL

    COURS 14. Notion de vecteur
        14.1 Introduction
        14.2 Caractéristiques
        14.3 Définition formelle
        14.4 Terminologie et Notation
        14.5 Accès à un élément du vecteur
        14.6 Vecteur ordonné
        14.7 Mesures
        14.8 Description algorithmique

    COURS 15. Algorithmes sur les vecteurs
        15.1 Algorithmes traitant un seul vecteur
        15.2 Algorithmes traitant plusieurs vecteurs
        15.3 Algorithmes de mise à jour
        15.4 Algorithmes de tri
        15.5 Utilisation en PASCAL

    COURS 16. Vecteurs de vecteurs
        16.1 Vecteurs de vecteurs ou matrices
        16.2 Tableaux à n dimensions
        16.3 Représentation mémoire
        16.4 Description algorithmique

    TRAVAUX DIRIGÉS    

Partie 6. Fichiers

COURS 17. Introduction aux fichiers et Opérations fondamentales sur les fichiers
        17.1 Raisons de l'utilisation des mémoires sécondaires
        17.2 Fichier
        17.3 Structure de fichier
        17.4 Fichiers physiques et fichiers logiques
        17.5 Ouverture, création et fermeture
        17.6 Lecture et ecriture
        17.7 Détection de la fin de fichier
        17.8 L'operation Positionner ( "SEEK" )
        17.9 Utilisation en PASCAL
        17.10 Exemple : programmation des opérations de base

    COURS 18. Concepts fondamentaux des structures de fichiers
        18.1 Fichiers continus ( Stream)
        18.2 Structures des champs
        18.3 Structures des articles
        18.4 L'accès séquentiel
        18.5 L'accès direct
        18.6 Article d'en-tête
        18.7 Accès aux fichiers et organisation de fichier
        18.8 Exemple d'utilisation en PASCAL

    COURS 19. Maintenance de fichiers
        19.1 Maintenance du fichiers
        19.2 Réorganisation
        19.3 Exemple : programmation du module de réorganisation

    COURS 20. Tri de fichiers
        20. 1 Tri de tout le fichier entièrement en mémoire
        20. 2 Tri entièrement en mémoire uniquement des clés du fichier      

        20. 3 Tri par fusion
        20.4 Exemple : programmation du tri par fusion
   
    TRAVAUX DIRIGÉS    

Partie 7. Listes linéaires chaînées

   COURS 21. Les listes linéaires chaînées
        21.1 Notion d'allocation dynamique
        21.2 Exemple
        21.3 Définition d'une liste linéaire chaînée
        21.4 Modèle sur les listes linéaires chaînées

    COURS 22. Algorithmes sur les listes et programmation en PASCAL
        22.1 Algorithmes sur les listes
        22.2 Utilisation en PASCAL

     TRAVAUX DIRIGÉS