Vous êtes sur la page 1sur 17

TD PROGRAMMATION

I. Présentation

Ce td est à réaliser entièrement à la maison et fera l’objet d’un retour


d’expérience avec explication(s) si nécessaire lors d’une prochaine séance de
TD en salle avec votre enseignant.
La thématique abordée dans cette séance gravite autour des concepts de base
de la programmation et s’inscrit naturellement en relation directe avec la 3ème
compétence de PIX nommée « création de contenu ».
L’univers de la programmation est très certainement bien distant de votre
cœur de métier actuel lié au droit et c’est pour cela que les objectifs du travail
qui vous est demandé ici sont mesurés et atteignables par toutes et tous.
Afin d’assurer votre progression tout en permettant une transition idéale vers
PIX, vous allez avoir l’occasion de pratiquer avec deux plateformes de
programmation accessibles par un simple navigateur internet sur tout type
d’ordinateur.

II. Les concepts :


Pour réaliser cette approche de l’univers de la programmation, nous allons
concevoir quelques programmes dont la structure restera simple dans tous les
cas.
Pour cette initiation, nous allons considérer que chaque programme présente
une structure similaire que nous pouvons décomposer en 3 parties . Si on
voulait faire un parallèle avec la composition d’une dissertation nous pourrions
dire que dans un programme informatique il y a également 3 parties distinctes
nommées : Introduction / Développement / Conclusion.
P1 Introduction :
Dans cette première partie, nous allons retrouver tout le nécessaire
permettant de mettre en place les informations qui seront utilisées par
le cœur du programme (la partie développement) comme par exemple :
• La définition des variables
• Les conditions initiales
• La saisie des données par l’utilisateur

P2 Développement :
Dans cette zone que l’on considère comme le cœur du programme, nous
allons retrouver toute la partie opérative de celui-ci, c’est-à-dire tout le
nécessaire au traitement des données et à l’obtention des résultats
attendus.
Nous y retrouverons notamment :
• Des fonctions
• Des structures répétitives appelées aussi parfois boucles itératives
• Des structures de tests

P3 Conclusion :
Cette dernière partie est, quant à elle, essentiellement consacrée à la
préparation et à l’affichage des résultats attendus.
On notera que parfois, nous pouvons avoir affaire à des organisations
dont les 2 dernières parties sont communes.
Ce sera le cas par exemple pour les programmes de ce TD qui
consisteront à réaliser un graphisme ou bien un affichage répétitif de
résultats.
III. Exemples

Ø Voici l’exemple d’un programme


simple écrit en langage PYTHON avec 3
parties bien distinctes :

x=13

resultat=x+2

resultat=resultat*2

print(resultat)

Dans ce programme, L’introduction consiste donc à affecter la valeur 13 à la


variable x.
Ensuite, 2 calculs consécutifs sont effectués dans la partie développement :
• Le premier entraine que la variable resultat devient égale à 15.
• Le second entraine, quant à lui, que la variable resultat devient égale à
30.
Pour finir, dans sa partie conclusion, le programme affichera donc simplement
la valeur de la variable resultat, donc :
30
Ø Voici maintenant le même programme
écrit avec un langage de programmation
visuel sur une plateforme appelée
SCRATCH :
Ø Voici une seconde version plus évoluée
de ce programme :

x=int(input("Entrer au clavier la valeur de x de votre choix : "))

resultat=x+2

resultat=resultat*2

print("Quand x vaut ",x," le résultat vaut ",resultat," !")

Lors de l’exécution de ce programme, la partie P1 affichera un message invitant


l’utilisateur à saisir au clavier un nombre. La variable x sera donc égale à ce
nombre saisi.
Les calculs réalisés sont les mêmes que précédemment en zone P2.
En revanche, l’affichage du résultat lors de l’exécution sera nettement plus
riche que précédemment et se présentera donc de la manière suivante :
Quand x vaut 13 le résultat vaut 30 !
Ø Voici une troisième version plus
sophistiquée :

En P1, on se contente ici de donner la valeur 3 à la variable x. Celle valeur est


totalement arbitraire (on aurait très bien pu mettre 38, 4 ou 999) et doit
simplement être différente de zéro, car comme l’indique le message qui sera
affiché lors de l’exécution de la ligne 2, le programme cessera de s’exécuter dès
lors que l’utilisateur entrera la valeur 0 en réponse à la question « Entrer une
valeur de x ».
En P2, nous avons une structure de boucle répétitive de type TANT QUE
(traduction de While) qui fera que tout le contenu de la zone mauve sera
répété TANT QUE la valeur de la variable x (la valeur saisie au clavier par
l’utilisateur lors de l’exécution de la ligne 4) sera différent de zéro.
La boucle WHILE est donc une boucle répétitive conditionnelle
Dès que l’utilisateur entrera la valeur zéro lors d’un passage en ligne 4, le
programme effectuera une dernière fois l’exécution des lignes 5, 6 et 7 pour se
diriger vers l’exécution de la ligne 9 ( affichage d’un message de fin ), une ligne
qu’il n’exécutera donc qu’une seule fois.
IV. Introduction à l’algorithmique.
Dès lors que la structure d’un programme se densifie, nous avons la possibilité
de rendre plus facile la compréhension de celui-ci en produisant son
algorithme. Un algorithme est un schéma constitué de blocs représentants les
différentes étapes du programme reliées entre elles par des flèches
symbolisant le déroulement séquentiel de l’ensemble.
Par exemple, voici l’algorithme du programme précédent :
Selon les auteurs on peut trouver d’autres dispositions similaires, en voici
quelques-unes par exemple pour cette même structure de boucle WHILE :

Ou bien
Ou encore :

Représentation de la boucle While en SCRATCH


1. Les boucles les plus courantes :

1. La boucle WHILE (traduction : TANT QUE) vue au-dessus

2. La boucle FOR (traduction : POUR)

Exemples :

Fig.1

Fig. 2

ICI, dans les 2 cas , on sait exactement combien de fois la boucle FOR va
s’exécuter car cette quantité est fixée dans le programme alors que pour les
boucles WHILE, on ne peut jamais savoir à l’avance combien de fois elles seront
exécutées.
Fig.3

La représentation équivalente de la boucle FOR en SCRATCH :

Fig.4
2. La structure conditionnelle appelée aussi la fonction
« SI ALORS SINON» ou encore « IF THEN ELSE »

Voici un exemple de cette structure en langage PYTHON :

Fig.5

Et voici sa représentation algorithmique et son équivalence en SCRATCH


V. TRAVAIL A REALISER :

En compléments des explications demandées,


vous fournirez des copies d’écran des résultats
obtenus pour toutes les questions le
nécessitant afin de réaliser votre compte
rendu.

1. Pour les 2 programmes proposés page 10 en fig.1 et


fig.2, vous testerez ces programmes en les tapant
sur la plateforme suivante :
https://www.programiz.com/python-programming/online-compiler/
Bouton pour exécuter le programme

Coté saisie du programme Coté visualisation du résultat


Questions pour chaque programme (Fig.1 et Fig.2):
a) Combien de fois s’exécutent la boucle FOR, expliquer
pourquoi. Vous expliquerez également quelles sont les
différentes valeurs prises par la variable i à chaque bouclage.
b) Produire un algorithme correspondant au programme.

2. Pour le programme de la fig.2, ajouter une ligne de


programme en ligne 7 pour afficher la valeur prises
par la variable i à chaque bouclage : Prévoir ainsi un
message du style :

la boucle FOR s’exécute pour la … ième fois

(la valeur de i sera bien évidemment positionnée à la place des


3 petits points).
3. Voici un programme dont le contenu est fourni ci-
dessous :

Nb=0
Voy="aeiouy"
nom=input("Entrez vos Nom et prénom : ")
long=len(nom)

for i in range(6):
Nb=Nb+nom.count(Voy[i])

if Nb/2 == int(Nb/2):
parité="PAIRE"
else:
parité="IMPAIRE"

print("Mes Nom et prénom comptent ",i,"caractères en tout dont ", long, " sont
des voyelles. Cette quantité voyelle est donc " , parité)

a) Copier/Coller ce contenu dans la fenêtre de saisie de la


plateforme PYTHON vue au dessus.
b) Si vous exécutez ce programme, vous allez devoir
répondre à la question qui vous est posée côté droit de
l’écran. Saisir votre réponse en minuscule exclusivement puis
cliquer « ENTREE » sur votre clavier.
Vous remarquerez alors que ce programme ne fonctionne pas
correctement car il n’affiche pas les bons résultats attendus.
Etudier son fonctionnement et apporter les corrections
nécessaires pour le rendre fonctionnel.
c) Réaliser alors l’algorithme de ce programme
d) Que se passe -t-il si vous vous saisissez vos nom et
prénom en majuscule ?
e) Apporter les modifications nécessaires afin que ce
programme puisse fonctionner dans toutes les circonstances
de saisie (minuscule et/ou majuscule).

4. Réaliser un programme sur la plateforme SCRATCH


équivalent à celui de la Fig.2 page 10

La plateforme SCRATCH est disponible en ligne sur le lien suivant :

https://scratch.mit.edu/projects/editor/?tutorial=getStarted

Des tutoriels de prise en main de cette plateforme sont disponibles en ligne et en voici quelques
liens :

https://www.youtube.com/watch?v=pdtMUgnmRa4

https://www.youtube.com/watch?v=8Sfarvw6jgg

https://www.youtube.com/watch?v=qPF7vTP_VBs

Pour réaliser ce programme, vous aurez besoin de créer 2 variables de type chaine de caractères afin
de pouvoir afficher les messages prévus sur la Fig.2 en ligne 6 et 8. Afin de comprendre plus
rapidement comment procéder, un programme nommé SPRITE1 est disponible sur UPDAGO. Testez
le et servez-vous en de base pour ce travail.

Procédure pour importer un programme SCRATCH :

Une fois téléchargé et stocké le programme « SPRITE1 » sur votre ordinateur,


vous chargerez ce programme « SPRITE1 » dans la plateforme SCRATCH en
cliquant sur le bouton « IMPORTER UN SPRITE »
5. Un programme SCRATCH nommé « SPRITE2 » est
disponible sur Updago.
Une fois téléchargé et stocké sur votre ordinateur, vous chargerez ce
programme « SPRITE2 » dans la plateforme SCRATCH .
a) Exécuter ce programme
b) Réaliser l’algorithme de ce programme
c) Modifier ce programme pour que le graphisme réalisé
par le déplacement du chapeau soit un carré dont les cotés
seront de taille égale à 100. Faire alors une sauvegarde du
programme obtenu en faisant un clic-droit puis « exporter »

d) Modifiez à nouveau pour dessiner maintenant un


rectangle de 100 par 50. Sauvegardez à nouveau ce
programme.
e) Réaliser un programme sur SCRATCH permettant de
dessiner une lettre E majuscule de hauteur 50 et de largeur
30. Afin de limiter la quantité de blocs utilisés pour ce
programme, vous tiendrez compte du fait que la lettre E se
compose en réalité de 2 morceaux identiques et superposés
comme celui-ci :

Vous aimerez peut-être aussi