Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Formation python 3

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 73 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Formation python 3 (20)

Publicité

Plus récents (20)

Formation python 3

  1. 1. Se7en - Creative Powerpoint Template 1 REPUBLIQUE TUNISIENNE MINISTERE DE L’EDUCATION PYTHON Module d’appentissage du language python Année scolaire: 2021-2022
  2. 2. Se7en - Creative Powerpoint Template 2 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  3. 3. Se7en - Creative Powerpoint Template 3 I. INTRODUCTION 1. C’est quoi Python? PYTHON Python est un langage de programmation inventé par Guido van Rossum en 1989. Python est un langage de programmation de haut niveau. Il est proche des langues naturelles, ce qui facilite l’écriture des programmes, en plus le programme peut faire fonctionner sans aucune modification, sur des machines ou des systèmes différents. Python est un excellent langage pour les débutants car il est facile à apprendre. Site officiel : http://www.python.org
  4. 4. Se7en - Creative Powerpoint Template 4 2. Qui utilise Python? FACEBOOK GOOGLE YAHOO NASA PANDA 3D BATTLEFIELD I. INTRODUCTION
  5. 5. Se7en - Creative Powerpoint Template 5 3. Un peu d’historique 1989 1994 2000 2008 2014 2018 Création du Python par Guido van Rossum Publication de la version 1.0 Publication de la version 2.0 Publication de la version 3.0 Publication de la version 3.4 Publication de la version 3.7 I. INTRODUCTION
  6. 6. Se7en - Creative Powerpoint Template 6 4. Pourquoi préférer Python aux autres langages? POURQUOI PYTHON? PYTHON EST GRATUIT Téléchargement et installation de python est gratuit et facile Le code source est accessible PYTHON EST FACILE A APPRENDRE La Structure et la syntaxe sont assez intuitive et facile à saisir Indentation du code: Pas de begin et end explicites, ni d’accolades pour les blocks d’instructions. Très documenté PYTHON EST INTERPRETE Test du quelque lignes du code sans besoin d’écrire un programme complet PYTHON EST PORTABLE Python est portable et multiplateforme PYTHON EST PUISSANT Typage dynamique Gestion automatique de la mémoire(ramasse-miettes) Optionnellement multithreading est Orienté Objet Python est riche en terme de bibliothèques(NumPy, SciPy …) PYTHON EST JOKER Python est utilisé pour l’administration système(Scripting) ,les applications bureau, le web, la robotique, jeux vidéo … I. INTRODUCTION
  7. 7. Se7en - Creative Powerpoint Template I. INTRODUCTION 7 5. Installation de Python SOUS WINDOWS: • Visitez : https://www.python.org/downloads/ • Choisir la version qui vous convient • Télécharger le fichier d’installation ( .MSI) • Installez et commencez à coder ! SOUS UNIX: Python est pré-installé sur la plupart des systèmes Unix, y compris Linux et MAC OS X.
  8. 8. Se7en - Creative Powerpoint Template 8 6. IDLE: Editeur pour Python I. INTRODUCTION IDLE (Intergreted DeveLopement Environement) L’environnement de développement intégré IDLE est un logiciel spécialement conçu pour faciliter la programmation en Python. IDLE offre un certain nombre de fonctionnalités pour vous aider à développer vos programmes Python: • Le Shell Python (Interpréteur interactive). • L’éditeur de texte avec coloration syntaxique, l’autocomplétion et l’indentation. • Le débogueur intégré avec avancement par étape. IDLE est l’éditeur standard fourni avec la distribution de Python.
  9. 9. Se7en - Creative Powerpoint Template 9 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  10. 10. Se7en - Creative Powerpoint Template 10 I. Les structures simples CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Opération d’entrée Nom_variable = input (”texte”) # Le message s’affiche avant de saisir le contenu de la variable 2. Opération de sortie Syntaxe (Python) print (”texte”) # affichage d’un texte print (variable) # affiche du contenu d’une variable print (”texte1”, var1, ...) # affichage mixte print (expression) # affichage du résultat de l’expression Syntaxe (Python) 3. Opération d’affectation Syntaxe (Python) Nom_variable = Expression Ecrire un programme qui permet de : - Lire deux entiers a et b. - Calculer la somme de ces deux entiers et affecter le résultat dans une variable s. -Afficher la somme. Activité n°1
  11. 11. Se7en - Creative Powerpoint Template 11 II. Les variables CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Déclaration Nom_variable = Valeur_variable Syntaxe (Python) Remarque Python est sensible à la casse, ce qui signifie que les variables age,Age etAGE sont différentes. La Fonction type(nom_variable) nous permet de déterminer le type d’une variable sur Python. Déclarer la variable age=17, puis faire appel à l’aide du nom age,Age etAGE. Déterminer le type de la variable age. Activité n°1
  12. 12. Se7en - Creative Powerpoint Template 12 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 1. Le type int Une variable de type int est un nombre sans virgule. Exemple: n = 20 2. Le type float Les opérations arithmétiques et de comparaison sur les types numériques (int, float) Une variable de type float est un nombre à virgule. Exemple: moyenne = 15.75 moyenne = 15,75 Opérateur Syntaxe Python Exemple Addition + 2 + 2 donne 4 Soustraction - 2.4–6.0 donne –3.6 Multiplication * 3*2 donne 6 Division / 5/2.5 donne 2.0 Puissance ** 3**3 donne 27 Division entière // 10.0//3.0 donne 3.0 Reste de la division entière % 5%2 donne 1 Syntaxe Python Signification Exemple < Strictement inférieur à 2 < 3 donne True <= Inférieur ou égal à 2.75 <= 2 donne False > Strictement supérieur à 3 > 2 donne True >= Supérieur ou égal à 2.5 >= 2 donne True == Égal à 2.5 == 2.5 donne True != Différent de 2 != 2 donne False Activité n°2 En utilisant Python IDLE, Evaluer les expressions suivantes: 15 / 2 + 13.5 // 5 <= 8 2 ** 2 * 5 % 3.5 7 + 3 // 2 != 8 % 2
  13. 13. Se7en - Creative Powerpoint Template 13 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 3. Le type bool bool est un type de variable à deux états: True ou False Exemple: p = True Les opérateurs logiques Activité n°3 Evaluer les expressions logiques suivantes: not(2 < 1) True and (5 != 6) (2 < 1) or (7 == 7) Python définit 3 opérateurs logiques: not (NON logique): inverse une valeur. and (ET logique): impose les deux expressions à True. or (OU logique): nécessite une seule expression à True. p q not(p) p and q p or q False False True False False False True True False True True False False False True True True False True True Table de vérité des opérations logiques
  14. 14. Se7en - Creative Powerpoint Template 14 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 4. Le type str Une donnée de type str est une suite quelconque de caractères. Exemple: nom = "Tounsi" | prenom=‘Mohamed’ Accès aux caractères individuels d’une chaîne Activité n°4 Soit la chaîne ch=’Bython’. Afficher les caractères d’indices respectifs 0 et 3 dans ch. Afficher les caractères d’indices respectifs -1 et -6 dans ch. Essayer de remplacer le caractère ‘B’ par ‘P’. Python offre des mécanismes permettant d'accéder séparément à chacun des caractères d'une chaîne. L’accès aux caractères se fait par index. Exemple: ch = ‘B o n j o u r’ indice (positif) 0 1 2 3 4 5 6 indice (négatif) -7 -6 -5 -4 -3 -2 -1 Ou bien ch[0] donne ‘B’ ch[5] donne ‘u’ ch[-7] donne ‘B’ ch[-5] donne ‘n’ Remarque Les chaînes de caractères sont immuables (on ne peut pas changer leurs valeurs). Il est donc, interdit d’écrire par exemple: ch[0]=’P’
  15. 15. Se7en - Creative Powerpoint Template 15 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 4. Le type str Opérations sur les chaines de caractères Activité n°5 Soit les chaînes de caractères suivantes: ch1=’programmer’ ch2=’en‘ ch3=’PYTHON’ 1) Concaténer ch1, ch2 et ch3 dans ch.Afficher ch. 2) Vérifier si ch2 est en majuscule. 3) Compter le nombre de ‘m’ dans ch1. 4) Donner la position du mot ‘PYTHON’ dans la chaîne ch. Python intègre de nombreuses fonctions qui permettent d’effectuer divers traitements sur les chaînes de caractères (conversions majuscules/minuscules, recherche de mots, découpage, etc). Documentation Python: Fonctions sur les chaînes de caractères Fonction Description Exemple len(ch) Retourne la longueur de la chaîne ch len(‘Bonjour’) donne 7 + Concaténation de deux ou plus chaînes de caractères ‘Bonjour’+’Python’ donne ‘BonjourPython’ * Répétition d’une chaîne de caractères ‘Python’*3 donne ‘PythonPythonPython’ ch.isupper() Tester si la chaîne ch est en minuscules ‘Bonjour’.isupper() donne False ch.upper() Mettre la chaîne ch en majuscules ‘Bonjour’.upper donne ‘BONJOUR’ ch.find(s) Donne la position d’une sous chaîne s dans la chaîne ch ‘mes amis’.find(‘am’) donne 4 ch.count(s) Compte le nombre d’occurrence d’une sous chaîne s ‘Bonsoir les sersois’.count(‘oi’) donne 2 ch.replace(x,y,n) Remplace les n premières occurrences de x par y ‘Bonsour’.replace(‘s’, ‘j’, 1) donne ‘Bonjour’
  16. 16. Se7en - Creative Powerpoint Template 16 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Une liste est une collection ordonnée d’éléments.. Exemple: infoperso = [’Tounsi’,‘Mouhamed’,17,1.85] Remarque Une liste peut contenir d’éléments ayant des types variés. Accès aux éléments d’une liste On peut accéder aux éléments d’une liste à l’aide de leur indice associé Exemple: indice (positif) 0 1 2 couleurs = [ ‘Rouge’ , ‘Bleu’ , ‘Vert’ ] indice (négatif) -3 -2 -1 Ou bien couleurs[0] donne ‘Rouge’ couleurs[2] donne ‘Vert’ couleurs[-1] donne ‘Vert’ couleurs[-2] donne ‘Bleu’ Activité n°6 Soit la liste: couleurs= [’Rouge’,’Bleu’,’Vert’] 1) Déclarer la liste couleurs. 2)Afficher l’élément à la position 2. Y a t-il une autre méthode pour afficher cet élément. 3) Remplacer la couleur ‘Rouge’ par ‘Orange’. 4)Afficher la liste couleurs. Remarque En Python, les listes sont modifiables (Il est possible de changer les éléments individuels d’une liste).
  17. 17. Se7en - Creative Powerpoint Template 17 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Opérations sur les listes Activité n°8 Définir la liste: noms = [’sami’, ‘ali’, ‘walid’, ‘mehdi’], puis effectuer les actions suivantes: 1)Ajouter ‘ahmed’ à la fin de la liste. 2) Supprimer ‘ali’ de la liste. 3) Trouver la position de ‘walid’ dans la liste. 4) Trier la liste. 5)Afficher la liste. Les listes possèdent plusieurs méthodes très pratiques pour les manipuler: Fonction Description len(list) Retourne la longueur de la liste list.append(elem) Ajoute un élément à la fin de la liste list.insert(index,elem) Insère un élément à un index donné et décale les autres éléments vers la droite list.extend(list2) Concatène la liste 2 à la fin de la liste list.index(elem) Retourne l’index d’un élément donné dans la liste list.remove(elem) Supprime la première occurrence d’un élément donné dans la liste list.sort() Trie la liste list.reverse() Renverse la liste list.pop(index) Supprime et retourne l’élément à l’index donné
  18. 18. Se7en - Creative Powerpoint Template 18 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 5. Le type list Liste des listes Activité n°9 Soit le tableau de 2 dimensions suivant: 1) Déclarer le tableau tab2d. 2)Afficher l’élément à la deuxième ligne et troisième colonne. 3) Remplacer l’élément à la deuxième ligne et troisième colonne par 6. 4)Afficher tab2d. On peut créer une liste de listes, qui s’apparente à un tableau à 2 dimensions (ligne, colonne). Exemple: infopers = [ [’Tounsi’,‘Mouhamed’,17,1.85] , [‘Cherni’,’Ahmed’,20,1.70] ] infopers [1][0] donne ‘Cherni’ infopers [0][2] donne 17 5 7 3 8 10 15 22 4 0
  19. 19. Se7en - Creative Powerpoint Template 19 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 6. Le type tuple Activité n°9 Soit le tuple : tuple_notes = (10, 7.5, 19, 5, 9.5) 1) Déclarer le tuple. 2)Afficher l’élément à la position 2 3) Remplacer 7.5 par 11.5 En Python le type tuple permet de créer des sortes de listes non modifiables (une fois déclaré ne peut plus être modifié). Exemple: tuple_1 = ( 7, ‘d’, 5, 4.5) tuple_2 = ‘a’, ‘b’, 5, 4.5 # les parenthèses ne son pas obligatoires list_3 = [ 9 , ‘b’, 5, 4.5] tuple_3 = tuple(list_3) Remarque Le tuple permet une affectation multiple: v1, v2 = 11, 22 On peut utiliser cette syntaxe pour permuter deux valeurs: x, y = y, x Il permet également de renvoyer plusieurs valeurs lors d’un appel d’une fonction.
  20. 20. Se7en - Creative Powerpoint Template 20 III. Les types de données CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES 7. Le type dict Un dictionnaire en python est une sorte de liste mais au lieu d'utiliser des index , on utilise des clés , c'est à dire des valeurs autres que numériques. Exemple: infopers= { "Nom": "Tounsi", "Prenom": "Mohamed", "Age": 25 } print (infopers["Nom "]) # accéder à un élément d’un dictionnaire ‘ Tounsi ’ infopers["Age "] = 30 # Mettre à jour la valeur de clé “Age” infopers[" Tél "] = 99999999 #Ajouter un nouveau élément avec la clé est “Tél” del infopers["Age "] # Supprimer un élément avec la clé est “Age” len (infopers) # Renvoi le nombre des éléments infopers.keys() # Renvoi les clés infopers.values() # Renvoi les valeurs infopers.clear() # Supprimer tous les éléments dir(infopers) # Renvoie les membres de la classe dict
  21. 21. Se7en - Creative Powerpoint Template 21 VI. Evaluation CHAPITRE I: LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES
  22. 22. Se7en - Creative Powerpoint Template 2 2 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  23. 23. Se7en - Creative Powerpoint Template 23 CHAPITRE II: Le module « Turtle » 1. Présentation Le module Turtle est un ensemble d’outils permettant de dessiner à l’aide d’instructions simples. Une tortue est un petit robot qui dessine sur l’écran et on peut lui dire de se déplacer en utilisant des commandes en Python. 2. Fonctions du module Turtle import turtle # importer le module turtle Fonction Effet Turtle() Créer votre tortue forward(n) ou fd(n) Avancer de n pixels backward(n) ou bk(n) Reculer de n pixels left(n) ou lt(n) Tourner à droite de n degrés right(n) ou rt(n) Tourner à gauche de n degrés goto(x,y) Aller à l’endroit de coordonnées x et y. color(couleur) Modifier la couleur de la ligne que la tortue trace (‘red’, ‘green’, ‘blue’, etc). width(n) Choisir l’épaisseur du tracé up() Relever le crayon (pour pouvoir avancer sans dessiner) down() Baisser le crayon (dessiner lors de déplacement) clear() Effacer l’écran reset() Effacer l’écran, recentrer la tortue et réinitialiser ses paramètres. circle(n) Tracer un cercle de rayon n pixels à gauche de la tortue speed(n) Changer la vitesse de 1(lent) à 10(rapide). La valeur spéciale 0 est la plus rapide. shape(form) Modifier la forme de la tortue ('turtle', 'circle', 'square‘, etc) write(‘text’) Ecrire un texte begin_fill() ……. end_fill() Colorer l’intérieur d’une courbe fermée Exemple: le script suivant begin_fill() circle(100) end_fill() crée un disque plein
  24. 24. Se7en - Creative Powerpoint Template 24 CHAPITRE II: Le module « Turtle » 3. Exercices Exercice n°1 Utiliser la bibliothèque turtle, pour dessiner un carré de côté égal à 100 pixels. Exercice n°2 Utiliser la bibliothèque turtle, pour dessiner un triangle équilatérale de côté 150 pixels coloré en rouge. Exercice n°3 Ecrire un programme python qui permet de : • Calculer et d’afficher la surface d’un rectangle. • Dessiner le rectangle en utilisant la bibliothèque turtle. Sachant que la longueur et la largeur sont données. Exemple : Si la longueur =200 et la largeur =100. Le programme affiche : La surface du rectangle est: 20000 pixels
  25. 25. Se7en - Creative Powerpoint Template 2 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  26. 26. Se7en - Creative Powerpoint Template 26 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure iterative complète for e in séquence: instruction 1 … instruction n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle itérative complète permet de répéter l’exécution d’une suite d’instructions un nombre fini de fois connu à l’avance. Remarque Une instruction composée se compose: - d’une ligne d’en-tête terminée par deux-points. - d’un bloc d’instruction indenté par rapport à la ligne d’en-tête. Toutes les instructions au même niveau d’indentation appartiennent au même bloc.
  27. 27. Se7en - Creative Powerpoint Template 27 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure iterative complète Activité n°1 Écrire un script Python qui permet d’afficher la table de multiplication par 9 en utilisant la boucle for. Activité n°2 Écrire un programme Python qui demande le côté d'un carré, puis qui dessine le carré à l'aide d'une boucle for.
  28. 28. Se7en - Creative Powerpoint Template 28 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure itérative complète Activité n°2 Ecrire un programme python nommé SpiraleCarrée que réalise le dessin de droite. Le premier segment mesure 10 pixels. Regarder bien la longueur que fait chaque trait en partant du centre de la figure. Ceci peut-être écrit en 5 lignes ! Activité n°3 Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « fleur ». Exécuter ce programme. import turtle t=turtle.Turtle() t.color('red','pink') t.width(4) t.begin_fill() for i in range(17): t.circle(i*3, 180) t.right(45) t.end_fill()
  29. 29. Se7en - Creative Powerpoint Template 29 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Structure itérative complète Activité n°4 Ecrire un programme Python qui compte le nombre de lettres z dans une chaîne de caractères. Activité n°5 Ecrire un programme Python qui permet de dessiner un tourbillon coloré.
  30. 30. Se7en - Creative Powerpoint Template 30 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 2. Structure itérative à condition d’arrêt while condition : instruction 1 … instruction n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle itérative à condition d’arrêt permet de répéter l’exécution d’une suite d’instructions jusqu’à rencontrer la condition d’arrêt. Cette structure est utilisée dans le cas où le nombre de répétitions est inconnu à l’avance. Activité n°6 Écrire un programme permettant de tracer un pentagone régulier de côté 120 px à l’aide de la boucle while.
  31. 31. Se7en - Creative Powerpoint Template 31 I. Les structures de contrôle itératives CHAPITRE III: LES STRUCTURES DE CONTROLE 2. Structure itérative à condition d’arrêt Activité n°7 Saisir le programme python suivant et l’enregistrer dans un fichier ayant pour nom « cercles aléatoires». Tester le programme. Est que on peut déterminer le nombre de cercles à tracer à l’avance? import turtle import random t = turtle.Turtle() t.speed(0) my_color = ['red', 'blue', 'green','yellow','black','magenta','cyan'] r=random.randint(1,110) while r<=100: t.up() t.goto(random.randint(-300,300),random.randint(-300,300)) t.down() t.color(random.choice(my_color)) t.dot(r,random.choise(my_color)) r=random.randint(1,110)
  32. 32. Se7en - Creative Powerpoint Template 32 II. Les structures de contrôle conditionnelles CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Forme généralisée if condition 1: Traitement 1 elif condition 2: Traitement 2 … elif condition n-1: Traitement n-1 else: Traitement n # retour à la ligne sans indentation Syntaxe (Python) Une structure de contrôle conditionnelle est dite généralisée lorsqu’elle permet de résoudre des problèmes comportant plus de deux traitements en fonction des conditions. L’exécution d’un traitement entraîne automatiquement le non exécution des autres traitements. Activité n°8 Ecrire un programme python qui permet de dessiner une forme géométrique donnée. Ce programme ne sait dessiner que les formes suivantes: cercle, carré et triangle.
  33. 33. Se7en - Creative Powerpoint Template 33 II. Les structures de contrôle conditionnelles CHAPITRE III: LES STRUCTURES DE CONTROLE 1. Forme généralisée Activité n°9 Ecrire un programme tortue_folle.py qui fonctionne de la manière suivante : 1. On fixe une variable rayon égal à 200 et une variable lm à 10. 2. On trace un cercle centré en (0,0) à l’aide des commandes circle(rayon) et goto(x,y). 3. La tortue effectue des déplacements élémentaires de taille lm et à la fin de chacun d’entre eux elle peut tourner à gauche, à droite ou faire demi-tour (elle choisit au hasard). Ici on utilisera la commande randint(1,3). 4. la tortue se promène ainsi et le programme s’arrête lorsqu’elle sort du cercle. Sachant que la commande distance(0,0) renvoie la distance de la tortue à l’origine. Vous devriez avoir une figure de ce genre :
  34. 34. Se7en - Creative Powerpoint Template 34 III. Evaluation CHAPITRE III: LES STRUCTURES DE CONTROLE
  35. 35. Se7en - Creative Powerpoint Template 3 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  36. 36. Se7en - Creative Powerpoint Template 36 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES 1. Présentation et syntaxe def nomFonction (paramètres) : “”“ Documentation de la fonction “”” bloc d’instructions return résultats Syntaxe (Python) Une fonction est un sous programme qui peut retourner plusieurs résultats. Remarque Le bloc d’instruction est obligatoire. La documentation (facultative) est fortement conseillée. Activité n°1 Ecrire une fonction majorité qui prend en paramètre le prénom et l'âge d’une personne. La procédure affichera ensuite un message disant ‘Bonjour prénom’, puis indiquera s’il est mineur (-18) ou s’il est majeur.
  37. 37. Se7en - Creative Powerpoint Template 37 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Remarques Pour utiliser une fonction, il suffit de l’appeler par son nom + ses paramètres s’il y en a. nomFonction(paramètres) L’accès à la documentation se fait avec la fonction help(nomFonction). 1. Présentation et syntaxe Activité n°3 Ecrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r fourni en argument. Tester la fonction volumeSphere par un appel dans le programme principal. NB: Volume d’une sphère = 4/3 * π * (Rayon) 3 Activité n°2 Ecrire une fonction triangle(taille) qui permet de tracer un triangle équilatéral. Ecrire une fonction hexagone(taille) qui trace un hexagone en utilisant notre fonction « triangle ». Ecrire un programme qui trace une toile d’araignée en utilisant notre fonction « triangle ». Sachant que les toiles sont séparés les uns des autres par 15 px.
  38. 38. Se7en - Creative Powerpoint Template 38 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Activité n°4 Ecrire une fonction airePerimRect qui calcule l’aire et le périmètre d’un rectangle. NB: aire = longeur x largeur perim = (longeur + largeur) x 2 Remarques En python, une fonction peut retourner plusieurs valeurs ! 1. Présentation et syntaxe
  39. 39. Se7en - Creative Powerpoint Template 39 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Lorsqu’une fonction est appelée, Python réserve pour elle un espace de noms. Cet espace de noms local à la fonction est à distinguer de l’espace de noms global où se trouvait les variables du programme principal. - Les variables locales sont définies à l’intérieur du corps d’une fonction, ces variables ne sont accessible qu’a la fonction elle même. - Les variables globales sont définies à l’extérieur d’une fonction et leur contenu est visible de l’intérieur d’une fonction. Une variable globale ne peut pas être modifiée depuis le corps d’une fonction, si elle est immutable (int, float, bool, str, tuple). Une variable globale peut être modifiée depuis le corps d’une fonction, si elle est mutable (list, dict, set ...) Exemple 2. Variables locales, variables globales Type int (immuable) Type str (immuable) Type list (muable)
  40. 40. Se7en - Creative Powerpoint Template 40 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Chaque paramètre de la définition de la fonction correspond, dans l’ordre, à un argument de l’appel. Le (ou les) argument effectif d’entrée peut être une constante, une variable, le résultat d’une expression. Remarques Le nom d’une variable que nous passons comme argument n’a rien à voir avec le nom du paramètre correspondant dans la fonction ( ces noms peuvent être différents) . 3. Passage des arguments
  41. 41. Se7en - Creative Powerpoint Template 41 I. Les fonctions CHAPITRE IV: LES SOUS PROGRAMMES Activité n°5 Ecrire une fonction supprimElementsNegatifs prenant une liste d’entiers et supprimant les entiers strictement négatifs de cette liste. Tester cette fonction. Remarque Une fonction peut agir sur leurs paramètres (peut retourner un résultat via ses paramètres). 1. Présentation et syntaxe
  42. 42. Se7en - Creative Powerpoint Template 42 II. Projets CHAPITRE IV: LES SOUS PROGRAMMES L’idée de ce projet est de créer une scène qui contient une maison, un arbre et un soleil. Pour faciliter le travail, vous devez d’abord définir les fonctions suivantes: • Définir une fonction dessinerRectangle(t, largeur, hauteur, couleur) pour dessiner et remplir un rectangle avec les dimensions et la couleur sont données. Exemple: dessinerRectangle(t, 100, 50, “blue”) donne • Définir une fonction dessinerTriangle(t, longueur, couleur) pour dessiner et remplir un triangle rectangle isocèle avec la longueur de l'hypoténuse et la couleur sont données. Exemple: dessinerRectangle(t, 100, “green”) donne • Définir une fonction dessinerParallelogram(t, largeur, hauteur, couleur) pour dessiner et remplir un parallélogramme, avec les dimensions et la couleur sont données. Exemple: dessinerParallelogram(t, 100, 50, “brown”) donne • Définir une fonction dessinerRayons(t, longueur, rayon) pour dessiner quatre rayons de soleil de longueur donnée, pour le soleil du rayon donné. La tortue commence au centre du cercle. Exemple: dessinerRayons(t, 40, 50) donne 1. Projet: Maison pour tortue
  43. 43. Se7en - Creative Powerpoint Template 43 II. Projets CHAPITRE IV: LES SOUS PROGRAMMES Maintenant en utilisant les fonctions précédentes dessiner la scène suivante: 1. Projet: Maison pour tortue
  44. 44. Se7en - Creative Powerpoint Template 44 III. Evaluation CHAPITRE IV: LES SOUS PROGRAMMES
  45. 45. Se7en - Creative Powerpoint Template 4 5 ≡≡≡ PLAN PYTHON INTRODUCTION CHAPITRE I LES STRUCTURES SIMPLES ET LES STRUCTURES DE DONNEES CHAPITRE II LE MODULE « TURTULE » CHAPITRE III LES STRUCTURES DE CONTROLE CHAPITRE IV LES SOUS PROGRAMMES CHAPITRE V ALGORITHMES STANDARDS
  46. 46. Se7en - Creative Powerpoint Template 46 I. Les algorithmes de recherche CHAPITRE V: ALGORITHMES STANDARDS 1. La recherche séquentielle La méthode de recherche séquentielle d’un élément dans un tableau consiste à parcourir le tableau élément par élément en les comparant avec l’élément à chercher jusqu’a trouver ce dernier ou achever le tableau. - Si on trouve l’élément recherché alors on sort par la valeur Vrai - Si on atteint la fin du tableau sans rien trouver, on sort avec la valeur Faux Exemple : Recherche de l’élément 5 dans le tableau t. Principe de la recherche séquentielle 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 8 3 12 9 5 10 6 On a trouvé 5 donc la recherche s’arrête.
  47. 47. Se7en - Creative Powerpoint Template 47 I. Les algorithmes de recherche CHAPITRE IV: ALOGORITHMES STANDARDS 2. La recherche séquentielle Activité n°1 En se basant sur le principe de la recherche séquentielle, déterminer l’algorithme de la fonction rechSeq. Traduire la solution en un programme Python. Algorithme 0) Def Fn rechSeq( T :Tab; n, x :entier): Booléen 1) i ← 1 Tantque ( i ≤ n et T[ i ] != x ) faire i ← i + 1 FinTantque 2) Si ( i = n+1 ) alors rechSeq ← Faux Sinon rechSeq ← Vrai FinSi 3) Fn rechSeq
  48. 48. Se7en - Creative Powerpoint Template 48 I. Les algorithmes de recherche CHAPITRE V: ALOGORITHMES STANDARDS 2. La recherche dichotomique Comparer l’élément x recherché avec celui du milieu du tableau: - Si x = T[ milieu ], on arrête le traitement. - Si x < T[ milieu ], il suffit de chercher x dans la 1ère moitiè du tableau. - Si x > T[ milieu ], il suffit de chercher x dans la 2ème moitiè du tableau. On continue le découpage jusqu’a un sous tableau de taille 1. Remarque : La recherche dichotomique s’applique uniquement sur un tableau trié. Exemple : Recherche de l’élément 15 dans le tableau trié T. Principe de la recherche dichotomique 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Faux trouve inf sup milieu 3 5 6 8 9 12 15 19 23 51 Vrai trouve inf sup milieu T[milieu] < 15 T[milieu] > 15 T[milieu] < 15 T[milieu] = 15
  49. 49. Se7en - Creative Powerpoint Template 49 I. Les algorithmes de recherche CHAPITRE IV: ALOGORITHMES STANDARDS 1. La recherche dichotomique Activité n°2 En se basant sur le principe de la recherche dichotomique, déterminer l’agorithme de la fonction rechDic. Traduire la solution en un programme Python. Algorithme 0) Def Fn rechDic( T :Tab; n, x :entier): Booléen 1) inf ← 1 sup ← n trouve ← Faux Tantque ( inf ≤ sup et trouve = Faux ) faire milieu ← (inf + sup) div 2 Si ( x < T[ milieu ] ) alors sup ← milieu - 1 Sinon Si ( x > T[ milieu ] ) alors inf ← milieu + 1 Sinon trouve ← Vrai FinSi FinTantque 2) rechDic ← trouve 3) Fin rechDic
  50. 50. Se7en - Creative Powerpoint Template 50 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 1. Le tri par insertion Exemple : Principe du tri par insertion Ordonner les deux premiers éléments Insérer le 3ème élément de manière à ce que les 3 premiers éléments soient triés Insérer le 4ème élément à sa bonne place pour que les 4 premiers éléments soient triés …………… Répéter le traitement jusqu’à avoir la liste triée
  51. 51. Se7en - Creative Powerpoint Template 51 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 1. Le tri par insertion Activité n°3 En se basant sur le principe du tri par insertion, déterminer l’agorithme de la procéduire triInsertion. Traduire la solution en un programme Python. Algorithme 0) Def Proc triInsertion(var T:Tab; n:entier) 1) Pour i de 2 à n faire : x ← T[ i ] j ← i Tantque ( j > 1 et T[ j-1] > x ) faire T[ j ] ← T[ j-1] j ← j-1 Fin Tantque T[ j ] ← x FinPour 2) Fin triInsertion
  52. 52. Se7en - Creative Powerpoint Template 52 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri à bulles 1) Comparer le premier et le deuxième élément et les permuter s’ils sont désordonnés 2) Refaire l’action 1 jusqu’a l’avant dernier élément 3) refaire les actions 1 et 2 jusqu’a ce qu’on ne peut plus permuter. Principe du tri à bulles Exemple :
  53. 53. Se7en - Creative Powerpoint Template 53 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri à bulles Activité n°4 En se basant sur le principe du tri à bulles, déterminer l’agorithme de la procédure triBulles. Traduire la solution en un programme Python. Algorithme 0) Def Proc triBulles(var T :Tab; n :entier) 1) permut ← True Tantque ( permut = True ) faire permut ← faux Pour i de 1 à n - 1 faire si T[ i ] > T[ i + 1 ] alors tmp ← T[ i ] T[ i ] ← T[ i+1 ] T[ i+1 ] ← tmp permut ← vrai Finsi FinPour Fin Tantque 2) Fin triBulles
  54. 54. Se7en - Creative Powerpoint Template 54 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 3. Le tri par sélection Principe du tri par sélection Trouver le plus petit élément et le mettre au début de la liste Trouver le 2ème plus petit élément et le mettre en second position Trouver le 3ème plus petit élément et le mettre à la 3ème place ………….. Répéter le traitement jusqu’à avoir la liste triée
  55. 55. Se7en - Creative Powerpoint Template 55 II. Les algorithmes de tri CHAPITRE V: ALGORITHMES STANDARDS 2. Le tri par sélection Activité n°4 En se basant sur le principe du tri par sélection, déterminer l’algorithme de la procédure triSelection. Traduire la solution en un programme Python. Algorithme 0) Def Proc triSelection(var T :Tab; n :entier) 1) Pour i de 1 à n-1 faire posmin ← I Pour j de i+1 à n faire si T[ j ] < T [posmin] alors posmin ← j Finsi FinPour Si (posmin ≠ i) alors temp ← T[ j ] T[ j ] ← T [posmin] T[posmin] ← temp FinSi Fin Pour 2) Fin triSelection
  56. 56. Se7en - Creative Powerpoint Template 56 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 1. Présentation Un algorithme récurrent est un algorithme utilisant un traitement répétitif pour produire un résultat calculé. Ce résultat peut dépendre des P résultats précédents : c’est un algorithme récurrent d’ordre P. - Si P = 1, on parle d’algorithme récurrent d’ordre 1 - Si P = 2, on parle d’algorithme récurrent d’ordre 2 Exemple : 1) Un+1 = -2Un - 4 , algorithme récurrent d’ordre 1. 2) Un+2= Un+1 + Un , algorithme récurrent d’ordre 2.
  57. 57. Se7en - Creative Powerpoint Template 57 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 2. Calcul de somme Activité n°5 Ecrire un algorithme d’une fonction qui permet de calculer la somme de n premiers entiers, ainsi que la traduction en Python. Algorithme 0) Début Fn somme(n :entier): entier 1) s ← 0 2) Pour i de 1 à n faire s ← s + i Fin Pour 3) somme ← s 4) Fin somme Remarque Pour une valeur donnée de compteur i, la valeur de la somme est égale à la valeur ancienne incrementée de la valeur de i ( s ← s + i ). C’est un algorithme récurrent d’ordre 1.
  58. 58. Se7en - Creative Powerpoint Template 58 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 2. Calcul de somme Activité n°6 Ecrire un algorithme d’une procédure Somme1 qui permet de calculer et d’afficher la somme de n entiers saisis par l’utilisateur. Algorithme 0) Début Proc somme1(n :entier) 1) s ← 0 2) Pour i de 1 à n faire lire(m) s ← s + m Fin Pour 3) Ecrire(”La somme est ”, s) 4) Fin somme1
  59. 59. Se7en - Creative Powerpoint Template 59 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 3. Recherche de munimum et de maximum Activité n°7 Ecrire un algorithme d’une procédure qui permet de rechercher la plus petite et la plus grande valeur dans un tableau contenant n entiers. Traduire cet algorithme en Python. Algorithme 0) Début Proc minMax(T :Tab; n :entier; var min, max :entier) 1) min ← T[1]; max ← T[1] 2) Pour i de 2 à n faire Si T[ i ] < min alors min ← T[ i ] Fin Si Si T[ i ] > max alors max ← T[ i ] Fin Si Fin Pour 3) Fin minMax Remarque En Python, on peut calculer le min et le max d’une liste par: - La fonction min(list) - La fonction max(list)
  60. 60. Se7en - Creative Powerpoint Template 60 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 4. Calcul sur les suites Activité n°8 1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher les n premiers termes de la suite U définie par : U0=3 Un = 2Un-1 - 4 , avec n≥1 2) Traduire cet algorithme en Python. Algorithme 0) Début Proc termeSuite(n :entier) 1) U ← 3 2) Pour i de 1 à n faire U ← 2*U - 4 Ecrire(U) Fin Pour 3) Fin termeSuite Remarque Une valeur d’un terme donné dépend de la valeur du terme qui le précède. Il s’agit donc d’un algorithme récurrent d’ordre 1.
  61. 61. Se7en - Creative Powerpoint Template 61 III. Les algorithmes récurrents CHAPITRE V: ALGORITHMES STANDARDS 4. Calcul sur les suites Activité n°9 1) Ecrire un algorithme d’une procédure qui permet de calculer et d’afficher la valeur de Un de la suite U définie par : U0=1 ; U1=1 Un = Un-1 + Un-2 , avec n≥2 2) Traduire cet algorithme en Python. Algorithme 0) Début Proc calculUn(n :entier) 1) V ← 1; U ← 1 2) Pour i de 2 à n faire tmp ← U + V V ← U U ← tmp Fin Pour 3) calculUn ← U 4) Fin calculUn Remarque Il s’agit d’un traitement itératif. La valeur d’un terme dépend de deux termes précèdents: C’est un algorithme récurrent d’ordre 2.
  62. 62. Se7en - Creative Powerpoint Template 62 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 1. Le calcul de PGCD Définition Le plus grand commun diviseur de deux entiers a et b appelé aussi PGCD est le plus grand entier permettant de diviser a et b. On le note PGCD (a, b). Solution Si a = 36, b = 15. PGCD (36, 15) = PGCD (15, 6) = PGCD (6, 3) = PGCD (3, 0) = 3 Pour calculer le PGCD de deux entiers a et b, nous pouvons appliquer la méthode d’Euclide qui repose sur le principe suivant : - Si b ≠ 0, alors PGCD (a, b) = PGCD (b, r) où r est le reste de la division euclidienne de a par b (0≤r<b). - Si non, alors PGCD (a, 0) = a. Comment calculer le PGCD? Activité n°10 Calculer le PGCD(36, 15).
  63. 63. Se7en - Creative Powerpoint Template 63 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 1. Le calcul de PGCD Activité n°11 En se basant sur la méthode d’Euclide, écrire un algorithme d’une fonction intitulée pgcd qui permet de calculer le PGCD de deux entiers. Traduire cet algorithme en Python. Algorithme 0) Début Fn pgcd(a, b :entier): entier 1) Tantque (b ≠ 0) faire r ← a mod b a ← b b ← r Fin Tantque 2) pgcd ← a 3) Fin pgcd
  64. 64. Se7en - Creative Powerpoint Template 64 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 2. Le calcul de PPCM Définition Le plus petit commun multiple de deux entiers a et b appelé aussi PPCM est le plus petit entier multiple à la fois de a et de b. On le note PPCM (a,b). Solution Si a = 3, b = 64 alors max = 64, min=3. 64 mod 3 = 1 ≠ 0 alors max = 64+64+3-3 = 128 128 mod 3 = 2 ≠ 0 alors max = 128+64+3-3 = 192 192 mod 3 = 0 alors, on s’arrête. PPCM = max = 193 = 3 Pour calculer le PPCM de deux entiers a et b, nous pouvons appliquer l’algorithme suivant : 1) Déterminer le minimum (min) et le maximum (max) entre a et b. 2) Calculer le reste r de la division de max par min (r = max mod min). 3) Si r = 0, alors le max est le PPCM. 4) Si non, chercher le multiple successive de max (max = max+a+b-min), refaire l’algorithme à partir de l’étape 2) jusqu’à avoir un multiple de min (r = 0) Comment calculer le PPCM? Activité n°12 Calculer le PPCM(3, 64).
  65. 65. Se7en - Creative Powerpoint Template 65 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 2. Le calcul de PPCM Activité n°13 En se basant sur la méthode du calcul de PPCM, écrire un algorithme d’une fonction intitulée ppcm qui permet de calculer le PPCM de deux entiers. Traduire cet algorithme en Python. Algorithme 0) Début Fn ppcm(a, b :entier): entier 1) Si (a > b) alors max ← a min ← b Sinon max ← b min ← a Fin Si 2) Tantque (max mod min ≠ 0) faire max ← max + a + b -min Fin Tantque 3) ppcm ← max 4) Fin ppcm
  66. 66. Se7en - Creative Powerpoint Template 66 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 3. Les nombres premiers Définition Un entier supérieur à 1 est dit premier s’il n’est divisible que par 1 et par lui même. Activité n°14 Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée premier qui permet de vérifier si un entier n (n>1) est premier ou non. Algorithme 0) Début Fn premier(a :entier): booléen 1) i ← 2 2) Tantque (n mod i ≠ 0) et (i ≤ n div 2) faire i ← i + 1 Fin Tantque 3) Si (i > n div 2) alors premier ← Vrai Si non premier ← Faux Fin Si 4) Fin premier
  67. 67. Se7en - Creative Powerpoint Template 67 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 4. Le calcul du factoriel Définition La factorielle d’un entier n donné est le produit de tous les entiers de l’intervalle[1,n]. Le factoriel de n est noté n ! (n ! = n × (n - 2) × (n - 1) × ... × 4 × 3 × 2 × 1). 10 ! = 10 × 9 × 8 × 7 × 6 × 5 × 4 × 3 × 2 × 1 10 ! = 3628800 Activité n°15 Ecrire un algorithme et déduire la traduction en Python d’une fonction intitulée factoriel qui permet de calculer la factorielle d’un entier n. Algorithme 0) Début Fn factoriel(n :entier): entier 1) f ← 1 2) Pour i de 1 à n faire f ← f × i Fin Pour 3) factoriel ← f 4) Fin factoriel Exemple :
  68. 68. Se7en - Creative Powerpoint Template 68 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Les bases de numération sont: - La base binaire (ou base 2) comprend 2 chiffres possibles {0 , 1}, elle est utilisée par les machines. - La base décimale (ou base 10) comprend 10 chiffres possibles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, c’est la base couramment utilisée dans le calcul numérique traditionnel et la vie quotidienne. - La base octale (ou base 8) comprend 8 chiffres {0, 1, 2, 3, 4, 5, 6, 7}. - La base hexadécimale (ou base 16) comprend 16 symboles {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A, B, C, D, E, F}. Présentation des bases de numération a. Présentation
  69. 69. Se7en - Creative Powerpoint Template 69 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Pour convertir un nombre décimal en binaire, on suit les étapes suivantes : 1) Diviser n par 2. 2) Garder le reste et remplacer n par (n div 2). 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0. Comment convertir du décimal en binaire ? b. La conversion de base 10 → base 2 Activité n°16 Convertir manuellement (38)10 en binaire. Solution On va dresser puis remplir le tableau suivant : On va écrire les restes en ordre inverse de leur apparition, on obtient 100110. En déduire que (38)10 = (100110)2 Quotient 38 19 9 4 2 1 0 reste 0 1 1 0 0 1
  70. 70. Se7en - Creative Powerpoint Template 70 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération b. La conversion de base 10 → base 2 Activité n°17 Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif n en binaire. Algorithme 0) Début conversion10_2 1) Saisir(n) 2) chercher10_2(n, R, c) 3) afficher(R, c) 4) Fin conversion10_2 ----------------------------------------------------------------------------- 0) Début Proc chercher10_2(n :entier; var R :Tab; var c :entier) 1) c ← 0 2) Tantque (n ≠ 0) faire c ← c + 1 R[c] ← n mod 2 n ← n div 2 Fin Tantque 3) Fin chercher ----------------------------------------------------------------------------- 0) Début Proc afficher ( R :Tab; c :integer) 1) Pour i de c à 1 (pas -1) faire Ecrire(R[ c ]) Fin Pour 2) Fin afficher
  71. 71. Se7en - Creative Powerpoint Template 71 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Pour convertir un nombre décimal en hexadécimal, on suit les étapes suivantes : 1) Diviser n par 16. 2) Ranger le reste et remplacer n par (n div 16). 3) Répéter les étapes 1) et 2) jusqu’à avoir n = 0. Comment convertir du décimal en hexadécimal ? c. La conversion de base 10 → base 16 Activité n°18 Convertir manuellement (142)10 en hexadécimal. Solution On va dresser puis remplir le tableau suivant : On va écrire les restes en ordre inverse de leur apparition, on obtient 8E. (car 14 devient E en base 16) En déduire que (142)10 = (8E)16 Quotient 142 8 1 reste 14 8
  72. 72. Se7en - Creative Powerpoint Template 72 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération c. La conversion de base 10 → base 16 Activité n°19 Ecrire un algorithme et déduire la traduction en Python d’un programme qui permet de convertir un nombre entier positif n en hexadécimal. Algorithme 0) Début conversion10_16 1) Saisir (n) 2) chercher(n, R, c) 3) afficher(R, c) 4) Fin conversion10_16 ---------------------------------------------------------------------------------- - 0) Début Proc chercher(n :entier; var R :Tab; var c :entier) 1) c ← 0 2) Tantque (n ≠ 0) faire c ← c + 1 R[c] ← n mod 16 n ← n div 16 Fin Tantque 3) Fin chercher 0) Début Proc afficher ( R :Tab; c :integer) 1) Pour i de c à 1 (pas -1) faire Si (R[c] dans [0..9]) alors Ecrire(R[c]) Sinon Ecrire(CHR(ORD(”A”)+R[c]-10)) Fin Si Fin Pour 2) Fin afficher
  73. 73. Se7en - Creative Powerpoint Template 73 VI. Les algorithmes arithmétiques CHAPITRE V: ALGORITHMES STANDARDS 5. La conversion entre les bases de numération Remarque En Python, on peut utiliser les fonctions suivantes pour convertir un nombre entier (en base 10) dans une autre base: - Fonction bin: permet de convertir un nombre entier en un nombre binaire. - Fonction hex: permet de convertir un nombre entier en un nombre hexadécimal. - Fonction oct: permet de convertir un nombre entier en un nombre octal. En Python, on peut utiliser la fonction int pour convertir les différentes bases vers la base décimal. Exemple : Fonction bin Fonction hex Fonction oct

×