PyGre.io
Internet of Things
Comment les machines "pensent" elles ?
Images
Couleur = RGB (Red, Green, Blue)
Texte
72 101 108 108 111 44 32 87 111 114 108 100 32 33
H e l l o , W o r l d !
ASCII: Conversion caractère <=> nombre
Unicode: gestion des caractères spéciaux,
accents, pictogrammes, emojis...
0010101101001001001100110010011001010010010010011101100
Comment les machines voient les nombres
Décimal (base 10)
394
2 | 1 | 0 | Index |
3 | 9 | 4 | Valeur |
Chaque valeur est comprise entre 0 et B-1 (9)
Base 12: L'heure
Base 26: L'alphabet
Chaque valeur vaut soit 0, soit 1.
Raisons électroniques
Logique booléenne = grammaire
Binaire (base 2)
Puissances de 2
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 ...
5 | 4 | 3 | 2 | 1 | 0 | Index |
32 | 16 | 8 | 4 | 2 | 1 | 2^i |
1 | 0 | 1 | 0 | 1 | 0 | Valeur |
number = int(input("Enter a number:"))
print(bin(number))
Décomposition Binaire
def sayHello(name):
print("Hello, " + name + " !")
sayHello("World")
011010011101001000101001011010
101101110100110111011100110110
101110111011110110101100111011
011010011101001000101001011010
101101110100110111011100110110
101110111011110110101100111011
011010011101001000101001011010
011010011101001000101001011010
Code Source
Exécutable
Python, C/C++, Ruby, JavaScript, ...
PC, Mac, iOS, Android
...
foo = 12
bar = 42
result = foo + bar # result = 54
foo = 1234
bar = 0.25
result = foo * bar # result = 308.5
result = foo - spam
Donner un nom à une chose
Réutilisation (DRY)
Recyclable
Doivent être déclarées
NameError: name 'spam' is not defined
Nombres Entiers (1, 2, 42, 394, ...)
Nombres Réels (1.2345, π, ...)
Booléens (True, False)
int
float
bool
Texte ("Hello, World !")
str
foo = 42
foo = 12.34
foo = True
foo = "Hi!"
Texte = séquence de caractères
numberToFind = 42
guess = int(input("Enter a number:"))
if guess == numberToFind:
print("Bingo !")
elif guess > numberToFind:
print("Too high, try again.")
else:
print("Too low, try again.")
numberToFind = 42
guess = int(input("Enter a number:"))
while guess != numberToFind:
if guess > numberToFind:
guess = int(input("Too high, try again:"))
elif guess < numberToFind:
guess = int(input("Too low, try again:"))
print("Bingo!")
number = int(input("Enter a number between 0 and 999:"))
v2 = int(number / 100)
v1 = int((number - v2 * 100) / 10)
v0 = int(number - v2 * 100 - v1 * 10)
print(v2, v1, v0)
Décomposition Décimale
1801 - Lyon (La Soie)
Invente le métier à tisser programmable
Utilisation de cartes à trous
pour les motifs
XIXe Siècle - Angleterre
Mathématicien & Mécanicien
Inventeur de "l'ordinateur" programmable
XIXe Siècle - Angleterre
Mathématicienne
Pionnière des maths de la
programmation
Première développeuse
Le langage Ada porte son nom
XIXe Siècle - Angleterre
Mathématicien
Logique Booléenne
XXe Siècle - Angleterre
Mathématicien & analyste
Invente la Machine de Turing,
ancêtre de nos ordinateurs
Test de Turing (IA)
CF: The Imitation Game (2014)
1947 - US Army
Invente le premier compilateur
Machine-independent program
Découvre le premier "bug"
Tim Berners-Lee
Bill Gates
Steve Jobs
Richard Stallman
Linus Torvalds
Bjarne Stroustrup
Guido van Rossum
Invente Internet
Crée Microsoft Windows
Crée Apple
Fonde GNU & compilateur C
Crée Linux
Crée le langage C++
Crée langage Python