Les bases de la programmation

Un programme est une suite d'instructions qui permettent de faire réaliser à un ordinateur une tâche plus ou moins complexe.
Chaque instruction traduit une partie de l'algorithme utilisé pour "faire tourner" le programme.

Ces instructions se succèdent les unes après les autres dans le temps, ce qui constitue le flux d’exécution du programme.
Chaque instruction correspond à une action élémentaire que l'on souhaite faire réaliser à l'ordinateur.

Langages de programmation

Les ordinateurs ne comprennent qu'un seul langage, le langage machine ( constitué uniquement de 0 et de 1...), très peu compréhensible pour les humains...

Dodo chez les robots...

Pourquoi 0 et 1  ?

Le fonctionnement d'un ordinateur est basé sur des dispositifs électroniques appelés transistors, qui sont analogues à des interrupteurs commandés, pouvant être soit ouverts ( le courant ne passe pas ), soit fermés ( le courant passe ), sans position intermédiaire  ; le premier état correspond à un «  0  » et le second à «  1  ».
L'enchaînement très rapide d'ouvertures et de fermetures de ces «  interrupteurs  » traduit le traitement de l'information fait au sein d'un ordinateur...

Eniac

Le problème est donc qu'un ordinateur ne comprend que des « mots » formés avec ces deux lettres ; dans les premiers temps de l'informatique, on programmait d'ailleurs les ordinateurs en basculant une multitude d'interrupteurs en position « 1 » ou « 0 », ce qui nécessitait un temps très long et un risque d'erreur très élevé.

Langages de haut niveau

Pour s'affranchir de ces problèmes, on a développé ensuite des langages de programmation qui permettent de programmer dans un langage beaucoup plus compréhensible par l'homme.

Les programmes s'écrivent donc maintenant dans des langages de plus haut niveau, c'est à dire de plus en plus éloigné du langage machine, mais en même temps de plus en plus près du langage naturel.
Cependant, le code-source écrit en langage de haut niveau devra être traduit en langage machine pour pouvoir être exécuté par l'ordinateur ; les langages qui existent se distinguent notamment par la manière dont on écrit le code ( la syntaxe du langage ) et celle utilisée pour le transcrire en langage machine.

Le langage Python

Le langage qui servira de base à cet apprentissage est Python ( version 3 )..
Il est d'un abord plus facile que d'autres langages ( comme Java ou C++ ) mais permet toutefois de réaliser des applications complexes, avec graphiques éventuellement.
Les notions acquises à l'aide de Python se réutilisent de toute manière dans tous les langages...

Logo Python

Python est un langage interprété. Les instructions peuvent être :

Pour son installation et plus d'information, voir le site Python.

Outil utilisé pour la programmation Python

De nombreux logiciels existent pour le développement Python; un des plus accessibles, car généralement installé en même temps que Python lui-même, est le logiciel Idle.

Prise en main d'IDLE

On le lance à partir de l'Explorateur de fichiers : Applis(V:)> Idle

Par défaut, il se lance en mode interpréteur ( "Python shell" ) :

Interpréteur Python

Vous pouvez déjà commencer à utiliser l’interpréteur en vous en servant, par exemple, comme d'une calculatrice.
Tapez quelques opérations, et Python en affiche immédiatement le résultat.

	>>> 7+3
	10
	>>> 10*33
	330
	>>> 7/3
	2.3333333333333335

				

Un premier programme...

Mais il est plus intéressant d'écrire un premier "script".
Pour écrire et éditer un script, faire : File > New Window; l'éditeur s'ouvre alors :

Editeur Python

Entrer les lignes de code suivantes dans l'éditeur.
Bien respecter le retrait, appelé indentation au début des quatrième et cinquième ligne ( il s'agit d'une tabulation ) :

	from tkinter import *
 	def repondre():
 	# BIEN RESPECTER L'INDENTATION
		nom = reponse.get()								
		affichage['text'] = 'Salut '+nom+'\n Bienvenue en ISN !!'     
 				
	Fenetre = Tk()
	Fenetre.title('Mon premier programme...')
 	nom = Label(Fenetre, text = 'Votre nom :')
	reponse = Entry(Fenetre)
	valeur = Button(Fenetre, text ='Valider', command=repondre)
	affichage = Label(Fenetre, width=30)
	nom.pack()
	reponse.pack()
	valeur.pack()
	affichage.pack()
 	Fenetre.mainloop()
				

Pensez à enregistrer le script (File > Save) .
Pour lancer l’exécution du programme, faire Run > Run Module
Remarque : l'entrée de menu Run > Check Module ne lance qu'une vérification des erreurs d'écriture du programme, mais pas son exécution proprement dite.

Quelques remarques générales sur l'écriture d'un script Python :

  • Vous remarquerez que IDLE fournit une coloration syntaxique du code, c'est à dire qu'il colore d'une couleur particulière certains éléments de code ( par exemple, ce qui se rapporte à des textes apparaît en vert )
  • tout ce qui est écrit après un signe dièse ("#") est un commentaire et ne sera pas exécuté par Python.
    C'est une EXCELLENTE habitude de BEAUCOUP commenter son code-source...Cela permettra à vous ou une autre personne qui relit votre code de comprendre ce que vous vouliez faire ( vous aurez de toute manière tout oublié au bout de 2 semaines, et un code « brut » n'est jamais très parlant !! )
  • il est IMPÉRATIF dans le cas du langage Python de respecter les retraits de ligne que l'on appelle "indentation" : toute la logique du langage est basée là-dessus.
    Cette indentation, de une, deux,... tabulation(s) ( une tabulation équivaut par défaut à 4 espaces, mais ceci est réglable dans les paramètres de Idle ), permet ainsi de délimiter les instructions qui appartiennent à un même bloc logique d'instructions ( dans l'exemple ci-dessus, ce sont les deux lignes en retrait qui appartiennent à un bloc appelé "fonction" ).

La suite de ce cours présente les éléments "de base" qu'un langage de programmation doit proposer pour être pleinement opérationnel.
Ces éléments constituent le noyau impératif de ce langage, qui comprend les notions de :

  1. Variables
  2. Conditions
  3. Boucles

Chacune des pages suivantes présente une de ces notions. Chaque cours peut être suivi selon trois niveaux différents : débutant, intermédiaire ou avancé.

Sur chaque page on trouvera :

Des éléments du langage qui permettent de résoudre les exercices ou de faire les applications sont présentés dans des paragraphes tel celui-ci.
Ces éléments complètent la connaissance du langage Python.

Des aides, et les solutions des exercices et des applications, sont fournies par un survol ou un clic à la souris des mots ou caractères en blanc sur fond rouge :

SOLUTION
Solution, ou élément d'aide