1
Algo des Tableaux 2016-17 3
}Informations pratiques
}Objectifs du cours
Algo des Tableaux 2016-17 4
Organisation de lUE :
}Dans les edt 2 séries A et B
10 séances de cours (1h20)
10 séances de TD (1h20)
10 séances de TD machine (1h20)
}TD 10 groupes :A1A5 B1B5
Organisés selon les options choisies
Pas de groupe spécifique pour le parcours LI mais un
TD en anglais prévu dans cette UE.
}TD machine : 15 groupes
2gpes TD->3gpes Td machine (TM)
Algo des Tableaux 2016-17 5
Groupes TD TD machine
A1 Mme Raluca Uricaru +M. Olivier Delmas
A2 M. Felix Bashenis +M. Olivier Delmas
A3 Mme Giuliana Bianchi +M. Guillaume Blin
A4 M. Thomas Place +M. Guillaume Blin
A5 Mme Ghazal Kachigar +Mme Carole Blanc
B1 Mme Anne Vialard +Mme. Maria Predari
B2 Mme Stefka Gueorguieva +Mme. Maria Predari
B3 M. Damien Clergeaud +Mme Raluca Uricaru
B4 M. Olivier Delmas +Mme Raluca Uricaru
B5 M. Cyril Gavoille +Mme Carole Blanc
Algo des Tableaux 2016-17 6
}Seuls les 10 groupes officiels apparaissent.
}Pour les TD du mardi groupes A3 A4 A5 et B5
laffectation est refaite pour cette UE uniquement
Parcours international regroupés en A4 avec CMI et volontaires (TD
en anglais)
Équilibrage des 3 autres groupes
Voir ledt pour connaitre vos salles de TD/TM selon le nouveau
groupe.
}Les affectations particulière à notre UE sont visibles
uniquement sur le site de lUE :
Gpe de TM
Gpe de TD du mardi.
}Lire régulièrement votre boite mail « détudiant/e»
2
Algo des Tableaux 2016-17 7
Epreuves Session 1 Session 2
Mini TP noté x2 0,15 chacun report
DS semaine 10 0,3 report
Examen 0,4 0,4
En session 2 :
CC = max entre la note dexamen session 2 et le CC
Algo des Tableaux 2016-17 8
}Ecrire des algorithmes et programmer des fonctions en
sappuyant sur un langage impératif.
}Etudier lalgorithmique des tableaux : tris de tableaux et
calcul numérique.
Seront traitées les notions de:
-Variables, expressions, affectations.
-Structures de contrôle : boucles, conditionnelles.
-Portée des noms et durée de vie des variables.
-Algorithmes et fonctions récursives.
-Coût d'une opération et de complexité élémentaire.
}La programmation des algorithmes se fera en Python
}Les supports de cours et de TD/TM seront disponibles
sur le site de lUE au fur et à mesure.
Algo des Tableaux 2016-17 9
}Algorithme
}Programme
}Syntaxe du langage Python.
Algo des Tableaux 2016-17 10
}Qu'est-ce qu'un algorithme?
}Notion defficacité des algorithmes :
structures de données
temps de calculs
3
Algo des Tableaux 2016-17 11
}Un algorithme est une thode systématique (comme
une recette) pour résoudre un problème donné.
}Il se compose d'une suite d'opérations simples à
effectuer pour résoudre un problème.
Algo des Tableaux 2016-17 12
Exemple 1 : faire ntasses de café
Algo des Tableaux 2016-17 13
Exemple 1 : algorithme pour faire ntasses de café
mettre un filtre
niveau_reservoir =0
Tant que niveau_reservoir < n faire
mettre une dose deau dans le reservoir
augmenter niveau_reservoir de 1
Fin tant que
nb_doses = 0
Tant que nb_doses < n faire
mettre une dose de cafe dans le filtre
augmenter nb_doses de 1
Fin tant que
allumer la cafetiere
Vous ne connaissez pas n, conséquence ?
Algo des Tableaux 2016-17 14
Exemple 1 : algorithme pour faire ntasses de café
mettre un filtre
niveau_reservoir =0
Tant que niveau_reservoir < n faire
mettre une dose deau dans le reservoir
augmenter niveau_reservoir de 1
Fin tant que
nb_doses = 0
Tant que nb_doses < n faire
mettre une dose de cafe dans le filtre
augmenter nb_doses de 1
Fin tant que
allumer la cafetiere
Quelle instruction manque-t-il si on veut
boire 10 tasses de café ?
Øfaire 10 tasses de café
4
Algo des Tableaux 2016-17 15
}Un algorithme est une thode systématique
(comme une recette) pour résoudre un problème
donné.
}Il se compose d'une suite d'opérations simples à
effectuer pour résoudre un problème.
}En informatique cette méthode doit être applicable
par un ordinateur.
Algo des Tableaux 2016-17 16
Exemple 2 : afficher les diviseurs de lentier
n
si n > 0 alors
pour tout entier i entre 1 et n faire
si n est divisible par i alors
afficher(i)
finsi
finpour
finsi
Remarquez lusage ici dun pseudo langage
Algo des Tableaux 2016-17 17
ØPour un problème donné, il y a plusieurs algorithmes.
ØIl est facile d'écrire des algorithmes faux ou inefficaces.
ØUne erreur peut faire la différence entre plusieurs années
et quelques minutes de calculs sur une même machine.
ØC'est souvent une question d'utilisation de structures
de données ou d'algorithmes connus dans la littérature.
ØUne structure de données est une façon particulière
d'organiser les données.
Algo des Tableaux 2016-17 18
Exemple : Construire une ville de 15 maisons en évitant aux livreurs
de pizzas qui suivent les rues un trajet trop long depuis la pizzeria.
8
13 5 7911 13 15
14
12
Organisation 2 : Embranchements.
À l'ouest de la maison
k,
n° <
k,
et à l'est, n° >
k.
La pizzeria est au numéro 8.
Organisation 1 : Linéaire. Numéros croissants. Pizzeria au numéro 1.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
5
Algo des Tableaux 2016-17 19
}Dans les deux organisations, le livreur a une méthode
simple pour trouver une maison en partant de la
pizzeria.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
8
1 3 5 7 9 11 13 15
14
12
Algo des Tableaux 2016-17 20
}Dans les deux organisations, le livreur a une méthode
simple pour trouver une maison en partant de la
pizzeria.
}On suppose qu'il faut une unité de temps pour passer
d'une maison à une autre (en suivant une rue).
}Dans le cas le pire, quel est le temps mis par un livreur
pour aller jusqu'à une maison depuis la pizzeria ?
Algo des Tableaux 2016-17 21
Nombre de
maisons
Temps avec
organisation 1
Temps avec
organisation 2
15 14 3
Rq: une organisation en étoile avec la pizzeria au milieu
permet des trajets très courts, mais choisir la bonne rue prend
du temps.
1 073 741 823 1073741822 29
1023 1022 9
n n-1 ~log2(n)
Algo des Tableaux 2016-17 22
}Le temps de calcul (ou complexité) d'un algorithme
est la fonction mathématique qui donne le nombre
maximal d'instructions élémentaires que
l'algorithme effectue en fonction de la taille des
données manipulées.
}Par exemple si on travaille sur des objets de taille
n,
le temps de calcul est évalué en fonction de
n.
1 / 7 100%