Initiation `a l`informatique I. Initiation `a Python Université de

Initiation `
a l’informatique
I. Initiation `a Python
Universit´e de Provence
Licence Sciences et Technologies
Ann´ee 2007-2008
Exercice I.1 (Python : programmes et interpr´eteur)
1. Ouvrez un terminal et lancez la commande python dans cette fenˆetre. Le logiciel Python
lance un interpr´eteur qui se comporte comme une super-calculatrice. Ex´ecutez les commandes
suivantes et commentez-les :
>>> 3+2
5
>>> s=12
>>> print s*s
144
>>> pi
Traceback (most recent call last):
File "<stdin>", line 1, in ?
NameError: name ’pi’ is not defined
>>> from math import *
>>> pi
3.1415926535897931
>>> cos (pi/3)
0.50000000000000011
Laissez cette fenˆetre ouverte : elle servira `a tester des commandes avant des les inclure dans
un programme.
2. Dans une autre terminal, lancez la commande xemacs tp6prog1.py &. Ce terminal servira
a ex´ecuter les programmes. Remarquez que Emacs a reconnu un programme Python, par son
extension .py et qu’il propose deux menus suppl´ementaires. Ecrivez le programme suivant
et sauvez le.
n= input(’Entrez un nombre : ’)
while n!=0:
print n%2
n=n/2
Ex´ecutez-le grˆace `a la commande python tp6prog1.py. Observez et commentez.
Exercice I.2 (Coder un nombre en base 2)
1. Ex´ecutez les commandes suivantes dans l’interpr´eteur Python. Commentez.
>>> s=’’
>>> s
’’
>>> s=s+’1’
>>> s
’1’
>>> s=s+’0’
>>> s
’10’
>>> s=s+0
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: cannot concatenate ’str’ and ’int’ objects
>>> s=s+str(2)
>>> s
’102’
1
La variable scontient des chaˆınes de caract`eres. On peut concat´ener des chaˆınes avec
l’op´erateur +. La fonction pr´ed´efinie str permet de transformer un entier en chaˆıne de
caract`eres.
2. Modifiez le programme pr´ec´edent pour qu’il affiche le code en base 2 de l’entier saisi par
l’utilisateur. Sauvez ce nouveau programme sous le nom tp6code2.py
3. Faites en sorte que le programme fonctionne ´egalement pour n= 0.
4. Ecrivez la partie codage dans une fonction dont l’entˆete sera def code2(n) et qui renverra
une chaˆıne de caract`eres. Le programme aura donc la forme suivante :
def code2(n)
...
n= input(’Entrez un nombre : ’)
print code2(n)
Exercice I.3 (Coder un nombre en base b)
1. Que faut-il modifier dans le programme pr´ec´edent pour qu’il code un nombre en base 8 ?
2. Modifiez le programme pr´ec´edent pour qu’il code un nombre dans une base bcomprise entre
0 et 10. Le programme aura la forme suivante :
def codeb(n,b)
...
n= input(’Entrez un nombre : ’)
b= input(’Entrez une base : ’)
print codeb(n,b)
Exercice I.4 (Coder un nombre en base 16)
1. Dans l’interpr´eteur, ex´ecutez les commandes suivantes et commentez-les.
>>> ord(’A’)
65
>>> chr(65)
’A’
>>> chr(12-10+65)
’C’
La fonction pr´ed´efinie ord calcule le code ASCII d’un caract`ere et la fonction chr proc`ede
au calcul inverse.
2. Ecrivez une fonction chiffre16(n) qui prend en entr´ee un nombre compris entre 0 et 15 et
retourne le chiffre correspondant en base 16.
3. Ecrivez une fonction code16(n) qui code un nombre en base 16.
4. Ecrivez une fonction code1116(n,b) qui code un nombre ndans une base bcomprise entre
11 et 16.
5. Ecrivez une fonction qui code un nombre ndans une base bcomprise entre 2 et 16.
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !