Introduction `a l’algorithmique et `a la programmation
SHNU, 2019 – 2020
Anthony Labarre
Anthony.Labarre@u-pem.fr
– Avant de commencer... –
I En cas de probl `eme, n’h ´esitez pas `aposer des questions;
我没听懂、可以再说一遍吗?
−→“Je n’ai pas compris ; pouvez-vous r ´eexpliquer ?”
《老师说得太快了》
−→“Pouvez-vous parler / r ´eexpliquer plus lentement ?” 我不懂X、可以再解释一遍吗?
−→“Je n’ai pas compris X, pouvez-vous r ´eexpliquer ? Pouvez-vous donner un exemple ?”
《这个很简单、我都明白了》
−→ 太好了!现在你可以去帮你的同学了!
– Avant de commencer... –
I En cas de probl `eme, n’h ´esitez pas `aposer des questions;
我没听懂、可以再说一遍吗?
−→“Je n’ai pas compris ; pouvez-vous r ´eexpliquer ?”
《老师说得太快了》
−→“Pouvez-vous parler / r ´eexpliquer plus lentement ?” 我不懂X、可以再解释一遍吗?
−→“Je n’ai pas compris X, pouvez-vous r ´eexpliquer ? Pouvez-vous donner un exemple ?”
《这个很简单、我都明白了》
−→ 太好了!现在你可以去帮你的同学了!
– Avant de commencer... –
I En cas de probl `eme, n’h ´esitez pas `aposer des questions;
我没听懂、可以再说一遍吗?
−→“Je n’ai pas compris ; pouvez-vous r ´eexpliquer ?”
《老师说得太快了》
−→“Pouvez-vous parler / r ´eexpliquer plus lentement ?”
我不懂X、可以再解释一遍吗?
−→“Je n’ai pas compris X, pouvez-vous r ´eexpliquer ? Pouvez-vous donner un exemple ?”
《这个很简单、我都明白了》
−→ 太好了!现在你可以去帮你的同学了!
– Avant de commencer... –
I En cas de probl `eme, n’h ´esitez pas `aposer des questions;
我没听懂、可以再说一遍吗?
−→“Je n’ai pas compris ; pouvez-vous r ´eexpliquer ?”
《老师说得太快了》
−→“Pouvez-vous parler / r ´eexpliquer plus lentement ?”
我不懂X、可以再解释一遍吗?
−→“Je n’ai pas compris X, pouvez-vous r ´eexpliquer ? Pouvez-vous donner un exemple ?”
《这个很简单、我都明白了》
−→ 太好了!现在你可以去帮你的同学了!
– Avant de commencer... –
I En cas de probl `eme, n’h ´esitez pas `aposer des questions;
我没听懂、可以再说一遍吗?
−→“Je n’ai pas compris ; pouvez-vous r ´eexpliquer ?”
《老师说得太快了》
−→“Pouvez-vous parler / r ´eexpliquer plus lentement ?”
我不懂X、可以再解释一遍吗?
−→“Je n’ai pas compris X, pouvez-vous r ´eexpliquer ? Pouvez-vous donner un exemple ?”
《这个很简单、我都明白了》
−→ 太好了!现在你可以去帮你的同学了!
– Aspects pratiques –
Organisation :
I Quelques s ´eances de cours + exercices (papier) ;
I Quelques s ´eances sur les ordinateurs ;
I Et l’examen `a la fin ;
Ressources :
I http://igm.univ-mlv.fr/˜alabarre/teaching.php, section SHNU — ou 百度: Anthony Labarre
I PythonTutor :http://pythontutor.com/; permet de visualiser du code Python ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Correction des exercices –
I Pas de solutions toutes faites ;
I Pour les exercices sur papier :
I vous corrigez certains exercices au tableau ;
I on v ´erifie ensemble ces corrections ;
I Pour les exercices sur ordinateur :
I vous recevrez desdoctestspour v ´erifier vos r ´eponses ;
I on verra plus tard ce que c’est et comment les utiliser ;
Encore une fois : posez des questions pendant la s ´eance ou par e-mail ;
– Installer Python –
I On utilise dans ce cours Python 3 ; attention, Python 2 n’estpascompatible !
I Pour l’installer :
I Ubuntu / Debian :sudo apt-get install python3
I Windows : suivez le programme d’installationmais ajoutez python `a la variable PATH !
Sinon, vous ne pourrez pas taperpythondans le terminal ; http://www.python.org/
– Installer Python –
I On utilise dans ce cours Python 3 ; attention, Python 2 n’estpascompatible !
I Pour l’installer :
I Ubuntu / Debian :sudo apt-get install python3
I Windows : suivez le programme d’installationmais ajoutez python `a la variable PATH !
Sinon, vous ne pourrez pas taperpythondans le terminal ; http://www.python.org/
– Installer Python –
I On utilise dans ce cours Python 3 ; attention, Python 2 n’estpascompatible !
I Pour l’installer :
I Ubuntu / Debian :sudo apt-get install python3
I Windows : suivez le programme d’installationmais ajoutez python `a la variable PATH !
Sinon, vous ne pourrez pas taperpythondans le terminal ; http://www.python.org/
– Installer Python –
I On utilise dans ce cours Python 3 ; attention, Python 2 n’estpascompatible !
I Pour l’installer :
I Ubuntu / Debian :sudo apt-get install python3
I Windows : suivez le programme d’installationmais ajoutez python `a la variable PATH !
– Quelques environnements de d ´eveloppement –
Les ´editeurs suivants rendent le d ´eveloppement Python plus facile ; choisissez celui que vous pr ´ef ´erez :
Geany https://www.geany.org/
PyCharm https://www.jetbrains.com/pycharm/
Notepad++ https://notepad-plus-plus.org/
Kate http://kate-editor.org/
SublimeText https://www.sublimetext.com/
...
– Plan d’aujourd’hui –
Variables, types et op ´erations
Instructions et blocs
Instruction conditionnelle (if)
Structures it ´erables et bouclesfor
– Pourquoi un langage ? –
I L’ordinateur ne comprend que le langage binaire ;
I trop difficile pour les humains (en g ´en ´eral) ;
I pas compatible d’une machine `a l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain Est-ce que 210 et 1024 sont ´egaux ?
humain
2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
– Pourquoi un langage ? –
I L’ordinateur ne comprend que le langage binaire ;
I trop difficile pour les humains (en g ´en ´eral) ;
I pas compatible d’une machine `a l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU humain
Est-ce que 210 et 1024 sont ´egaux ?
humain 2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
– Pourquoi un langage ? –
I L’ordinateur ne comprend que le langage binaire ;
I trop difficile pour les humains (en g ´en ´eral) ;
I pas compatible d’une machine `a l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain
Est-ce que 210 et 1024 sont ´egaux ?
humain
2 ** 10 == 1024
True
I Il nous faut donc un langage commun pour se comprendre (Python, C, Java, ...) ;
– Pourquoi un langage ? –
I L’ordinateur ne comprend que le langage binaire ;
I trop difficile pour les humains (en g ´en ´eral) ;
I pas compatible d’une machine `a l’autre !
CPU
. . . 010101101101 110101100010. . .
CPU
humain
Est-ce que 210 et 1024 sont ´egaux ?
humain 2 ** 10 == 1024
True
– Introduction sur un exemple –
Un exemple de programme enPython 3:
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2019 - annee_naissance
if mois_naissance > 10:
age = age - 1
if mois_naissance == 10 and jour_naissance > 21:
age = age - 1
print("Vous avez", age, "ans")
C’est un programme un peu avanc ´e. . .mais essayons de comprendre ce qu’il fait.
– La coloration syntaxique –
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2019 - annee_naissance
if mois_naissance > 10:
age = age - 1
if mois_naissance == 10 and jour_naissance > 21:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
I Elle varie selon l’ ´editeur utilis ´e ;
I Elle rend le programme plus lisible.
– La coloration syntaxique –
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2019 - annee_naissance
if mois_naissance > 10:
age = age - 1
if mois_naissance == 10 and jour_naissance > 21:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
I Elle varie selon l’ ´editeur utilis ´e ;
I Elle rend le programme plus lisible.
– La coloration syntaxique –
if __name__ == '__main__':
date = input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance = int(date.split("/")[0]) mois_naissance = int(date.split("/")[1]) annee_naissance = int(date.split("/")[2]) age = 2019 - annee_naissance
if mois_naissance > 10:
age = age - 1
if mois_naissance == 10 and jour_naissance > 21:
age = age - 1
print("Vous avez", age, "ans")
I Certains mots sont en couleurs : c’est lacoloration syntaxique;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas colori ´ees ;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas colori ´ees ;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas colori ´ees ;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?" ...
I Nos variables ne sont pas colori ´ees ;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?"
...
I Nos variables ne sont pas colori ´ees ;
– La coloration syntaxique –
I La couleur d’un mot indique sa cat ´egorie ; ici, on a entre autres :
I des fonctions int ´egr ´ees de Python envert: input= entr ´ee ,int= entier
I des mots-cl ´es de Python envert gras: if= si ,print= imprimer (afficher)
I des op ´erateurs enmauve gras: and= et
I des chaˆınes de caract `eres enrouge:
"Quelle est votre date de naissance?"
..
– L’indentation –
if__name__=='__main__':
date=input(
"Bonjour! Quelle est votre date "
"de naissance (jj/mm/aaaa)? "
)
jour_naissance=int(date.split("/")[0]) mois_naissance=int(date.split("/")[1]) annee_naissance=int(date.split("/")[2]) age= 2019 -annee_naissance
ifmois_naissance> 10:
age=age- 1
ifmois_naissance== 10andjour_naissance> 21:
age=age- 1
print("Vous avez", age,"ans")
ILes lignesne commencent pas toutes au m ˆeme endroit.
ICe n’est pas un d ´etail ! ILe positionnement (on dit l’indentation) des lignes est important pour leur signification.
Modifier l’indentation modifie le comportement du programme — et peut m ˆeme l’emp ˆecher de fonc- tionner.
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code
1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code
1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code
1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code
1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code 1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code 1. qui fonctionne ;
2. qui est facile `a comprendre ;
3. qui est facile `a modifier ;
– La structure –
I Les programmes Python doivent ˆetrestructur ´es(cf.
modele.pysur la page du cours) ;
I On y reviendra ; pour l’instant, retenez qu’il faut commencer parif name == ’ main ’:
I Lescommentaires(# ...) expliquent le code ;
I Notre but : ´ecrire du code 1. qui fonctionne ;
2. qui est facile `a comprendre ; 3. qui est facile `a modifier ;
– La partie “__main__” –
N’utilisez jamais le mod `ele 0 (on expliquera pourquoi plus tard) : Mod `ele 0 (mauvais)
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 1 (mieux)
if __name__ == "__main__":
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 2 (encore mieux) def main():
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
if __name__ == "__main__": main()
– La partie “__main__” –
N’utilisez jamais le mod `ele 0 (on expliquera pourquoi plus tard) : Mod `ele 0 (mauvais)
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 1 (mieux)
if __name__ == "__main__":
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 2 (encore mieux) def main():
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
if __name__ == "__main__": main()
– La partie “__main__” –
N’utilisez jamais le mod `ele 0 (on expliquera pourquoi plus tard) : Mod `ele 0 (mauvais)
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 1 (mieux)
if __name__ == "__main__":
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
Mod `ele 2 (encore mieux) def main():
prenom = input("Quel est votre pr´enom? ") print("Bonjour, ", prenom, "!")
if __name__ == "__main__":
main()
– Ex ´ecuter du code Python –
I Deux options :
1. utiliser l’interpr ´eteur :
tapezpython3dans le terminal ;
2. ex ´ecuter un programme nomm ´efichier.py: tapezpython3 fichier.pydans le terminal ;
– Erreurs en Python –
I Python signale les erreurs quand on ex ´ecute du code ;
I Quand une erreur se produit :
I dans l’interpr ´eteur : on peut continuer `a ex ´ecuter du code ;
I dans un programme en cours : il s’arr ˆete et il faut le relancer ;
I Les messages sont tr `es explicites (TypeError,
IndexError, ...) ; il est important de les comprendre pour corriger son code ;
Python pas `a pas
Variables, types et op ´erations
– Types de valeurs –
I Lesvaleurs de baseposs `edent untype;
I Letyped ´etermine entre autres ce qui se passe quand on fait uneop ´erationsur des valeurs ;
Les principauxtypes(on en verra d’autres) sont :
Type En Python Exemples
entier(∈Z) int 12, -4, 123545, . . .
r ´eel(∈R) float 3.14159, -1.5, 12., 4.56e12, . . .
bool ´een bool True(vrai) ouFalse(faux)
ind ´efini, rien None None
chaˆıne de caract `eres str 'bonjour',"SHNU", . . .
Les majuscules/minuscules sont impor- tantes :
True6=true
– Types de valeurs –
I Lesvaleurs de baseposs `edent untype;
I Letyped ´etermine entre autres ce qui se passe quand on fait uneop ´erationsur des valeurs ;
Les principauxtypes(on en verra d’autres) sont :
Type En Python Exemples
entier(∈Z) int 12, -4, 123545, . . .
r ´eel(∈R) float 3.14159, -1.5, 12., 4.56e12, . . .
bool ´een bool True(vrai) ouFalse(faux)
ind ´efini, rien None None
chaˆıne de caract `eres str 'bonjour',"SHNU", . . .
Les majuscules/minuscules sont impor-
– Op ´erations sur les nombres –
I Les op ´erations math ´ematiques que vous connaissez existent en Python ;
I Le type du r ´esultat d ´epend du type des donn ´ees de d ´epart :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat;
I On a aussi :
math python exemple
x mod y x % y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
– Op ´erations sur les nombres –
I Les op ´erations math ´ematiques que vous connaissez existent en Python ;
I Le type du r ´esultat d ´epend du type des donn ´ees de d ´epart :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat;
I On a aussi :
math python exemple
x mod y x % y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
– Op ´erations sur les nombres –
I Les op ´erations math ´ematiques que vous connaissez existent en Python ;
I Le type du r ´esultat d ´epend du type des donn ´ees de d ´epart :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat;
I On a aussi :
math python exemple
x mod y x % y 19 % 4→3 xy x ** y 3 ** 3→27 bx/yc x // y 19 // 4→4
– Op ´erations sur les nombres –
I Les op ´erations math ´ematiques que vous connaissez existent en Python ;
I Le type du r ´esultat d ´epend du type des donn ´ees de d ´epart :
+,−,∗ int float int int float float float float
I Attention : la division (/) donne toujours unfloat;
I On a aussi :
math python exemple
x mod y x % y 19 % 4→3
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens:
and(∧) False True False False False
True False True
or(∨) False True False False True True True True not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens :
math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens: and(∧) False True
False False False True False True
or(∨) False True False False True True True True not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens :
math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens: and(∧) False True
False False False True False True
or(∨) False True False False True True True True
not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens :
math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens: and(∧) False True
False False False True False True
or(∨) False True False False True True True True not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens :
math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens: and(∧) False True
False False False True False True
or(∨) False True False False True True True True not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens :
math python
a=b? a == b a≤b? a <= b a≥b? a >= b
math python a6=b? a != b a<b? a < b a>b? a > b
– Op ´erations sur les bool ´eens –
I On a lesop ´erations logiques sur les bool ´eens: and(∧) False True
False False False True False True
or(∨) False True False False True True True True not(¬)
False True True False
I Utilisation :a and b,a or b,not c, ...
I Lescomparaisonsproduisent des bool ´eens : math python
a=b? a == b
math python a6=b? a != b
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
I Et aussi plein de fonctions math ´ematiques (cos,log, . . . ) ;
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
I Et aussi plein de fonctions math ´ematiques (cos,log, . . . ) ;
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
I Et aussi plein de fonctions math ´ematiques (cos,log, . . . ) ;
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
I Et aussi plein de fonctions math ´ematiques (cos,log, . . . ) ;
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
I Et aussi plein de fonctions math ´ematiques (cos,log, . . . ) ;
– Op ´erations sur les chaˆınes de caract `eres –
I Seuls+et*marchent sur les chaˆınes ;
I +r ´ealise laconcat ´enationde deux chaˆınes : 'SH' + 'NU'→'SHNU'
I *concat `enenexemplaires de la chaˆıne : 'SHNU' * 3→'SHNUSHNUSHNU'
I Les comparaisons (<,<=, ...) fonctionnent et se basent sur l’ordre alphab ´etique ('a...' < 'b...' < 'c...' < ...) : 'SH' < 'NU'→False
I Il existe beaucoup d’autresop ´erations sur les chaˆınes;
– Variables –
I Unevariableest unnomqui r ´ef ´erence une valeur en m ´emoire ;
I On peut s’en servir dans les calculs ;
I Elle a lem ˆeme typeque la valeur qu’elle r ´ef ´erence ;
– Affectation –
I L’affectationd’une variable lie unnom `a unevaleur;
I La syntaxe :nom= expression, o `uexpressionest unevaleur ou uncalculqui produit une valeur ;
– Variables –
I Unevariableest unnomqui r ´ef ´erence une valeur en m ´emoire ;
I On peut s’en servir dans les calculs ;
I Elle a lem ˆeme typeque la valeur qu’elle r ´ef ´erence ; – Affectation –
I L’affectationd’une variable lie unnom `a unevaleur;
I La syntaxe :nom= expression, o `uexpressionest unevaleur ou uncalculqui produit une valeur ;
– Variables –
I Unevariableest unnomqui r ´ef ´erence une valeur en m ´emoire ;
I On peut s’en servir dans les calculs ;
I Elle a lem ˆeme typeque la valeur qu’elle r ´ef ´erence ; – Affectation –
I L’affectationd’une variable lie unnom `a unevaleur;
I La syntaxe :nom= expression, o `uexpressionest unevaleur ou uncalculqui produit une valeur ;