Ce premier TP a pour but de voir ou revoir les notions de base indispensables pour apprendre à programmer en python.
Les réponses aux questions posées doivent être stockées dans un fichier texte. Ce fichier texte et les codes réalisés dans ce TP sont à conserver pour pouvoir être utilisés lors de l'examen. Un questionnaire relatif à ce TP est disponible sur Moodle et doit être effectué.
Un code python peut s'exécuter dans 2 environnement différents :
Créez dans votre dossier personnel un répertoire PI31 et un sous répertoire TP1 dans lequel vous stockerez les fichiers relatifs à ce TP.
Lancez Idle.
2.1. Vérifiez le numéro de version utilisée (vous devez être en python 3.X).
2.2. Tapez dans l’interprète le code suivant (les trois signes >>> ne sont pas à saisir, ils constituent l'invite de commande python) :
>>> "Hello\n world"
2.3. Tapez dans l’interprète le code suivant :
>>> print("Hello\n world")
2.4. Quelle est la différence entre les deux affichages ?
2.5. Quel est l'effet des caractères \n dans le message passé en argument de la fonction print ?
Créez un nouveau fichier dans l’éditeur de texte d'Idle.
Ecrire dans ce fichier la commande :
print("Hello\n world")
Enregistrez ce fichier dans votre répertoire TP1 sous le nom tp1_1.py
3.1. Exécutez ce script. Où apparaissent les résultats de ce script ?
3.2. Modifiez votre fichier de la manière suivante :
# Mon premier script
print("Hello\n world" )
Exécutez de nouveau le script : il y-a-t-il une différence notable dans l'exécution du programme ?
3.3. Justifier le nom de commentaire donné à une ligne précédée du signe #.
La fonction type() permet de trouver le type de la variable passée en argument.
4.1. Testez dans un terminal les commandes suivantes et notez leur résultat :
>>> type(4)
>>> type(-4)
>>> type(0)
4.2. Les opérateurs applicables sur les entiers sont bien sur *, /,+, - mais aussi //, % et **. Testez dans un terminal les instructions suivantes et en déduire le rôle des opérateurs //, % et **.
>>> 5//2
>>> 5%2
>>> 5**2
4.3. Testez les instructions suivantes et en déduire la priorité des opérateurs précédents.
>>> 7 + 3 * 4
>>> (7 + 3) * 4
>>> 15 // 2 ** 2 % 3
4.4. La variable prédéfinie "_" sert à réutiliser le résultat du calcul précédent, un peu comme la touche "Rep" de certaines calculatrices.
Tapez dans le terminal les instructions suivantes :
>>> 1 * 1000
>>> _ * 1000
Il est à noter que l'on peut refaire cette opération facilement en appuyant sur la flèche UP qui permet de ré-afficher une instruction entrée précédemment.
4.4.1. Au bout de combien de fois l'ordre de grandeur de la mole est atteint ?
4.4.2. En supposant qu'un caractère affiché à l'écran soit codé sur un octet, combien d'octets sont nécessaires pour afficher à l'écran la valeur de la mole ? Combien de fois peut-on afficher à l'écran la valeur de la mole à l'aide d'une barrette mémoire de 4 Go ?
4.4.3. En supposant qu'un chiffre affiché à l'écran ait une dimension de 10 pixels par 20 pixels, combien de fois peut-on afficher la valeur de la mole sur un écran de résolution 1600 x 900 ?
Les booléens sont des variables ne disposant que de deux valeurs : 0 ou False et 1 ou True. Elle furent inventée en 1854 par le mathématicien britannique George Boole, utilisées la première fois pour les circuits de commutation téléphoniques par Claude Shannon et très souvent utilisées aujourd'hui en informatique.
5.1. Testez dans un terminal les instructions suivantes et notez le résultat obtenu :
>>> type ( True )
>>> type ( False )
5.2. Testez dans un terminal les instructions suivantes et commentez le résultat obtenu :
>>> 1 < 2 < 5
>>> (1 < 2) or (2==0)
>>> not 1 == 2
>>> not 1 == 2 and 5 < 10
5.3. Testez dans un terminal les instructions suivantes et expliquez le résultat obtenu :
>>> not ( True or False ) == not True and not False
>>> not ( True or False ) == ( not True and not False )
Ces nombres sont notés par la présence d’un point décimal "." ou une notation exponentielle "e" ou "E" dans le nombre.
6.1. Testez dans un terminal les instructions suivantes et notez le résultat obtenu :
>>> type(3.14)
>>> type(6.02e23)
6.2. Les opérateurs arithmétiques sont les mêmes que ceux déjà vus pour les entiers. Essayez et commentez :
>>> 8 / 4
>>> 20.0 // 3
>>> 20.0 % 3
>>> 2.0 ** 10
Ces variables contiennent un ou plusieurs caractères
7.1. Testez dans un terminal les instructions suivantes et commentez :
>>> type("Hydrogène")
>>> type('Hydrogène')
>>> type("L'atome d'Hydrogène")
>>> type('L'atome d'Hydrogène')
>>> print("""L'atome d'Hydrogène
est le plus léger de tous
les atomes de l'Univers""")
7.2. La longueur d'une chaîne de caractères peut être automatiquement évaluée grâce à la fonction len(). Testez dans un terminal les instructions suivantes et commentez :
>>> len("Hydrogène")
>>> len("L'atome d'Hydrogène")
7.3. Une chaîne de caractères peut être ajoutée à une autre chaîne de caractères, on parle alors de "concaténation" de chaî̂nes de caractères. Testez dans un terminal les instructions suivantes et commentez l'affichage final obtenu :
>>> texte1="L'atome"
>>> texte2=" d'Hydrogène"
>>> texte=texte1+texte2
>>> print(texte)
7.4. On peut aussi "multiplier" une chaîne de caractère... Testez dans un terminal l'instruction suivante et commentez l'affichage obtenu :
>>> print("1 million"+" de milliard"*2)
Contrairement à d'autres langages, python permet de facilement changer le type d'une variable.
Testez les transtypages suivant et commentez :
>>> float(2)
>>> int(2.3)
>>> int(2,3)
>>> int (5/2)
>>> float(int(2.3))
>>> int("128")
>>> int("abc")
>>> bool(0)
>>> bool(1)
>>> bool(12)
>>> bool("")
>>> bool(" ")
Lors de l'affectation d'une valeur à une variable, on relie un contenu (la valeur) à un contenant (la variable) autrement dit on relie une adresse mémoire au contenu de la mémoire à cette adresse.
9.1. Tapez ces exemples et commentez :
>>> G = 6.67e-11
>>> type (G)
>>> element = "Hydrogène"
>>> type(element)
>>> mp,mn,me=1.67e-27,1.67e-27,9.1e-31
>>> mp,mn,me
9.2. On peut accéder à l'adresse mémoire d'une variable à l'aide de la fonction id(). Tapez ces exemples et commentez :
>>> id(mp)
>>> id(me)
>>> mp=me
>>> id(mp)
Les entrées (saisies de valeurs via le clavier) se font avec la fonction input() et les sorties (affichage à l’écran) se font avec la fonction print().
Il est important de noter que les entrées saisies à l'aide de la fonction input() sont stockées en python 3 sous forme de chaînes de caractères !
10.1. Tester dans l’interprète les instructions suivantes et notez le résultat obtenu :
>>> v = input ("Entrez la valeur de la vitesse du son dans l'air : ")
>>> type(v)
>>> print(v)
10.6. Ecrire un script que vous appellerez tp1_6.py permettant de convertir une température exprimée en degré Celsius en une température en degré K et degré Farhenheit.
Un exemple d'exécution :
Entrez la température en degré Celsius : 22
La température en degré K est : 295.15
La température en degré fahrenheit est : 71.6
10.7. Ecrire un script que vous appellerez tp1_7.py permettant de convertir une durée exprimée en secondes en durée exprimée en h/min/s.
Un exemple d'exécution :
Entrez la durée en s : 15451
La durée en h/min/s est : 4 h 17 min 31 s