ALGORITHMIQUE ET PYTHON Page 1 Activité 1. Voici un programme mystère écrit en langage Python. Quelques informations : Info. 1 45 = 7×6 + 3 En python : • 45//7 donne 6 (le quotient dans la division euclidienne de 45 par 7) • 45%7 donne 3 (le reste dans la division euclidienne de 45 par 7) Info.2 En python : • != signifie ≠ 1. 2. 3. a) Faire tourner « à la main » ce programme avec a= 57 et b=45. Indiquer le résultat affiché. Que fait ce programme mystère ? A vos ordinateurs ! Ouvrir l’éditeur de Python présent sur le bureau. b) Dans la fenêtre qui apparaît (voir ci-dessous) faire File puis New Windows c) Recopier dans cette fenêtre le programme précédent. d) Immédiatement avec : File puis Save, nommer de façon appropriée (nom.py) puis enregistrer ce programme. e) En exécutant ce programme grâce à la touche Run, compléter le tableau suivant : a b résultat 57 45 45 57 26565 806 0 49 1905750 21450 Page 2 Boucles et tests en langage Python. I. Les boucles Un entier n étant demandé à l'utilisateur, le programme suivant calcule la somme des entiers de 1 à n. print(" Entrer un entier n strictement positif ") n=input() n=int(n) S=0 for i in range(1,n+1): S= S+i print ( " La somme des ",n," premiers entiers naturels non nuls est :",S) >>> =================== RESTART =================== >>> Entrer un entier n strictement positif 10 La somme des 10 premiers entiers naturels non nuls est : 55 >>> Infos. Instructions for et while pour exécuter des boucles en Python. Tester ces différentes instructions : 1. for i in range (1,12): print( i ) 2. for i in range(0,12,2): print(i) 3. for i in range(-7,15,3): print(i) 4. i=0 while i <=10: print(i) i+=1 Exercice: Un entier n strictement positif étant demandé à l'utilisateur, écrire un programme qui calcule la somme des carrés des entiers de 1 à n. a) En utilisant l'instruction for. b) En utilisant l'instruction while. A partir de maintenant, on utilisera : - une boucle while si le nombre d'itérations n'est pas connu à l'avance ; - une boucle for si le nombre d'itérations est connu à l'avance. II. Tests ( Structures conditionnelles ). Problème : On se propose d'écrire un programme permettant de déterminer si une année saisie par l'utilisateur est bissextile ou non. Une année est dite bissextile si c'est un multiple de 4, sauf si c'est un multiple de 100. Toutefois, elle est considérée comme bissextile si c'est un multiple de 400. Algorithme Si une année n'est pas multiple de 4, on s'arrête là, elle n'est pas bissextile. Si elle est multiple de 4, on regarde si elle est multiple de 100 Si c'est le cas, on regarde si elle est multiple de 400. Si c'est le cas, l'année est bissextile. Sinon, elle n'est pas bissextile. Sinon, elle est bissextile. Page 3 Exemple d'utilisations d'instructions conditionnelles. Infos. print(" Entrer un réel a") a=input() a=float(a) if a>0: print( a, " est strictement positif ") elif a<0: print( a, " est strictement négatif") else: print(a, " est nul") L'instruction if : Le mot clé if signifie « si » en anglais ; >>> ======== RESTART ================= >>> Entrer un réel a 2.3 2.3 est strictement positif >>> Un cas d'erreur >>> ========= RESTART =============== >>> Entrer un réel a 2,3 Traceback (most recent call last): File "C:/Python32/test", line 3, in <module> a=float(a) ValueError: could not convert string to float: '2,3' elif et else permettent ( si nécessaire) de définir des compléments à une instruction if. L'instruction elif: Le mot clé elif est une contraction de « else if », que l'on peut traduire très littéralement par « sinon si ». L'instruction else: Le mot-clé else, signifie « sinon » en anglais. Chacun de ces mots clés est suivi d'une condition ( voir liste des opérateurs autorisés) et du signe deux points, « : », qui termine la condition et est indispensable. Python affichera une erreur de syntaxe si vous l'omettez. Exercice : 1. Ecrire en langage Python le programme permettant de répondre au problème. 2. Compléter par oui ou non le tableau suivant : Année 2 012 1 995 1 000 2 000 2 013 2 014 2 015 2 016 Bissextile ? Page 4