Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parÉlie Courtois Modifié depuis plus de 11 années
1
Algorithmes et structures de données Cours 8
Patrick Reuter
2
conditions nécessaires
conditions suffisantes
3
Motivation Niklaus Wirth, ETH Zuerich, 1976
« Algorithms + Data Structures = Programs »
4
Algorithme et programmes
Moyen d’atteindre un but en répétant un nombre fini de fois un nombre fini d’instructions. Donc, un algorithme se termine en un temps fini. Programme Un programme est la traduction d’un algorithme en un langage compilable ou interprétable par un ordinateur.
7
Variables Permet de stocker des données au cours d’un algorithme
Structure de données la plus élémenataire Caractérisé par leur nom et leur type
8
Variables Caractérisé par leur nom et leur type Noms :
Les noms des variables sont conventionnellement écrits en minuscule. Ils commencent par une lettre ou le caractère souligné (_), puis éventuellement, des lettres, des chiffres ou le caract`ere souligné. Ils doivent être diff´erents des mots réservés de Python.
9
Variables Caractérisé par leur nom et leur type Nom : x y z i
pointsJoueur1 pointsJoueur2
10
Types de variables
11
Variables Type simples: Type booléen Type entier Type flottant
Vrai/faux (p.ex. True, boolean) Type entier Nombre entier (p.ex. 5, int) Type flottant Nombre à virgule flottant (p.ex. 5.12, float)
12
Types simples Type booléen
Deux valeurs possibles : FAUX (False), VRAI (True) Opérateurs de comparaison : ==, !=, >, >=, <, <= 2 > 8 # Faux 2 <= 8 # Vrai Opérateurs logiques : NON (not), OU (or), ET (and) (3 == 3) or (9 > 24) # Vrai (9 > 24) and (3 == 3) # Faux not(2==2) # Faux
13
Types simples Type entier 20 + 3 # 23 20 - 3 # 17 20 * 3 # 60
# 23 # 17 20 * 3 # 60 20 ** 3 # 8000 20 / 3 # 6 (division entière) 20 % 3 # 2 (modulo (reste de la division entière)
14
Types simples Type entier long
Les entiers longs (seulement limités par la mémoire vive) 2 ** 40 # L 3 * 72L # 216L
15
Types simples Type flottant
Les flottants sont not´es avec un « point d´ecimal » ou en notation exponentielle : # 3e8 # 3 * 108 6.023e23 # * 1023 2. # 2 3.0 # 3 Ils supportent les mêmes opérations que les entiers, sauf : 20.0 / 3 # 20.0 // 3 # 6 (division entière forcée)
16
Pour connaître le type d'une variable :
print type(a) b = 3.5 print type(b)
17
Les chaînes de caractères
Notations : Les guillemets c1 = "L’eau de l'océan"
18
Longueur : s = "abcde" print len(s) # 5 Concaténation : s1 = "abc" s2 = "defg" s3 = s1 + s2 # ’abcdefg’
19
On indique, entre crochets, la position d’un caractère par un indice qui commence à 0
s = "abcdefg" print s[0] # a print s[2] # c
20
Les listes
21
Les 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 nombres[0] # 17 print nombres[4] # 72 print len(nombres) # 5
22
Les 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]
23
Afficher tout les nombres :
24
Afficher tout les nombres :
TANT QUE i < len(nombres) FAIRE afficherLigne(nombres[i]) i = i + 1 FIN TANT QUE
25
Afficher uniquement les nombres pairs :
26
Afficher uniquement les nombres pairs :
TANT QUE i < len(nombres) FAIRE SI nombres[i] % 2 == 0 ALORS afficherLigne(nombres[i]) FIN SI i = i + 1 FIN TANT QUE
27
Affectation nombres = [17, 38, 10, 25, 72]; nombres[0] = 100;
print nombres; Résultat : [100, 38, 10, 25, 72]
28
indice d'une liste ou d'une chaîne de caractères :
s = "Bonjour"; premiereLettre = s[0]; deuxiemeLettre = s[1];
29
Fonctions prédéfinies
par exemple connaître la longueur d'une chaîne : longueur = len(nombres); parenthèses !
30
Combinaison : derniereLettre = s[len(s) – 1];
31
Solution de quelques exercices :
32
Grilles de sudoku
33
Grilles de sudoku
34
Grilles de sudoku grille0 = [5,3,1,8,7,2,9,4,6];
35
Grilles de sudoku grille0 = [5,3,1,8,7,2,9,4,6];
36
Grilles 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] ]; print grille[0][0];
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.