Tâche
Trouvez la somme de tous les nombres entiers entre 100 et 500.
Écrivons un programme qui résout ce problème sans utiliser de formule. Si nous écrivons simplement le résultat de l'addition à la variable
s
, par exemple, comme
\(s=100+101+102+103+...+500\),
nous passerons beaucoup de temps sur l'enregistrement lui-même, car l'ordinateur ne comprendra pas comment utiliser les points de suspension dans une expression arithmétique et nous devrons écrire tous les nombres de 100 à 500. Et la valeur d'un tel programme sera négligeable. Surtout si nous voulons changer nos chiffres et prendre une gamme différente.
Que devons-nous faire ?
Si nous prêtons attention à l'entrée ci-dessus, nous utilisons constamment l'ajout "
+
".
Vous pouvez essayer d'ajouter progressivement des nombres à la variable
s
. Par exemple, en utilisant cette notation
s=s+i
.
Ce que nous avons fait ici :
1) à droite nous mettons l'expression s+i
, c'est-à-dire que nous prenons la valeur de la variable s
et ajoutons le valeur de la variable à elle i
;
2) à gauche, nous définissons le nom de la variable s
, c'est-à-dire que tout le résultat du calcul à droite sera stocké dans la même variable s
, donc nous allons changer la valeur de la variable s
.
Il ne reste plus qu'à changer la valeur de la variable i
dans la plage souhaitée. Cela peut être fait avec une boucle for
.
Les nombres de 100 à 500 qui sont dans notre gamme doivent entrer tour à tour dans la variable
i
.
Exemple
# IMPORTANT! Vous devez d'abord réinitialiser la variable s,
# pour qu'à la première étape le nombre 100 soit ajouté à zéro,
# et non à ce qui est en mémoire !
s = 0
for i in range(100, 501): # en-tête de boucle où je
s += i # change sa valeur de 100 à 500 par pas de 1,
# dans le corps de la boucle progressivement vers la variable s,
# ajouter la valeur de la variable changeante i,
# et enregistrez le résultat dans la variable s
Cette solution est très similaire au calcul de la somme des actions :
\(s = 0 + 100 = 100, \\ s = 100 + 101 = 201, \\ s = 201 + 102 = 303 \\ ... \) durée>