Ceci est une ancienne révision du document !
Durant votre scolarité au collège, vous avez appris la programmation en bloc de type SCRATCH (Scratch, mBlock, Blockly …). Vous savez qu'une fois que vous avez trouvé et écrit l'algorithme ou l'algorigramme, il faut le traduire en programme pour pouvoir le faire exécuter dans la machine/système. Vous savez aussi que Scratch, langage d'apprentissage, n'est pas le seul langage existant et qu'au lycée vous apprendrez le langage textuel Python.
Compétences :
J’ai acquis la compétence si :
Développé à des fins pédagogique, SCRATCH est inutilisable en dehors d'un cadre scolaire.
Dans ce cours, nous allons voir ce qu'est un langage de programmation textuel adapté aux débutants et toute la rigueur nécessaire à sa mise en œuvre.
Python et un langage de programmation structuré généraliste. Il s'utilise dans de très nombreux domaines et possède de nombreuses bibliothèques permettant d'en étendre les possibilités. C'est un langage populaire facile à exploiter. Il en est à la version 3.4.
Utilisé dans l'enseignement comme successeur du PASCAL qui est un langage compilé, il s'en rapproche sans en avoir la rigueur structurelle et en étant un langage interprété.
Pour faciliter l'écriture d'un programme et tester facilement son code, il existe des IDE (Environnement de travail intégré). Un des plus simple à utiliser est EduPython, développé pour l'éducation et qui peut fonctionner à partir d'une clé USB.
Il existe aussi des IDE en ligne tel MyCompiler qui permet aussi d'utiliser d'autres langages.
Les IDE colorent généralement les éléments du langage en fonction de leur type : variable, instruction, paramètre, opérateur, commentaire …
Un commentaire, texte non interprété par l'IDE débute au symbole '#' et se termine à la fin de la ligne.
Comme en SCRATCH, les variables sont des espaces mémoires contenant une information et qui sont identifiés par un nom. Une variable peut être un nombre entier (int()), décimal (float()), une chaîne de caractères (string()) ou une valeur vrai/faux (bool()).
Les opérateurs arithmétiques ( + - * / //) sont utilisés pour les opérations numériques (// = le reste de la division entière).
l'opérateur ( + ) permet aussi la concaténation de chaîne de caractères.
Les opérateurs logiques sont ( < > <= >= == != ) : plus petit, plus grand, plus petit ou égal, plus grand ou égal, égal et différent.
Les opérateurs booléens True (vrai), False (faux), and (vrai si les 2 opérateurs sont vrais), or (vrai si 1 des opérateurs est vrai) et not (inverse True et False.
Python utilise :
Les structures de contrôle (conditions, boucles) permettent d'organiser les séquences d'instructions qui composent le programme.
Remarquer que, comme pour les algorithmes, l'indentation (le décalage) est utilisé pour définir le bloc d'instructions concerné par la structure. L'instruction concernée est terminé par le symbole ':'.
Contrairement à SCRATCH, une boucle fermée ne démarre pas obligatoirement à 0.
ALGORITHME
Demander un nombre et le mettre dans la variable X
Mettre la variable f à 1
Pour la variable n allant de 1 à x
Mettre la variable f à f*n
Afficher "Factorielle de ", valeur variable x, " vaut ", valeur variable f
PYTHON
#Factorielle x = int(input("Entrer un nombre"")) f = 1 for n in range (1, x+1) : f = f * n print ("Factorielle ", x, " = ", f)
L'instruction “input” permet d'afficher un message afin de permettre la saisie d'une valeur de type chaîne de caractère (string). Pour la convertir en nombre entier il faut utiliser l'instruction int() et float() pour convertir en nombre à virgule.
L'expression “in range” détermine la borne de début et la borne à ne pas atteindre (1, x+1 ⇒ n s'arrête donc à x). La borne de début peut être omise et vaut 0 par défaut.
L'expression “in variable chaîne” parcours 1 à 1 tous les caractères de la chaîne fournie.
Le boucle s'arrête lorsque la condition devient fausse.
ALGORITHME
Demander un nombre et le mettre dans la variable X
Mettre la variable l à 0
Mettre la variable n à x
Tant que n >= 0
l = l + 1
n = (n - (n modulo 10)) / 10
Afficher valeur variable x, " contient ", valeur variable f, " chiffres"
PYTHON
x = int(input("Entrer un nombre"")) l = 0 while n >= 0 : n = n//10 l = l+1 print (x, " contient ", l, " chiffres")
Les structures de contrôles sont :
Les instructions contenues dans la structure sont indentées après le ':' jusqu'au retour à la ligne.