Apparition du langage assembleur, langage très bas niveau, proche de la machine mais lisible par un humain
1951
Premier compilateur par Grace Hopper pour l'UNIVAC-1
1964
Création du langage BASIC (Beignner's All-prupose Symbolic Instruction Code)
1972
Création du langage C de bas niveau pour develloper UNIX qui devient portable (la programmation ne dépend plus de la machine)
1991
Création du langage Python par Guido Van Rossum
Programmer un ordinateur, c'est quoi ?
Programmer, c'est créer des programmes (suite d'instructions données à l'ordinateur) ! Un ordinateur sans programme ne sait rien faire.
Il existe différents langages qui permettent de programmer un ordinateur, mais le seul directement utilisable par le processeur est le langage machine (suite de 1 et de 0).
Les informaticiens utilisent des instructions (mots très souvent en anglais) en lieu et place de la suite de 0 et de 1. Ces instructions, une fois écrites par le programmeur, sont « traduites » en langage machine. Un programme spécialisé assure cette traduction. Ce système de traduction s'appellera interpréteur ou bien compilateur, suivant la méthode utilisée pour effectuer la traduction.
La programmation
Il existe 2 grandes familles de langages de programmation :
Les langages de bas niveau sont très complexes à utiliser, car très éloignés du langage naturel, on dit que ce sont des langages « proches de la machine », en contrepartie ils permettent de faire des programmes très rapides à l'exécution. L'assembleur est le langage de bas niveau.
Certains "morceaux" de programmes sont écrits en assembleur encore aujourd'hui.
Les langages de haut niveau sont eux plus "faciles" à utiliser, car plus proches du langage naturel (exemple : si a=3 alors b=c).
Exemples de langages de haut niveau : C, C++ , Java, Python...
En NSI, notre langage de prédilection sera Python.
Pour écrire nos programmes, nous utiliserons le logiciel Thonny.
Prise en main de Thonny
Une fois Thonny lancé, vous devriez obtenir quelque chose qui ressemble à cela :
Thonny se divise en plusieurs fenêtres, deux fenêtres vont principalement nous intéresser : la fenêtre "éditeur" et la fenêtre "console/shell".
Pour découvrir et tester, saisissez le programme suivant dans la fenêtre "éditeur" :
print("hello world !")
Cliquez sur le "triangle vert" afin d'exécuter le programme qui vient d'être saisi.
Thonny va vous demander d'enregistrer le programme,
enregistrez-le dans un dossier qui vous servira de dossier de travail
Pour aborder sereinement, le reste de l'année en NSI, vous allez devoir vérifier vos connaissances en python avec les notions suivantes :
Un langage de programmation est un ensemble de règles et de notations qui permettent d'écrire des algorithmes exécutables par un ordinateur.
Une instruction est un ordre simple que l'ordinateur peut exécuter. En Python, les instructions sont groupées par leur indentation .
Un programme est une suite d'instruction dans un langage donné.
Une fonction est un ensemble d'instruction identifiées par un nom, avec éventuellement des arguments en entrée et des return en sortie.
Constructions élémentaires en Python
####Affectation
#Une affectation est une instruction qui permet de donner une valeur à une variable
a = 2 # affectation
b = 5
####Opérateurs
c = a * b
c = a + b
c = a // b # Quotient de la division euclidienne de a par b
c = a % b # Reste de la division euclidienne de a par b
c = a ** b # élévation de a à la puissance b
####Affichage print()
print(c) # affichage de la valeur de la variable
print("c") # affichage de chaîne de caractère
#### saisie/récupération d'une donnée input()
note = input("la note du bac ? ")
note = int(not)
print(note)
#### Les types
# entier : int
# réel : float
# texte : str
#### Les tests
c = a == b # affecte à c le résultat du test si a est égal à b
c = a != b # affecte à c le résultat du test si a est différent de b
c = a > b # affecte à c le résultat du test si a est supérieur b
c = a >= b # affecte à c le résultat du test si a est supérieur ou égal b
c = a > b or a < b # affecte à c le résultat des tests (toujours True)
c = a > b and a < b # affecte à c le résultat des tests (toujours False)
#### Instruction conditionnelle
### si condition alors instruction
### if elif else
if note > 18:
print("Félicitation pour ton bac")
elif taille < 10:
print("Recommence")
else:
print("Tu peux mieux faire !")
#### Boucle bornée
### Une boucle bornée permet d'exécuter un bloc d’instructions un nombre de fois défini ### à l'avance.
for i in range (0,5):
print(i,"Il faut travailler ")
#### Boucle non bornée
### Une boucle non bornée permet d'exécuter un bloc d’instructions
### tant qu'une instruction est vraie
### tant que condition: alors instruction
### while condition : fait ceci
note = 0
while note < 18:
note = int(input("la note du bac ? "))
print("tu peux mieux faire",note)
print("Félicitations pour ton bac")