Vous êtes sur la page 1sur 16

Juillet 2014 Page 1

PROGRAMME ET I NSTRUCTI ONS


OF F I CI EL L ES
POUR L ENSEI GNEMENT DE
L INFORMATIQUE
Premire et deuxime annes des classes prparatoires
filires : MP, PSI et TSI
PREAMBULE
Les technologies de linformation et les sciences du numrique sont
aujourdhui utilises dans les diffrents secteurs dactivits et spcialement en
ingnierie. Aussi leur intgration dans le cursus des Classes Prparatoires aux
Grandes Ecoles (CPGE) est une ncessit pour prparer tous les lves leurs
futurs mtiers.
Ces technologies de linformation tant en perptuelle volution, le
programme denseignement relatif ces disciplines est amen aussi tre modifi
continuellement afin de sadapter cette volution permanente.
Ainsi, Le Ministre de lEducation Nationale entreprend rgulirement
dimportants efforts pour rviser les programmes dinformatique dans les classes
prparatoires marocaines. A cet effet, ce prsent guide a t labor pour permettre
de :
dfinir la nature et les caractristiques de linformatique en tant que
discipline denseignement en CPGE;
dlimiter le cadre et la vision du programme dinformatique en
C.P.G.E ;
indiquer les comptences dvelopper chez les apprenants;
fixer les finalits et les objectifs de chaque partie du programme;
Juillet 2014 Page 2
prciser les approches pdagogiques servant de rfrence pour
prparer les activits dapprentissage relatives la discipline
informatique ;
prsenter le programme ainsi que la progression qui lui est attache;
proposer des exemples illustratifs des notions fondamentales de ce
programme
Suggrer quelques mthodes et moyens permettant lenseignant de
planifier, danimer et dvaluer les apprentissages des lves.
Conseiller des exercices et des exemples dapplications relatifs aux
diffrents lments de ce programme
SOMMAIRE
A- Contexte de la nouvelle rforme de
linformatique en C.P.G.E
page 4
B- Capacits concernes
page 5
C-
Structure, objectifs et didactique
du programme
page 6
D- Programme de la premire anne
page 8
E- Programme de la deuxime anne
page 15
Juillet 2014 Page 3
A-Contexte de la nouvelle rforme de linformatique en
C.P.G.E
Le programme dinformatique des classes prparatoire aux grandes coles
dingnieurs tient compte des volutions de lenseignement des sciences et
technologies du numrique dans lenseignement secondaire et les coles
dingnieurs.
Il vise doter les lves des CPGE de mthodes, doutils et de concepts
ncessaires la rsolution informatique dun problme donn. Ce problme peut
sappuyer sur les disciplines des mathmatiques, de la physique, de la chimie ou
des sciences industrielles.
Cette rsolution informatique est selon les cas soit la conception dun
algorithme qui peut tre traduit en programme informatique, soit lutilisation dun
logiciel de simulation numrique ou encore la gestion dune base de donnes.
Llve devra savoir apprhender un problme simple du monde naturel pour
le traduire, limplmenter en une solution informatique. Il devra se familiariser avec
diffrents concepts comme la faisabilit dune solution donne, la prcision des
calculs numriques, lefficacit dun programme, etc.
Les lves devront suivre aussi bien une formation caractre thorique
quune formation caractre pratique.
Ce sont ces 3 aspects, savoir lalgorithmique et programmation, la
simulation numrique et la gestion des bases de donnes qui constituent le
fondement de ce programme denseignement dinformatique en CPGE dans les
filires MP, PSI et TSI.
B-Capacits et objectifs requises
Ce programme dinformatique, na pas vocation seulement dapprendre aux
lves les concepts lis au domaine des technologies de linformation mais aussi les
aider adopter des dmarches scientifiques et des approches appuyes sur des
raisonnement rigoureux conduisant aux solutions des problmes poss.
Ainsi, lenseignement de linformatique doit permettre de dvelopper chez les
lves les capacits et objectifs suivants :
- comprendre, analyser et modliser un problme ou une situation pouvant
tre trait par linformatique,
Juillet 2014 Page 4
- adopter une dmarche de travail (dfinir le cahier de charge (les donnes,
les rsultats attendus, les traitements effectuer, ),
- comprendre un algorithme et expliquer son droulement et son rle,
- choisir les structures pouvant reprsenter les donnes dans la mmoire r
- dcouper le problme en plusieurs parties (modules),
- concevoir lalgorithme de rsolution relatif chaque module du problme
en spcifiant de faon rigoureuse et structure lensemble des tapes,
- mettre en pratique lalgorithme en le traduisant en programme laide dun
langage informatique,
- tester, vrifier et ventuellement corriger les algorithmes et les
programmes rsultants,
- valider la solution algorithmique par des jeux dessais,
- exploiter les fonctionnalits et les performances quoffre un logiciel de
simulation numrique,
- grer et interroger une base de donnes,
- critiquer, modifier, les donnes manipules,
- spcifier les modules mis en uvre,
- valuer la complexit des diffrentes fonctions et des divers programmes
raliss.
La rsolution des problmes par une approche algorithmique procure aux
lves une rigueur, une capacit dabstraction, un raisonnement et une logique, qui
sont les lments essentiels pour toute rsolution dun problme scientifique.
Ces capacits acquises, permettront leur intgration dans les autres
enseignements scientifiques ainsi que dans llaboration des travaux dinitiative
personnelle encadre (TIPE).
C- Structure, objectifs et mthodologie du programme
C-1 Structure et organisation du programme
Le programme de linformatique des deux annes des CPGE scientifiques, est
organis en 5 parties, comme suit :
- Partie I : Gnralits et algorithmique de base
- Partie II: Algorithmique et programmation
- Partie III : Ingnierie numrique et simulation
- Partie IV : Introduction aux bases de donnes relationnelles
Juillet 2014 Page 5
- Partie V : Algorithmique avanc et programmation
Les trois premires parties (partie I, II et III) seront dispenses durant la
premire anne alors que les deux dernires parties (partie IV et V) concerneront la
deuxime anne.
C-2/ Objectifs fixs
Lenseignement de linformatique aux CPGE vise plusieurs objectifs
permettant dinculper aux lves des outils et des mthodes ncessitant lapplication
des rgles de logique absolue et favorisant la rflexion, lanalyse et la synthse. Ces
capacits sont ncessaires pour rsoudre tout problme dordre scientifique.
Ainsi ce nouveau programme dinformatique, na pas vocation seulement
dapprendre aux lves les concepts lis au domaine des technologies de
linformation mais aussi les aider adopter des dmarches scientifiques et des
approches appuyes sur des raisonnement rigoureux conduisant aux solutions des
problmes poss.
Les principaux objectifs de cette nouvelle rforme de lenseignement de
linformatique aux CPGE, peuvent se rsumer aux points suivants :
apprentissage dun ensemble de concepts de base de lalgorithmique,
rsolution de problme par approche algorithmique,
conception rigoureuse dalgorithme,
choix des reprsentations appropries des donnes,
familiarisation avec la syntaxe lmentaire et les rgles de base dun
langage de programmation,
mise en uvre dun programme informatique (dition, excution, test),
pratique de la programmation,
utilisation dun logiciel de simulation numrique,
exploitation des rsultats de calculs numriques,
initiation lutilisation dun SGBD,
manipulation de donnes organises dans une base de donnes,
valuation de lefficacit algorithmique (mesure de la complexit),
maitrise de lapproche rcursive dun algorithme.
C.3/ Mthodologie
* Il est recommand de mettre laccent sur le raisonnement algorithmique
beaucoup plus que sur la syntaxe du langage de programmation.
* Il est conseill de donner des exemples et de proposer des exercices
inspirs des autres disciplines scientifiques (mathmatiques, physique,
sciences de lindustrielle et chimie).
* II est ncessaire de transcrire les algorithmes vus pendant les sances
de cours en langage de programmation.
* Il est souhaitable dintgrer des lments de la discipline informatique
dans llaboration des travaux dinitiative personnelle encadre(TIPE).
Juillet 2014 Page 6
* Il nest pas demand daborder les aspects thoriques qui relvent des
autres disciplines scientifiques, mais de mettre en uvre les algorithmes
permettant lanalyse des rsultats surtout concernant lutilisation du
logiciel de simulation.
* Il est noter que le langage de programmation, le logiciel de simulation
numrique ainsi que le systme de gestion de bases de donnes (SGBD)
qui seront utiliss dans le cadre de ce cours feront lobjet dune note de
service manant de lautorit gouvernementale charge des classes
prparatoires aux grandes coles.
Juillet 2014 Page 7
D- Programme de la premire anne (MPSI, PCSI, TSI)
Le programme de la premire anne est divis en 3 parties (I, II et III)
D.I Partie I : Gnralits et algorithmique de base
La partie I du programme sera enseigne durant le premier trimestre de la 1
re
anne. Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation.
D.I.a/Capacits vises
identifier lensemble des ressources physiques constituant le systme
informatique,
utiliser les principales commandes dun systme dexploitation,
comprendre la reprsentation des donnes numriques dans la
mmoire et les limitations (en valeur et en prcision) de leur reprsentation,
expliquer ce que fait un algorithme lmentaire,
dcomposer une tche complexe en tches lmentaires
concevoir un algorithme rpondant un problme simple,
savoir adopter lapproche de la programmation descendante et la
programmation structure,
se familiariser avec la syntaxe de base dun langage de
programmation,
traduire un algorithme en programme crit avec un langage
informatique,
vrifier la terminaison dune boucle,
tester un programme en lditant et en lexcutant dans un
environnement intgr dun langage de programmation,
appeler quelques fonctions lmentaires du langage de
programmation.
D.I.b/ Outils utiliss
Les vacations de cours thoriques seront alternes avec de sances de
travaux dirigs et de travaux pratiques.
Durant les travaux dirigs, les lves apprennent concevoir des algorithmes
de rsolution de problmes lmentaires et crire les programmes correspondants.
Juillet 2014 Page 8
Ces programmes seront dits et tests au cours des travaux pratiques
prvus
D.I.c/ Contenu
D.I.c.1/ Environnement matriel et logiciel dun systme informatique
Le but de ce paragraphe est de prsenter succinctement lensemble des
ressources physiques constituant le systme informatique ainsi que lensemble des
moyens qui permettent dutiliser lordinateur. On abordera aussila reprsentation des
donnes numriques sous forme binaire dans la mmoire.
a/ Architecture simplifie dun ordinateur
*Composants de base
- ordinateur personnel, tablette, PDA,
- diffrencier les diffrents composants constituant un ordinateur
(mmoire vive, mmoire de masse, unit centrale, priphriques
dentre-sortie, ports de communication)
* Mmoire centrale et reprsentation des donnes
- rle, caractristiques, capacit (notion de bit, de mot mmoire,
dadresse mmoire, ).
* Reprsentation de donnes dans la mmoire
- types de donnes (nombres ou caractres),
- systme binaire,
- reprsentation des nombres entiers en mmoire (nombre positif ou
ngatif, bit de signe, nombre non sign),
- reprsentation des nombres rels en mmoire (mantisse et exposant,
dfinition de lcriture en virgule flottante normalise)
- limites et dpassement de la mmoire (illustration par des exemples
simple (division par zro,)),
- codage et reprsentation des caractres (code ASCII, UTF8, UTF16,
Unicode),
- tude des mcanismes de dpassement de capacit (les "overflow"),
les erreurs darrondis, les divisions par zro.
* Processeur
- caractristiques (vitesse, frquence de lhorloge, ),
- fonctions (oprations arithmtiques et logiques).
* Priphriques
- priphriques dentre-sortie, ports de communication, Mmoires
auxiliaires,).
b/ Systme dexploitation dun ordinateur
- dfinition et exemples de systmes dexploitation (Windows et Linux),
- fonctions principales dun systme dexploitation (vrification des
ressources, gestion de fichiers, gestion de dossiers, ),
-exemples dutilisation de quelques commandes usuelles (cration
de dossiers, copie de fichiers, ),
-mise en uvre dun environnement de dveloppement.
Juillet 2014 Page 9
D.I.c.2/Algorithmique de base
Le but de ce paragraphe est dinitier les lves la conception dalgorithmes
lmentaires manipulant des variables de types simples, des expressions et des
structures de contrle, puis convertir ces algorithmes en programmes laide dun
langage de programmation
a/Dfinitions
* algorithme et programme,
*langage de programmation,
*interprteur et compilateur.
b/Elments de base dun algorithme
*variables.
*types simples (entier, flottant, caractre),
*affectation,
*entres / sorties standards et fonctions de la bibliothque.
c/Oprateurs et les expressions
*les oprateurs arithmtiques et logiques,
* les expressions.
d/Structures de contrle
*les instructions de choix (la slection logique),
*les instructions ditration ou de rptition (les boucles).
e/ Dmarche danalyse descendante
*principe de la dmarche,
*affinements successifs,
*exemples.
f) Modlisation.
*analyser une situation,
*spcifier,
*modliser.
g) Vrification du code
*invariants de boucle,
*tests des segments itratifs,
*estimation de la complexit dun calcul.
D.I.d/ Exemples dexercices et dapplications pratiques
La liste suivante numre quelques exemples dalgorithmes simples pouvant
tre proposs en termes dexemples ou dexercices durant cette premire partie de
lenseignement :
- Rsolution dune quation du 1
er
ou du 2
me
degr
- Vrification de la validit dune date (annes bissextile).
Juillet 2014 Page 10
- Dtermination de certaines proprits dun nombre entier (premier, parfait,
Amstrong, ).
- Calcul de PGCD et du PPMC de 2 nombre entiers.
- Dcomposition binaire dun entier.
- Evaluation de la somme des N premiers nombres entiers positifs.
- Calcul du factoriel dun nombre en utilisant une mthode itrative.
-
D.II Partie II : Algorithmique et programmation
La partieII du programme sera enseigne durant le deuxime trimestre de la
1
re
anne.Le but de cette partie est dapprendre aux lves la programmation
modulaire ainsi que la reprsentation des donnes dans des structures des donnes
telles que les tableaux, les chanes de caractres, les listes, les piles, ) et leurs
utilisations (tri, recherche, ). Dans cette partie, on sintressera aussi la lecture et
lcriture dans un fichier de donnes.
D.II.a/Capacits vises en algorithmique
dcouper et organiser le problme en plusieurs parties (les modules),
dfinir les prototypes des fonctions utiliser (paramtres, type de
retour)
choisir les structures pouvant reprsenter les donnes et les rsultats
du problme,
maitriser les algorithmes de tri standard et de la recherche
dichotomique
manipuler une chane de caractres,
grer une liste de donnes (ajouter, modifier, rechercher ou supprimer
des lments),
organiser les lments sous forme dune pile afin de leur exploitation,
lire et crire des donnes partir dun fichier.
D.II.b/ Capacits vises en programmation
Traduire un algorithme dans un langage de programmation non
spcifiquement lis au systme dexploitation, libre et portable, dynamique,
extensible qui permet une approche modulaire et oriente objet de la
programmation.
Savoir se servir de la documentation du langage choisi en ligne,
savoir documenter ses propres programmes,
choisir les types et structures de donnes optimales pour un problme
donn,
expliciter la signature, le prototype dune fonction,
mettre en uvre des squences de tests afin de tester une
fonctionnalit, un programme spcifique.
Juillet 2014 Page 11
D.II.c/Contenu en programmation
* prsentation des diffrents types dobjets,
* objets simples : entier, flottant, complexe, boolen et chaines de
caractres,
* les oprateurs,
* les collections dobjets (les listes, les tuples, les dictionnaires, les
ensembles),
* la logique dun programme (les oprations conditionnelles, les boucles for
et while),
* les fonctions (les instructions break et continue, variable locale, variable
globale),
* les modules de base du langage choisi.
D.II.d/Outils utiliss
La programmation modulaire, les structures des donnes ainsi que les
principes des diffrents tris seront expliqus pendant les sances de cours. Les
diffrents algorithmes de tri et de recherche seront conus en travaux dirigs.
Limplmentation et la vrification de ces diffrents algorithmes seront
effectues en travaux pratiques laide du langage.
Les lves devront utiliser un environnement de dveloppement
Un environnement scientifique doit tre prsent et ceci ds la premire
anne. Cela peut-tre un logiciel de calcul scientifique libre et large utilisation ou
une bibliothque utiliser avec le langage de programmation choisi.
Attention il nest pas demand une tude approfondie de lensemble de ces
outils.
Des textes rglementaires pourront dans le futur prciser les diffrents choix
doutils et denvironnement de dveloppement.
D.II.e/Contenu
D.II.e.1/Programmation modulaire
a. Dfinition et paramtres de fonction,
b. Variable locale et variable globale,
D.II.e.2/Structures de donnes et leurs utilisations
a. Tableaux une dimension (reprsentation, accs aux lments),
b. Chanes de caractres (longueur, accs un caractre),
c. Tris et recherche dichotomique dans un tableau (tri par slection, tri par
insertion, tri bulles, ),
d. Tableaux 2 dimensions (oprations sur les matrices),
e. Squences, : Listes et tuples (dfinition, ajout, suppression, recherche
dans une liste),
f. Dictionnaires : crations et opration
Juillet 2014 Page 12
g. Piles et files.
D.II.e.3/Fichiers de donnes
a. Accs un fichier (chemin et nom physique de fichier),
b. Lecture des lments dun fichier partir dun programme,
c. Ecriture dans un fichier partir dun programme.
D.II.f/Exemples dexercices et dapplications pratiques
Les exemples ci-dessous peuvent tre suggrs en exercices :
- Gestion dune une liste dlments et son tri (ajout, modification,
suppression, recherche, ).
- Calcul matriciel (somme, produit, dterminant, transpose).
- Utilisation des algorithmes de cryptage lmentaires (Csar, Vigenre)
- Cryptage dune chane de caractres puis dun fichier texte.
- Implmentation de lalgorithme du codage de Hamming et de Huffman.
- Vrification de la syntaxe dune expression mathmatique simple
(nombre de parenthses par exemples) en utilisant la structure pile.
D.III Partie III : Ingnierie numrique et simulation
Le but de cette partie est dintroduire les techniques de base pour lutilisation
des algorithmes numriques. On ne sintressera qu la mise en uvre de
ces algorithmes et non pas aux aspects thoriques. Par contre il faudra
comparer les solutions obtenues dune manire numrique avec celle issue
dun calcul analytique
D.III.a/Comptences vises
la fin de cette partie, llve doit tre capable de :
Donner une solution numrique dun problme difficilement ou
impossible raliser avec une solution purement analytique
Mettre en uvre par programmation un problme caractre
scientifique en prenant en compte aussi bien les donnes en entres du
programme que les rsultats
Savoir utiliser les bibliothques de calcul numrique standard pour
rsoudre un problme scientifique
Savoir utiliser les bibliothques standards pour afficher les rsultats
sous forme graphique
Savoir prendre en compte les erreurs de calcul ou erreurs darrondi.
Savoir dterminer la complexit dun calcul en vue den dterminer si le
calcul est ralisable dans un temps acceptable.
Juillet 2014 Page 13
D.III.b/Outils utiliss
Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vuesen
cours.
D.III.c/Contenu
D.III.c.1/Prsentation des bibliothques
* Programmation de quelques fonctions.
* Calcul manipulant les tableaux et calcul matriciel
* Gestion de la documentation en ligne des fonctionnalits de ces
bibliothques.
D.III.c.2/Mthodes linaires une dimension
* Rsolution dquation algbrique
* Mthode de dichotomie
* Mthode de Newton
D.III.c.3/Problmes dynamiques une dimension
* Rsolution approche dune quation diffrentielle
* Mthode dEuler
D.III.c.4/ Problmes discrets multidimensionnels linaires
* Rsolution dun systme linaire inversible laide de la mthode de
Gauss
* Calcul de complexit pour dterminer un temps dexcution afin de
savoir si le calcul est envisageable.
D.III.d/ Exemples dexercices et dapplications pratiques
- Manipulations de tableaux et de matrices (extraire un sous tableaux,
coupe dun tableau ou dune matrice, indexation par masque, copie de
tableau ou de matrice, oprations simples ou complexes manipulant
des tableaux ou des matrices, etc)
- Exemple : quation de la chaleur (diffusion thermique) une
dimension discrtisation en diffrences finies, convergence,
implmentation matricielle, optimisation avec la formule de Taylor, etc)
- Intgration dquations diffrentielles laide dune bibliothque ou
dun logiciel de calcul scientifique
- Exemple : gestion dun systme dynamique, le pendule simple.
Juillet 2014 Page 14
E. Programme de la deuxime anne ( MP, PSI, TSI)
Le programme de la deuxime anne est divis en 2 parties (partie IV et partie V)
E.I Partie IV: Introduction aux bases de donnes
La partie IV du programme sera enseigne durant la premire priode de la
2
me
anne .Cette partie vise initier les lves la technologie des bases de
donnes.
E.I.a/ Capacits vises
* Mettre en uvre et grer une base de donnes relationnelle;
* Effectuer des requtes SQL sur une base de donnes ;
* Dcouvrir et pratiquer les principales fonctions dun SGBD
relationnel ;
* Acqurir une exprience pratique dans la gestion dune base de
donnes.
E.I.b/ Outils utiliss
Cette partie sera dispense sous forme de prsentation des concepts
lmentaires des bases de donnes. Chaque concept doit tre illustr par un ou
plusieurs exemples simples. Ces concepts seront mis en uvre dans des sances
de travaux pratiques.
Ces travaux pratiques seront raliss avec un SGBD qui prsente une
interface graphique conviviale permettant lutilisation des diffrentes manipulations
sur les bases de donnes (cration de bases et de tables, alimentation, modification,
suppression et interrogation des donnes)
Il est rappel que le systme de gestion de bases de donnes ( SGBD)
utiliser fera lobjet dune note de service de lautorit gouvernementale charge des
classes prparatoires aux grandes coles ( voir page 7)
E.I.c/ Contenu
E.I.c.1/ Gnralits
* Notion de base de donnes;
* Modle de base de donnes (hirarchique, relationnel);
* Systme de gestion de base de donnes (SGBD);
* Machine serveur et client;
E.I.c.2/ Modle relationnel
* Prsentation;
* Concepts lmentaires;
* Notions de base (table, relation; attribut; cls; domaine; ) ;
*Schma de relation;
E.I.c.3/ Algbre relationnelle
* Introduction;
* Oprateurs unaires (slection, projection);
* Oprateurs binaires ensemblistes (union, intersection,
diffrence);
* Oprateurs n-aires(Produit cartsien, jointure, division
cartsienne);
* Fonctions dagrgation : min, max, somme, moyenne,...
E.I.c.4/ Langage SQL
Juillet 2014 Page 15
* Prsentation et notion de requte;
* Description de donnes (cration, modification suppression de
tables, dattributs, de vues, );
* Manipulation de donnes (Insertion, modification suppression
de n-uplets);
* Interrogation dune base de donnes (commande SELECT);
E.I.d/ Exemples dexercices et dapplications pratiques
* Lancer lenvironnement dun SGBD offrant une interface graphique
et crer une base de donnes simple contenant quelques tables (2 ou 3) ;
* Dfinir la structure dune table (champs, types,..) ;
* Alimenter les tables de la base ;
* Interroger la base laide des requtes ;
* Ecrire des requtes SQL en utilisant lalgbre relationnelle partir
dnoncs en langage courant ;
* Accder une base de donnes dj existante et manipuler ses
donnes ;
* Utiliser les jointures symtriques simples (JOIN ON =...) pour
effectuer des requtes croises dans une base de donnes constitue de
plusieurs tables. ( maximum 3).
* Prsenter laide dun exemple simple le concept de client-serveur en
prcisant les rles respectifs des machines client, serveur, et
ventuellement serveur de donnes (architecture trois-tiers)
Remarque : Les exemples dillustration de bases de donnes seront de
prfrence choisis au sein des autres disciplines scientifiques tudies.
E.II Partie V: Algorithmique et programmation 2
La partie V du programme est la dernire partie de cet enseignement, elle
sera dispense durant la deuxime priode de la 2
me
anne
E.II.a/Comptences vises
Le but de cette partie est dintroduire certaines notions avances
dalgorithmique et quelques complments qui nont pas t abords en 1
re
anne.
Ainsi la fin de cette partie, llve doit tre capable de :
* Evaluer la qualit dun algorithme en mesurant sa complexit ;
* Rsoudre des problmes en utilisant les algorithmes rcursifs ;
* Comprendre les avantages et les inconvnients des approches itrative
et rcursive ;
* Reprsenter des donnes dans un arbre binaire et le parcourir;
* Utiliser les expressions rgulires
* Apprhender les notions de base de la thorie des graphes
( reprsentation matricielle, parcours, recherche du plus court chemin
(Dijkstra, )
E.II.b/ Outils utiliss
Aprs chaque sance thorique, un ensemble dexercices et de travaux
pratiques seront proposs aux lves pour illustrer et vrifier les notions vues en
cours.
Remarque: Le langage de programmation utilis est le mme que celui
adopt en 1
re
anne.
Juillet 2014 Page 16
E.II.c/ Contenu
E.II.c.1/ Algorithmes de tri
* Rappels des algorithmes de tri standard (slection, insertion, bulles) ;
* Algorithmes de tri rapides (Quick Sort, Merge Sort) ;
E.II.c.2/ Initiation la complexit algorithmique
* Notion de complexit algorithmique (Complexit en temps et en
espace ) ;
* Algorithmes de complexit constante, logarithmique,
linaire) ( exemple : diviser pour rgner)
;
* Comparaison de la complexit temporelle dun algorithme de tri
standard et un algorithme de tri rapide ;
E.II.c.3/ Rcursivit
* Principe de la rcursivit simple ;
* Exemples dutilisation de la rcursivit simple (exemple : factoriel,
fibonacci, ) ;
* Terminaison dune fonction rcursive ;
* Rcursivit et Itration (comparaison) ( problme dAckermann)
;
E.II.c.4/ Initiation aux algorithmes des arbres binaires
* Dfinition dun arbre binaire (notion de nud, racine, feuille) ;
* Parcours dun arbre binaire ;
* Exemple du tri Maximier ( tri en utilisant un arbre binaire) ;
E.II.c.5/ Introduction la thorie des graphes
* Structure dun graphe
* Reprsentation matricielle
* Parcours de graphe
* Recherche du plus cout chemin (Dijkstra,)
* Cycle Hamilthonien et Eulorien
E.II.d/ Exemples dexercices et dapplications pratiques
* Evaluer la complexit dun algorithme simple de complexit constante
(recherche squentielle dun lment dans une liste ) ;
* Implmenter un algorithme de tri standard ( tri par slection) et un
algorithme de tri rapide (Quick Sort) puis dterminer et comparer leurs
complexits dans le pire et le meilleur des cas ;
* Dvelopper des algorithmes rcursifs (factorielle, puissances entires,
suites rcurrentes (Fibonacci,), pgcd,) ;
* Reprsenter des donnes sous forme dun arbre binaire exemple : arbre
gnalogique ) et rechercher une information en parcourant larbre ;
* Comprendre le principe du tri par arbre (tri Maximier);
* Dcouvrir la programmation oriente objet au travers dapplications
simples
* Appliquer les expressions rgulires (validit dune adresse e-mail, )
*Implmenter des exemples mettant en uvre les parcours eulerien ou
hamilthonien

Vous aimerez peut-être aussi