Title: Algorithmes et structures de donnes Cours 9
1Algorithmes et structures de donnéesCours 9
- Patrick Reuter
- http//www.labri.fr/preuter
2Algorithme et programmes
- Algorithme
- Moyen datteindre un but en répétant un nombre
fini de fois un nombre fini dinstructions. - Donc, un algorithme se termine en un temps fini.
- Programme
- Un programme est la traduction dun algorithme en
un langage - compilable ou interprétable par un ordinateur.
3(No Transcript)
4- http//www.cifen.ulg.ac.be/inforef/swi/download/py
thon_notes.pdf
5Ingrédients dalgorithmes
- Affectation
- Condition/Comparaison
- Structure de contrôle
- Branchements conditionnels (multiples)
- Boucles
- Bloc dinstruction
- Appel de fonction
6(No Transcript)
7(No Transcript)
8(No Transcript)
9Garder bien vos dossiers en arborescence
10Ingrédients dalgorithmes
- Affectation
- x 10
- y 30
- z x
x 10 y 30 z x
11Affichage à l'écran
- Afficher le texte suivant à lécran après
laffectation - x 10
- Résultat
- Le contenu de x est 10.
- afficherLigne("Résultat")
- afficher ("Le contenu de x est")
- afficher (x)
- afficher (".")
12- Afficher le texte suivant à lécran après
laffectation - x 10
- Résultat
- Le contenu de x est 10.
- afficherLigne("Résultat")
- afficher ("Le contenu de x est")
- afficher (x)
- afficher (".")
x 10 print "Résultat" print "Le contenu de x
est ", print x, print "."
13- Afficher le texte suivant à lécran après
laffectation - x 10
- Résultat
- Le contenu de x est 10.
- afficherLigne("Résultat")
- afficher ("Le contenu de x est")
- afficher (x)
- afficher (".")
print "Résultat" print "Le contenu de x est ",x,
"."
14Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- FIN SI
-
15Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- FIN SI
-
if ltconditiongt ltdébut partie alorsgt ltfin
partie alorsgt
16Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- FIN SI
-
if ltconditiongt ltdébut partie alorsgt ltfin
partie alorsgt Exemple if a20 print "a
est pair" print a
17Ingrédients dalgorithmes
- Structure de contrôle
- Branchements conditionnels
- SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- SINON SI ltconditiongt ALORS
- ltbloc dinstructionsgt
- SINON SI ltconditiongt ALORS
- ltbloc dinstructionsgt
-
- SINON
- ltbloc dinstructionsgt
- FIN SI
-
if nombrelt100 print "est négatif" elif
nombregt100 print "est positif" else print
"est zéro"
18Ingrédients dalgorithmes
- Structure de contrôle
- Boucle
- TANT QUE ltconditiongt FAIRE
- ltbloc dinstructionsgt
- FIN TANT QUE
-
-
19Ingrédients dalgorithmes
- Structure de contrôle
- Boucle
- TANT QUE ltconditiongt FAIRE
- ltbloc dinstructionsgt
- FIN TANT QUE
-
-
if nombrelt100 print "est négatif" elif
nombregt100 print "est positif" else print
"est zéro"
20Entrées de l'utilisateur
21Programmation évènementielle
- Entrées de l'utilisateur
Séquentielle Evenementielle
22Programmation séquentielle
- Entrée de l'utilisateur
- a raw_input()
- Ceci peut être du texte ou des nombres
23Programmation séquentielle
- Entrée de l'utilisateur
- print "Taper quelque chose ",
- a raw_input()
- print "Vous avez tapé ",a
24Programmation séquentielle
- Entrée de l'utilisateur
- a raw_input()
- Ceci peut être du texte ou des nombres
25Programmation séquentielle
- Entrée de l'utilisateur
- print "Taper quelque chose ",
- a raw_input()
- print "Vous avez tapé ",a
- print "le nombre de caractères ",
- print len(a)
26Programmation séquentielle
- Entrée de l'utilisateur
- print "Taper quelque chose ",
- a raw_input()
- print "Vous avez tapé ",a
- print "au carré cela fait ",
- print aa ou bien a2
27 28- a"non"
- while (a ! "non")
- votre jeu ici
- print "Voulez-vous rejouer (oui/non) ?"
- a raw_input()
- print "Au revoir"
29 30Insérer une liste
- i 0
- a
- while (alt6)
- ai raw_input()
- i i 1
31(No Transcript)
32Nombres aléatoires
- a random.randint(1,10) entier entre 1 et 10
33Nombres aléatoires
- import random
- a random.randint(1,10) entier entre 1 et 10
34Nombres aléatoires
- import random
- a random.randint(1,10) entier entre 1 et 10
- a random.random() un flottant a, 0.0lta lt1.0
- a random.uniform(1,10)
- un flottant a, 1.0lta lt10.0
-
35Nombres aléatoires
36- conditions nécessaires
- conditions suffisantes
37- Longueur
- s "abcde"
- print len(s) 5
- Concaténation
- s1 "abc"
- s2 "defg"
- s3 s1 s2 abcdefg
38- On indique, entre crochets, la position dun
caractère par un indice qui commence à 0 - s "abcdefg"
- print s0 a
- print s2 c
39Les listes
40Les listes
- Collection hétérogène, ordonnée et modifiable
déléments séparés - par des virgules, et entourée de crochets.
- nombres 17, 38, 10, 25, 72
- print nombres0 17
- print nombres4 72
- print len(nombres) 5
41Les listes
- Collection hétérogène, ordonnée et modifiable
déléments séparés - par des virgules, et entourée de crochets.
- nombres 17, 38, 10, 25, 72
42- Afficher tout les nombres
- nombres 17, 38, 10, 25, 72
-
43- Afficher tout les nombres
- nombres 17, 38, 10, 25, 72
- i 0
- TANT QUE i lt len(nombres) FAIRE
- afficherLigne(nombresi)
- i i 1
- FIN TANT QUE
-
44- Afficher uniquement les nombres pairs
- nombres 17, 38, 10, 25, 72
-
45- Afficher uniquement les nombres pairs
- nombres 17, 38, 10, 25, 72
- i 0
- TANT QUE i lt len(nombres) FAIRE
- SI nombresi 2 0 ALORS
- afficherLigne(nombresi)
- FIN SI
- i i 1
- FIN TANT QUE
46Affectation
- nombres 17, 38, 10, 25, 72
- nombres0 100
- print nombres
- Résultat
- 100, 38, 10, 25, 72
-
47- indice d'une liste ou d'une chaîne de caractères
- s "Bonjour"
- premiereLettre s0
- deuxiemeLettre s1
-
48Fonctions prédéfinies
- par exemple connaître la longueur d'une chaîne
- longueur len(nombres)
- ? parenthèses !
49- Combinaison
- derniereLettre slen(s) 1
50- Solution de quelques exercices
51Grilles de sudoku
52Grilles de sudoku
5 3 1 8 7 2 9 4 6
53Grilles de sudoku
- grille0 5,3,1,8,7,2,9,4,6
5 3 1 8 7 2 9 4 6
54Grilles de sudoku
- grille0 5,3,1,8,7,2,9,4,6
- grille1 2,3,1,8,7,2,9,4,5
5 3 1 8 7 2 9 4 6
2 3 1 8 7 2 9 4 5
55Grilles de sudoku
- grille 5,3,1,8,7,2,9,4,6,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4,
- 1,2,5,9,7,8,3,6,4
- print grille00