0% ont trouvé ce document utile (0 vote)
3 vues3 pages

IP1 Python TP 1b

Ce document présente un ensemble de travaux pratiques pour un cours d'introduction à la programmation à l'Université Paris-Diderot. Les objectifs incluent l'exécution, la lecture, la compréhension et la modification de programmes en Python, en commençant par des exercices pratiques comme 'Hello World!' et des dessins avec la bibliothèque turtle. Les étudiants sont encouragés à expérimenter avec le code, à poser des questions et à développer leurs compétences en programmation impérative.

Transféré par

Salima Hassairi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues3 pages

IP1 Python TP 1b

Ce document présente un ensemble de travaux pratiques pour un cours d'introduction à la programmation à l'Université Paris-Diderot. Les objectifs incluent l'exécution, la lecture, la compréhension et la modification de programmes en Python, en commençant par des exercices pratiques comme 'Hello World!' et des dessins avec la bibliothèque turtle. Les étudiants sont encouragés à expérimenter avec le code, à poser des questions et à développer leurs compétences en programmation impérative.

Transféré par

Salima Hassairi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction à la Programmation 1 – Travaux Pratiques

Séance 1b: L’apprenti-programmeur


Université Paris-Diderot

Objectifs:

— Exécuter un programme. impérative.


— Apprendre à lire des programmes. — Comprendre ce que fait un programme.
— Identifier les mécanismes de la programmation — Modifier un programme existant.

Rappel : Tous les fichiers que vous sauvegarderez ou créerez pour ce TP devront être mis dans le répertoire
TP1b sous-répertoire du répertoire IP1-Python que vous avez créé au TP précédent.

Avant d’apprendre à écrire des programmes, nous allons commencer par en étudier quelques-uns déjà écrits.
Pour chacun des programmes, vous allez successivement : les lire, imaginer ce qu’ils font, les exécuter et
enfin, les modifier légèrement. En étudiant ces programmes, vous allez découvrir la plupart des mécanismes
de programmation impérative étudiés ce semestre.

Exercice 1 (Hello World !, ?)


Le fichier [Link] contient le code source d’un programme qui est traditionnellement le premier
programme que l’on écrit lorsque l’on apprend un nouveau langage de programmation 1 .

1. Lisez le code source du programme, que fait-il selon vous ? Vérifiez votre hypothèse en exécutant la
commande suivante dans un terminal :
1 python3 helloworld . py

2. Quelles sont les parties du code source qui correspondent à des commentaires ? Quelles sont les parties
du code source qui correspondent à du code Python ? De combien d’instructions est composé ce
programme ? Quel est le rôle de l’instruction print ?
3. Remplacez l’expression « "Hello World!" » par « "Hello" + " " + "World!" » puis exécutez le
programme, est-ce que le comportement du programme a changé ? Que fait l’opérateur + ?
4. Rajoutez les deux lignes suivantes tout au début du programme :
1 print ( " What is your name ? " )
2 name = input ()

et modifiez l’expression « "Hello" + " " + "World!"” » en « "Hello" + " " + name + "!" ».
Que fait cette nouvelle version du programme selon vous ? Que fait la fonction input ? À quoi sert la
variable name ? L’instruction « name = input () » affiche-t-elle quelque chose sur le terminal ? Si non,
quel est l’effet de cette instruction ? Vérifiez vos hypothèses en exécutant de nouveau le programme.
1. D’où vient cette tradition ? La réponse ici : [Link]

1
Écrivez des commentaires avant chacune des lignes que nous venons de rajouter pour la paraphraser
avec vos mots.
5. Modifiez le programme pour qu’il demande le nom et le prénom de l’utilisateur puis affiche :
1 Hello prenom nom !

6. Modifiez maintenant votre dernière instruction en la remplaçant par deux instructions comme suit :
1 print (...)

devient :
1 myfile = open ( " helloyou . txt " , mode = " w " )
2 print (... , file = myfile )

Quel est maintenant l’effet de l’instruction print ?

Exercice 2 (Pattern dans le terminal, ?)

1. Ouvrez le fichier [Link]. Exécutez le programme. Que fait-il ? Pouvez-vous le modifier pour qu’il
affiche 20 dièses sur une ligne ?
2. Dans le fichier [Link], que se passe-t-il si à la ligne 4, vous remplacez print("#",end="") par
print("#") ?
3. Ouvrez le fichier [Link]. Exécutez ce programme. Pouvez-vous utiliser une partie de ce pro-
gramme (en la copiant-collant), pour que dans le fichier [Link], le programme demande combien
de dièses afficher sur une ligne et les affiche.
4. Ouvrez le fichier [Link]. Exécutez de programme. Que fait-il ? Que se passe-t-il si vous remplacez
la ligne 10 par ch = "A" ?
5. Annulez la modification précédente dans [Link]. Que se passe-t-il si maintenant on change la ligne
13 par ch = ch + "B" ? En déduire une façon pour faire afficher au programme un carré plein
de dièses plutôt qu’un carré vide.
6. Modifiez votre programme pour lui faire afficher un carré plein de dièses de taille 20 par 20 au lieu de
10 par 10. Pouvez vous le modifier pour lui faire faire un rectangle de largeur 30 et de hauteur 15 ?
7. Modifiez votre code pour qu’il demande à l’utilisateur de rentrez une largeur et une hauteur récupère
ces deux nombres tapés au clavier et affiche le rectangle correspondant.

Exercice 3 (L’artiste, ?)
Le fichier [Link] contient un programme qui dessine le début d’un carré. Pour cela, il utilise une
bibliothèque de fonctions de dessin inspirées du langage LOGO 2 , un des premiers langages conçus pour
apprendre la programmation.
1. Lisez attentivement le code source du programme. Une fois que vous l’avez lu, exécutez-le grâce à la
commande :
1 python3 dessine . py

2. Faîtes des tests afin de comprendre à quoi correspondent les fonctions [Link] et turtle
.forward.
3. Modifiez le code pour finir de dessiner un carré.
4. Modifiez le code pour ajouter un triangle au-dessus du carré afin d’obtenir le schéma d’une ’maison’.
2. [Link]

2
5. Ajoutez les lignes suivantes à votre programme (avant les instructions gérant le code de fermeture de
la fenêtre) :
1 turtle . up ()
2 turtle . goto (150 ,150)
3 turtle . down ()
4 turtle . forward (60)

Qu’observez-vous ?
6. Utilisez ce que vous avez pu déduire des questions précédentes pour dessiner deux maisons l’une à côté
de l’autre.

Exercice 4 (Des dessins à répétition, ??)


On s’intéresse dans cet exercice au programme se trouvant dans le fichier [Link].

1. Le programme actuel dessine deux créneaux. Pouvez-vous le modifier pour lui en faire dessiner 4 ? Et
si l’on veut lui en faire dessiner 6 ?
2. Comment faire, si l’on veut que les créneaux soient plus hauts (avec la même largeur) et pour les faire
moins larges ?
3. (Bonus) En utilisant une variable largeur modifiée à chaque tour de la boucle for, modifiez votre
code pour que les créneaux soient de moins en moins larges au fur et à mesure qu’ils sont dessinés.
4. À partir de ce que vous avez vu, créez un programme pour faire une spirale carré. Dans un pre-
mier temps, on pourra créer cette spirale sans boucle for mais ensuite il serait judicieux d’avoir un
programme utilisant une boucle for. Voilà un exemple de ce que vous pouvez obtenir.

Vous aimerez peut-être aussi