Algorithmique et Structures de Données Statiques

Algorithmique et Structures de Données Statiques

Algorithmic and static data structures
ID Cours
ALSDS
Niveau
1ère année CP
Semestre
Semestre 1
Crédit
6
Volumes Horaires Cours
30.00
Coef
5
Volumes Horaires TD
60.00
Pré-requis :

Ingénierie des Compétences

Familles de Compétences

CF4 :Concevoir, réaliser et maintenir des logiciels de qualité

Type de compétence:

TEC : Technique

MET : Méthodologique

MOD : Modélisation

OPE : Opérationnel

Niveau de compétence:

Base Intermédiaire Avancé

 

Famille de Compétence Compétence Elément de Compétence Type
CF4 C4.0: Développer des programmes informatiques C40.6: Confectionner un dossier technique de programmation MET
C40.5: Traduire un algorithme dans un langage de programmation et le commenter TEC
C40.1: Construire une analyse à partir de l’énoncé d’un problème MET
C40.4: Proposer un découpage modulaire en procédures et/ou fonctions et le justifier TEC
C40.2: Identifier les structures algorithmiques statiques et dynamiques adéquate pour construire un algorithme à partir de l’analyse d’un problème MET
C40.3: Déboguer un programme et vérifier un algorithme TEC

Objectifs:

Acquisition d’une démarche méthodologique axée sur la modularité permettant la conception et la réalisation d’un petit logiciel utilisant des objets élémentaires et des données structurées statiques (tableaux à une et à deux dimensions, chaînes de caractères, ensembles, enregistrements)
être capable, partant de l’énoncé d’un problème, de :
Procéder à son découpage modulaire
Analyser et construire séparément des différents modules (principal et secondaires).
Valider chaque module
Programmer séparément les divers algorithmes correspondants aux modules (principal et secondaires)
Confectionner un dossier technique de programmation

Contenu

ELEMENTS DE BASE (~3 heures)
Algorithme, processeur, action
Programmes et langages de programmation
du problème au résultat
Analyse d’un problème

II. PRESENTATION DU FORMALISME ALGORITHMIQUE (~7 heures)
Nécessite d’un formalisme algorithmique
Présentation du formalisme algorithmique adopté
Structure d’un algorithme
l’environnement – objets élémentaires
Objets dans un environnement
Les déclarations
Déclaration de constantes
Déclaration de types simples (standards – non standards)
Déclarations de variables
Le corps de l’algorithme :
Les structures de contrôles:
autres actions de base (L’affectation – Les expressions arithmétiques, logiques, relationnelles et mixtes – La lecture – L’écriture)

III. ELEMENTS DE BASE DU LANGAGE PASCAL

Note très importante: Le langage de programmation ne sera pas enseigné au niveau du cours mais par le bais d’une documentation qui sera remise à l’étudiant. Sa mise en œuvre se fera au niveau des séances de TD/TP. A ce niveau du cours, on ne donnera que les éléments fondamentaux du langage afin de mettre en application les connaissances acquises dans les chapitre I et II. Des compléments du langage seront fournis au fur et à mesure de l’avancement du cours et en fonction des divers concepts abordés.
STRUCTURE D’UN PROGRAMME
LE CORPS DU PROGRAMME
L’affectation
Les expressions
Le bloc
L’instruction IF (si)
L’instruction CASE OF (cas parmi)
L’instruction FOR ( pour)
L’instruction WHILE (tant que)
L’instruction REPEAT (répéter
Les procédures d’entrée : READ et READLN
Les procédures de sortie : WRITE et WRITELN
Documentation des programmes
L’ENVIRONNEMENT DU PROGRAMME
Définition d’un identificateur
Déclaration de constantes
Déclaration de types
Déclaration de variables
LISTE DES MOTS RESERVES
EXEMPLE DE PROGRAMME EN PASCAL

IV. LA MODULARITE (~15 heures)
concepts fondamentaux et avantages de la modularité
Types des modules
Exemples
Mécanisme de communication
Passage des paramètres
Les fonctions.
Les fonctions utilisateurs
Structure d’une fonction
Appel d’une fonction.
Déclaration d’une fonction
les fonctions standards
les fonctions dans le langage Pascal
comment cataloguer un module en Pascal
Les procédures
Les procédures utilisateurs
Structure d’une procédure
Appel d’une procédure
Les procédures standards
Les procédures dans le langage Pascal
modules internes et modules externes
objets locaux et objets globaux
les effets de bord
Démarche modulaire et formalisme
le concept de bibliothèque (application au langage Pascal)

V LES STRUCTURES DE DONNEES STATIQUES (~5 heures)
Tableaux à une dimension
Les tris (sélection, transposition, bulles, par comptage, Shell)
Tableaux à deux dimensions
les chaines de caractères
les ensembles
les enregistrements

RECOMMANDATIONS:
Il est recommandé d’utiliser le vidéo projecteur pour le cours et de distribuer des fascicules sur les parties importantes du cours et le langage de programmation
les travaux dirigés et pratiques doivent se faire dans des salles de cours équipées de matériels informatiques
L’accent doit absolument être mis sur l’aspect démarche méthodologique et respect du formalisme adopté
Le langage de programmation utilisé est le langage Pascal. Il est introduit au fur et à mesure de l’avancement du cours d’algorithmique et son apprentissage se fera par autoformation par le biais de brochures.

Travail Personnel

Trois (3) TPs devront être réalisés dont deux (2) sur la modularité. Les TPs consistent la mise en œuvre de la démarche étudiée et en la confection de dossiers de TPs comprenant : l’énoncé, le découpage modulaire éventuel, les analyses et algorithmes des différents modules, le jeu d’essai, les listings des programmes et les résultats.

Bibliographie

N. WIRTH, Introduction à la programmation systématique
N. WIRTH, Algorithms and data structures
B. MEYER & C. BAUDOUIN, Méthodes de programmation
L. GOLDSHLAGER & A. LISTER, Informatique et algorithmique
Nous ne donnons pas de références concernant le langage Pascal vu la richesse de celles-ci.

We are using cookies to give you the best experience. You can find out more about which cookies we are using or switch them off in privacy settings.
AcceptPrivacy Settings

GDPR