ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 Avant de c
ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 Avant de commencer... ... quelques indications sur le travail à faire durant toute l’unité : • Lisez l’intégralité des énoncés de TP. Ne "sautez" pas directement aux exercices à faire sans prendre connaissances des informations associées. • Pour chaque TP, rédigez un compte-rendu. Les comptes-rendus seront exigibles immédiatement en cas de litige après vos évaluations. • Vous pouvez me les envoyer par mail ( jean-claude.georges@esiee.fr ) si vous avez des doutes ou interroga- tions. Il sera alors annoté (mais non noté). • Deux jours après le TP, un corrigé sera mis en ligne. Lisez-le intégralement. • Pour vos comptes-rendus, utilisez un traitement de texte (LibreOffice, OpenOffice) et des styles pour distinguer le texte du compte rendu de celui des listings des programmes Python que vous y insérez (au minimum, un style "python" avec police de caractères à largeur constante). Cherchez une police qui distingue bien les caractères qui se ressemblent : voir la figure ci-dessous pour des exemples de polices avec I (i majuscule), l (L minuscule), 1 (le chiffre un), O (o majuscule), 0 (le chiffre zéro). • En cas de problème, essayez de réduire la taille de votre programme pour en faire un exemple complet minimal (ECM), reproduisant l’erreur sans contenir une ligne de code parasite. En créant cet ECM, neuf fois sur dix, vous trouverez l’erreur. • Si le problème persiste, n’abandonnez pas. La communauté des utilisateurs Python est très ouverte et donne, même aux débutants, des conseils, trucs et astuces, dans des FAQs et forums que vous pouvez consulter sur Internet. Par exemple : ▶http://python.developpez.com/ ▶http://programmers.stackexchange.com/questions/tagged/python ou contactez moi par mail, en y joignant l’ECM. • Pensez à noter et classer les problèmes rencontrés lors de l’utilisation de Python, avec vos tentatives infructueuses de résolutions et vos solutions expliquées. Comparaison de polices pour listings Deux lignes de dix et treize caractères (la deuxième commence par exactement quatre espaces). Remarquez les bons alignements avec les deux dernières polices : la lettre l (L minuscule) de la deuxième ligne doit se situer exactement au-dessous du chiffre 0 de la première ligne. if O == 0: I = l + 1 avec serif (Times New Roman) non if O == 0: I = l + 1 sans serif (Arial) non if O == 0: I = l + 1 exotique (Gothic) non if O == 0: I = l + 1 monospace (Courier New) oui if O == 0: I = l + 1 monospace (DejaVu Sans Mono) oui –1/14– ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 1 Mise en route Au démarrage, sélectionnez le système Linux. Créez un répertoire Python dans votre espace de travail. Lancez Python : • sous Linux : menu Applications, puis sous-menu Programmation, puis lancement IDLE (using Python-3.x) • sous Windows, si vous l’avez installé chez vous : menu Tous les programmes, puis sous-menu Python 3.6, puis lancement IDLE (Python GUI) Une fenêtre semblable à celle de la figure ci-dessous s’ouvre. La fenêtre Python Shell permet d’entrer des calculs. Une invite (prompt en anglais) formée de trois chevrons >>> autorise à entrer des expressions Python. Entrez par exemple, après l’invite, la ligne suivante : >>> (2017 * 2018) // 2 # la somme des 2017 premiers nombres 2035153 La fin de ligne à partir du # est un commentaire, ignoré par Python. L’opérateur // est celui de la division euclidienne. Dans la fenêtre IDLE Python Shell, les raccourcis <Alt>p et <Alt>n permettent de naviguer dans l’historique des commandes. Un nom spécial, _ (tiret de soulignement, underscore), permet de récupérer le résultat de la dernière commande. Si l’on est positionné sur une ligne, l’appui sur <Entr> copie/colle cette ligne en fin de ligne courante. Évidemment, <Ctrl>C/<Ctrl>V permet de copier/coller une portion de texte ou même un résultat. De plus, une aide très complète est fournie avec Python en passant par le menu Help/Python Docs, raccourci <F1>. Cette aide contient en particulier The Python Tutorial qui est une lecture indispensable : ▶http://docs.python. org/3.6/tutorial/ Exercice 1 — Entrée d’expressions Entrez les commandes suivantes sous le Shell IDLE. Utilisez <Alt>p et <Alt>n pour utiliser les commandes de l’historique : >>> 2017 * 2018 4070306 >>> 2017 * 2018 // 2 2035153 >>> 2017 * 2018 4070306 >>> _ // 2 2035153 >>> 2017*2018 + 2017 4072323 Python Shell sous IDLE ne permet d’entrer qu’une commande à la fois : il n’est en général utilisé que pour tester quelques lignes de programme. Quand le travail est plus long, on utilisera de préférence un éditeur de programmes permettant d’entrer, de sauvegarder ou de recharger des enchaînements d’instructions. –2/14– ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 2 Python, une calculatrice simple Python permet de calculer avec trois sortes de nombres : les entiers (int) comme 1234, les décimaux (float) comme 3.14 ou 2.0e13) et les complexes (complex) comme 2.5+3.1j Exercice 2 — Les nombres littéraux Solution p. 10 Écrivez en Python les nombres suivants : 1 234 −123 456 789 3, 14 6, 02 × 1023 −1, 602 176 53 × 10−19 2 + 3 i 2 −i Essayez d’entrer les nombres de l’exercice 2. Notez les messages d’erreur, si vous laissez des espaces, ou oubliez de préfixer j dans les complexes. Remarquez que 3,14 n’entraîne pas d’erreur, mais crée le couple (3, 14). Dans The Python Tutorial, rendez-vous au paragraphe • 3. An Informal Introduction to Python ◦3.1. Using Python as a Calculator 3.1.1. Numbers (ou ▶http://docs.python.org/3.6/tutorial/introduction.html#numbers) et consultez-le pour les exercices suivants. Exercice 3 — Calculs et types Solution p. 10 Quels sont les résultats (valeur et type) des expressions suivantes ? 23 + 8 23.2 - 8.2 (17+1j) - (17+1j) 3 * 17 3 * 17.0 (3+1j) * (3-1j) 3 * 0 3.5 * 0 (3+1j) * 0 23 / 8 23 // 8 23.0 // 8 24 / 8 24 // 8 24.0 // 8 23 % 8 23.0 % 8 24.0 % 8 (2+4j) / (1+3j) (2+4j) // (1+3j) (2+4j) // (1+2j) 2 ** 16 2.0 ** 16 0 ** 0 (1j)** 2 (-1) ** 0.5 -1 ** 0.5 Note : L’appel à la fonction type(x) retourne le type de x. Les opérateurs numériques de base sont : + addition - soustraction * multiplication / division // division entière % reste de la division entière ** élévation à la puissance Le type du résultat est celui de l’opérande le plus compliqué, excepté pour / pour lequel le type du résultat ne peut pas être entier (cf. exercice 3) –3/14– ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 Exercice 4 — Quelques calculs curieux Solution p. 11 Calculer les valeurs suivantes. Expliquez les bizarreries. 0, 3 + 0, 2 + 0, 1 0, 1 + 0, 2 + 0, 3 0, 3 × 0, 2 × 0, 1 0, 1 × 0, 2 × 0, 3 (1, 2 + 1, 3)2 1, 22 + 2 × 1, 2 × 1, 3 + 1, 32 19 × 1 + 3 1 1 + 1 1 + 1 2 − 1 1 + 1 1 + 1 3 3 Python, une calculatrice à mémoire de données Lorsque les enchaînements de calcul sont trop nombreux ou trop longs, il est possible de mémoriser des données, en utilisant des noms prermettant de s’y référer. Il faut utiliser des noms parlants, permettant au lecteur de se passer de commentaires. Par exemple, pour initialiser une variable à la valeur du rayon d’un cercle : >>> rayon = 3 puis, les lignes suivantes : >>> pi = 3.1416 >>> périmetre = 2 * pi * rayon >>> aire = pi * rayon ** 2 >>> print("Le périmètre d'un cercle de rayon", rayon, "vaut", périmetre) Le périmètre d'un cercle de rayon 3 vaut 18.8496 >>> print("et son aire vaut", aire) et son aire vaut 28.2744 La lecture des instructions est beaucoup plus facile que s’il on avait utilisé des noms comme r, p, a ou pire a, b, c. Comparer le code ci-dessus avec celui ci-dessous, qui pourtant affiche la même chose. >>> a = 3 >>> b = 2 * 3.1416 * a >>> c = 3.1416 * a ** 2 >>> print("Le périmètre d'un cercle de rayon", a, "vaut", b) Le périmètre d'un cercle de rayon 3 vaut 18.8496 >>> print("et son aire vaut", c) et son aire vaut 28.2744 –4/14– ISBS ECUE 122 TP1 Programmation avec Python (avec corrigé) 2017-2018 Exercice 5 — Les grains de blé sur l’échiquier Solution p. 11 L’écrivain arabe Asaphad rapporte, en effet, que Sessa, fils de Daher, imagina le jeu des échecs, où le roi, quoique la pièce la plus importante, ne peut faire un pas sans le secours de ses sujets les pions, dans le but de rappeler au monarque indien Scheran les principes de justice et d’équité avec lesquels il devait gouverner. Scheran, enchanté d’une leçon donnée d’une manière si uploads/s3/ tp1-sol-pdf.pdf
Documents similaires










-
29
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 25, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.5741MB