TP Python n°3

samedi 31 août 2019
par  Florent Girod

pour bien voir

Nous allons repartir du programme saisi ensemble sur la calculatrice :

def prog(a):
   return a*0.75-2

def rep(n,a):
   for i in range(n):
       a=prog(a)
   return a

Il y a deux façons d’exécuter la fonction rep(n,a) :

  • dans la console comme on l’a fait jusqu’à présent ;
  • en ajoutant ce qu’on veut être exécuté en bas du script ; par exemple, res=rep(20,3) en fin du script précédent.

Si on veut que le résultat soit affiché, on ajoutera print(res)

Faites l’essai !

pas à pas

Sur le site pythontutor, on peut visualiser les étapes au fur et à mesure et voir la valeur prise par chaque variable.

Tapez le code précédent dans la fenêtre du script proposé et ensuite, vous cliquez sur vizualize execution

En appuyant sur forward, on voit le programme se dérouler pas à pas.

un problème

Voici une consigne :

Je vais dans un magasin de bricolage ; je veux acheter du sable, on me dit qu’il est vendu 2 euros le kg.

Dans un nouveau programme SABLE, créer une fonction prix() qui renvoie le prix à payer quand on connaît la quantité de sable acheté

réponse

def prix(a):
   return 2*a

La consigne évolue : on vous indique maintenant que le prix se construit de la manière suivante :

  • on paie 2 euros par kg si on achète moins de 50 kg ;
  • on paie 100 euros puis 1,5 euros par kg au-delà de 50 kg.

Par exemple, si on achète 120 kg de sable, on paiera :

100 + (120 - 50) x 1,5 =100 + 70 x 1,5 = 205 euros

Créer une fonction prix2() qui renvoie le prix à payer.

aide

Il y aura deux cas à traiter :

  • si on a moins de 50 kg
  • sinon ...

A vous de voir quelle structure algorithmique peut vous aider (menu FNS puis CTL)


réponse

def prix(a):
   if a < 50 :
       return 2*a
   else :
       return 100+(a-50)*1.5

à retenir

Le site PYTHONTUTOR qui permet de voir ce qu’il se passe dans un programme pas à pas.

La structure

if condition :
   ...
else :
   ...

en plus

S’il vous reste du temps, vous pouvez chercher l’activité 1 page 8 du manuel de maths sans forcément reprendre la question 1 parlant du programme en Scratch. PNG - 268.9 ko


Navigation

Articles de la rubrique