Initiation `a l`informatique III. Introduction `a Python : Codage

Initiation `
a l’informatique
III. Introduction `a Python : Codage
Universit´e de Provence
Licence Sciences et Technologies & PEI
Ann´ee 2011-2012
Exercice III.1 (Un premier programme)
Dans un terminal, lancez la commande geany tp7prog1.py &
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 tp7prog1.py. Observez et commentez.
Exercice III.2 (Coder un nombre en base 2)
1. Ex´ecutez les commandes suivantes dans l’interpr´eteur Python (lanc´e par la commande
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’
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 ache le code en base 2 de l’entier saisi par
l’utilisateur. Sauvez ce nouveau programme sous le nom tp7prog2.py
3. Que se passe-t-il si l’utilisateur saisit la valeur 0 ? 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 :
# Definition de la fonction
def code2(n):
...[Placez ici les instructions necessaires]
# Appel de la fonction
n= input(’Entrez un nombre : ’)
print code2(n)
1
Exercice III.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 :
# Definition de la fonction
def codeb(n,b):
...
# Appel de la fonction
n= input(’Entrez un nombre : ’)
b= input(’Entrez une base : ’)
print codeb(n,b)
Exercice III.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 chire 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 !