TD1. Premiers programmes
L'objectif de ce premier TD est d'être capable d'écrire et de comprendre entièrement les premiers programmes python que nous réaliserons en TP.
Exercice 1 : exécution pas à pas
On considère le programme suivant :
#!/usr/bin/env python3
a = 7
def f(a):
b = 8
a = a + b
print(a)
a = 11
print(a)
f(a)
print(a)
Question 1
Exécuter le programme en modifiant sur un dessin l'état des différentes variables et en notant ce qui s'affiche sur la sortie standard.
Exercice 2 : types primitifs
On considère le programme suivant :
#!/usr/bin/env python3
a = "1"
b = "3"
print(a + b)
a = 1
b = 3
print(a + b)
a = "1"
b = 3
print(a + b)
t = (1, 3)
print(t[0] + t[1])
t = (1, "3")
print(t[0] + t[1])
Question 1
Exécuter le programme en modifiant sur un dessin l'état des différentes variables et en notant leur type ainsi que ce qui s'affiche sur la sortie standard.
Exercice 3 : mes propres types
On considère le programme suivant :
#!/usr/bin/env python3
"""Illustration des namedtuple"""
import collections
bob = ("Robert", 23)
bill = ("William", 47)
# affiche le prénom de bob et l'age de bill (beurk)
print(bob[0])
print(bill[1])
Personne = collections.namedtuple("Personne", "prenom age")
bob = Personne("Robert", 23)
bill = Personne("William", 47)
# affiche le prénom de bob et l'age de bill (plus lisible !)
print(bob.prenom)
print(bill.age)
bill.age = 43
Question 1
Exécuter le programme en modifiant sur un dessin l'état des différentes variables et en notant ce qui s'affiche sur la sortie standard.
Exercice 4 : et dans un autre langage, ça donne quoi ?
On considère le programme suivant :
#!/usr/bin/env ruby
a = 2010
def f(p)
puts "bienvenue "
return p + 10
end
puts "à l'Ensimag "
a = f(a)
puts "en " + String(a)
puts "(signé Yoda)"
Question 1
Exécuter le programme en modifiant sur un dessin l'état des différentes variables et en notant ce qui s'affiche sur la sortie standard.
Exercice 5 : et encore dans un autre langage, ça donne quoi ? (pour aller plus loin)
Question 1
Réécrire le programme de l'exercice précédent dans le langage impératif de votre choix (autre que Python et Ruby, en C par exemple).
Question 2
Identifier les différences fondamentales avec Python.