Poster une réponse 
TP5 : Tableau de valeurs d'une fonction (boucles pour)
28-06-2017, 07:10 PM
Message : #1
TP5 : Tableau de valeurs d'une fonction (boucles pour)
Ouvrir un nouveau fichier

Soit f la fonction définie sur par f(x) = x2

1) afficher les images des nombres entiers de -6 à 6


Voilà ce qu'il faut faire :

x = -6
calculer f(x)
afficher x et f(x)
x = -5
calculer f(x)
afficher x et f(x)
x = -4
calculer f(x)
afficher x et f(x)
x = -3
calculer f(x)
afficher x et f(x)
x = -2
calculer f(x)
afficher x et f(x)
x = -1
calculer f(x)
afficher x et f(x)
x = 0
calculer f(x)
afficher x et f(x)
x = 1
calculer f(x)
afficher x et f(x)
x = 2
calculer f(x)
afficher x et f(x)
x = 3
calculer f(x)
afficher x et f(x)
x = 4
calculer f(x)
afficher x et f(x)
x = 5
calculer f(x)
afficher x et f(x)
x = 6
calculer f(x)
afficher x et f(x)

C'est un travail long et répétitif decu
On doit répéter 13 fois 3 instructions "semblables"
On va demander à un ordinateur de faire ça à notre place whistle

Dans Scratch, on utiliserait le bloc répéter 13 fois hum
[Image: scratchpour.png]

Les blocs répéter s'appellent dans les langages de programmation des instructions itératives ou des boucles

Il y a 2 sortes de boucles :
• les boucles non bornées : ce sont les boucles tant que (while)
(dans Scratch : répéter jusqu'à ...)
• les boucles bornées : ce sont les boucles pour (for)
(dans Scratch : répéter ... fois)

arrow nous allons utiliser une boucle pour
car nous savons qu'on va répéter 13 fois

: tutoriel : les boucles pour(Voir)
Les instructions itératives ou boucles
sont utilisées pour répéter des instructions

1) Les boucles bornées

Ce sont les boucles que l'on répète n fois (n étant un nombre fixe)
Dans ce paragraphe, on prendra n=10

Dans Scratch, elles correspondent au bloc suivant :
[Image: pytuto4.png]

arrow En algorithmique, ce sont les boucles pour
qui utilisent une variable pour compter le nombre de répétitions
pour variable allant de valeur initiale à valeur finale
-------début
-------instructions
-------fin


arrow En python, ce sont les boucles for
for variable in range(valeur initiale , valeur finale + 1) :
    instructions

arrow valeur initiale et valeur finale doivent être des nombres entiers

Dans notre exemple, pour répéter 10 fois, on peut écrire :
for i in range(1,11) :
range(1,11) veut dire que la variable i prend successivement les valeurs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (et pas 11)
ou bien
for i in range(0,10) :
range(0,10) veut dire que la variable i prend successivement les valeurs 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (et pas 10)
ou bien
for i in range(15,25) :
range(15,25) veut dire que la variable i prend successivement les valeurs 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 (et pas 25)

arrow Par défaut, la valeur initiale est 0
Ainsi range(10) signifie range(0,10)
Le plus simple (pour répéter 10 fois) est donc
for i in range(10) :

Exemples :



[Image: pytuto8.png][Image: pytuto9.png]



[Image: pytuto10.png][Image: pytuto11.png]


flecherouge L'intérêt d'utiliser une variable pour répéter
est qu'on peut utiliser cette variable dans la boucle good

[Image: pytuto12.png] [Image: pytuto12 0.png] [Image: pytuto13.png]
[Image: pytuto12 1.png] [Image: pytuto12 2.png]


flecherouge On peut aussi rajouter un pas (ou un incrément)
le pas doit être aussi un nombre entier

pour variable allant de valeur initiale à valeur finale pas valeur du pas
-------début
-------instructions
-------fin

for variable in range(valeur initiale , valeur finale + 1 , valeur du pas) :
    instructions

• range(4,11,2) veut dire que la variable prend successivement les valeurs 4, 6, 8 et 10

Par défaut, le pas est égal à 1
• range(4,11) veut dire range(4,11,1)

flecherouge Ecrire une fonction f qui renvoie l'image d'un nombre par la fonction f
(vérifier en appelant cette fonction dans la console)

flecherouge Ecrire une fonction images qui affiche les images, par la fonction f, des entiers de -6 à 6
(vérifier en appelant cette fonction dans la console)

: Solution :(Voir)
[Image: tp6(1).png]
La fonction images n'a pas d'entrée (comme la fonction appréciation dans le tutoriel sur les fonctions >> ici <<)

La fonction images ne renvoie pas de valeur car on lui demande d'afficher des résultats
Pour l'appeler, on écrit images() dans la console
[Image: tp6(2).png]

flecherouge Modifier la fonction images pour qu'elle affiche les images, par la fonction f, des entiers à partir d'un entier choisi min jusqu'à un autre entier choisi max
(dans l'exemple précédent, min=-6 et max=6)
(vérifier en appelant cette fonction dans la console)
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
23-11-2020, 06:44 PM
Message : #2
TP5 : Tableau de valeurs d'une fonction (boucles pour)
Soit f la fonction définie sur par f(x) = x2

2) afficher les images des nombres décimaux de -5 à 5 en allant de 0,1 en 0,1


On ne peut plus utiliser une boucle pour
car, dans une boucle pour, la variable (le compteur) est un nombre entier decu

On va utiliser une boucle tant que

: tutoriel : les boucles tant que(Voir)
2) les boucles tant que

Ce sont les boucles que l'on répète un certain nombre de fois
tant qu'une condition est vérifiée

Dans Scratch, elles correspondent au bloc suivant :
[Image: pytuto17.png]

En algorithmique, ce sont les boucles tant que
tant que condition faire
-------instructions
fin tant que

En Python, ce sont les boucles while
while condition :
    instructions


Une boucle tant que est plus générale qu'une boucle pour
car on peut écrire une boucle for avec une boucle while hoho

Il suffit de créer une variable (un compteur)
qui va être incrémentée dans la boucle (pour compter le nombre de passages dans la boucle)

arrow les algorithmes suivants sont équivalents

pour i allant de 3 à 10
-------afficher i
fin pour
3 i
tant que i<=10 faire
-------afficher i
-------i i + 1
fin tant que

arrow les programmes Python suivants sont équivalents

[Image: pytuto18.png] [Image: pytuto19.png] [Image: pytuto20.png]


arrow Avec une boucle tant que, on peut créer des boucles avec des valeurs initiales, des valeurs finales et des pas qui sont des nombres décimaux good
arrow la variable n'est pas automatiquement incrémentée (il faut écrire le pas à l'intérieur de la boucle)

Exemple :
[Image: pytuto20 4.png] [Image: pytuto20 5.png]

flecherouge Ecrire une fonction imagesbis qui affiche les images des nombres décimaux compris entre -6 et 6 en allant de 0,1 en 0,1
(vérifier en appelant cette fonction dans la console)
Comme dans la question 1), cette fonction n'a pas d'entrée

flecherouge Modifier la fonction imagesbis pour qu'elle affiche les images des nombres décimaux compris entre 2 nombres quelconques xmin et xmax avec un pas quelconque
(vérifier en appelant cette fonction dans la console)
Pour afficher le tableau de valeurs de -10 à 10 en allant de 0,5 en 0,5
on écrira imagesbis(-10,10,0.5) dans la console...

[Image: 118.gif]
Visiter le site internet de cet utilisateur Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse Return to top
Poster une réponse