Vous êtes sur la page 1sur 8

Somme des n premiers entiers non nuls

Module : somme de 1 à n

Il s'agit d'effectuer la somme des n premiers entiers non nuls.

1. Exemple de la somme des 100 premiers entiers non nuls
a/ Utilisation d'une fonction
A l'aide du logiciel OpenOffice.org Calc, on utilise la fonction SOMME().
• on affecte la valeur 1 à la cellule A1
• on étire jusqu'à la cellule A100
• A101 = SOMME(A1:A100)

b/ Utilisation d'un tableur
A l'aide du logiciel OpenOffice.org Calc et sans utiliser la fonction SOMME(), on peut établir une formule.
• on affecte la valeur 1 à la cellule A1
• on étire jusqu'à la cellule A100
• on affecte la valeur 1 à la cellule B1
• on définit la cellule B2 par la formule = B1 + A2
• on étire jusqu'à B100

M. Gallice Stéphane Page 1 / 8 28/04/10 


Somme des n premiers entiers non nuls

2. Algorithme
a/ Langage naturel / langage symbolique
Un algorithme est une séquence d'actions : les instructions s'effectuent les unes après les autres et non 
simultanément. Un algorithme a une fonction, un objectif : il transforme des entrées (aucune, une ou plusieurs) 
en sorties (une ou plusieurs).

On propose, grâce à un algorithme, de donner la somme des n premiers entiers non nuls.
On considère l'algorithme du tableau 1.

Algorithme Commentaires
Variables
s : entier naturel Somme
k : entier naturel Compteur pour la boucle
n : entier naturel Nombre de fois où la boucle sera parcourue
Entrée
Saisir n
Traitement
s prend la valeur 0 On initialise la variable s
Pour k variant de 1 à n
s prend la valeur s + k On additionne k à la somme partielle puis on l'affecte à s
Fin Pour
Sortie
Afficher s On affiche la somme finale
Tableau 1 – Algorithme

L'instruction « s prend la valeur s + k » s'écrit « s  sk » ou « sk  s ».


L'assignation est une instruction qui consiste à inscrire dans une variable une valeur calculée depuis une 
expression. Attention : la nouvelle valeur affectée « écrase » la précédente.

b/ Vérification et contrôle systématique
On applique à la main cet algorithme à la somme des 5 premiers entiers non nuls.
Prendre n = 5 et compléter le tableau 2.

k 1 2 3 4 5
s 0 1 3 6 10 15
Tableau 2 – Simulation algorithmique

M. Gallice Stéphane Page 2 / 8 28/04/10 


Somme des n premiers entiers non nuls

3. Organigramme
On représente graphiquement les structures de cet algorithme par un organigramme.
Deux notions apparaissent :
• la notion de boucle : tant qu'un résultat attendu n'apparaît pas, on recommence les opérations ;
• la notion de compteur ou d'incrémentation : on augmente un entier de 1, l'incrément, tant que le résultat 
attendu n'apparaît pas.

M. Gallice Stéphane Page 3 / 8 28/04/10 


Somme des n premiers entiers non nuls

4. Programmation avec un logiciel
a/ Programmation avec AlgoBox

On distingue algorithme et programme.
De l'algorithme découle un programme informatique
exécuté sur une machine.
Le programme est une traduction de l'algorithme
dans un langage de programmation.

On effectue la somme des 100 premiers entiers non nuls.

M. Gallice Stéphane Page 4 / 8 28/04/10 


Somme des n premiers entiers non nuls

b/ Programmation avec XCAS
On effectue la somme des 100 premiers entiers non nuls.
Le logiciel libre est accessible en ligne.

• On n'utilise pas la fonction somme !
• On peut insérer un commentaire à l'aide de //
• Il est conseiller d'indenter le texte c'est­à­dire agrandir la marge sur le paragraphe afin de mettre en valeur 
la structure du texte.
• On peut insérer print(+k) afin d'évaluer le contenu d'une variable.
• On peut tester pour les valeurs ­5, 6,7...

sommee(n):= {
local s,k;
s:=0 ;
for (k:=1;k<=n;k++) {s:=s+k;};
print("La somme de 1 à "+n+" est égale à "+s+".");
}

sommeee(n):= {
local s,k;
s:=0 ;
pour k de 1 jusque n faire
s:=s+k
fpour;
afficher("La somme de 1 à "+n+" est égale à "+s+".");
}

M. Gallice Stéphane Page 5 / 8 28/04/10 


Somme des n premiers entiers non nuls

4. Programmation avec une calculatrice

CASIO GRAPH 35+ Texas Instruments TI­82 Stats.fr


"N"?→N Prompt N
0→S 0→S
For 1→K To N For (K,1,N)
S+K→S S+K→S
Next End
S Disp S

5. Applications
a/ Nombre de segments
Le nombre de segments dans un pentagone est égal à sommee(4) = 10.
Le nombre de segments entre 101 points est égal à 5050.

b/ Nombre de  poignées de mains
101 personnes se réunissent et se saluent toutes en échangeant une poignée de mains.
Combien de poignées de mains sont ainsi échangées ?
c/ Nombre triangulaire
Le nombre triangulaire est le nombre de "points" nécessaires pour construire un triangle (avec une base 
augmentée de l'unité pour chaque triangle plus grand). L'envolée d'oiseaux et le festival de vol artistique d'avions 
suivent le principe des nombres triangulaires !

d/ Factorielle d'un nombre
La factorielle d'un entier naturel n, notée n!, est le produit des nombres entiers strictement positifs inférieurs ou 
égaux à n.
Pour calculer la factorielle d'un nombre, il faut modifier l'algorithme.
factoriellee(n):= {
local p,k;
p:=1 ;
for (k:=1;k<=n;k++) {p:=p*k;};
print("Le factoriel de "+n+" est égal à "+p+".");
}

M. Gallice Stéphane Page 6 / 8 28/04/10 


Somme des n premiers entiers non nuls

6. Propriétés mathématiques
a/ Exemple historique
Johann Carl Friedrich Gauß (30 avril 1777 ­ 23 février 1855) est un mathématicien, astronome et physicien 
allemand. Fait historique ou légende, on raconte qu'à 7 ans ou 10 ans, Gauss a trouvé la manière de calculer la 
somme des nombres de 1 à 100 très rapidement, à la grande surprise de son professeur. En effet, il remarqua que 
faire la somme deux à deux en partant des extrémités allait plus vite : chaque somme vaut 101 et il y en a 50, soit 
le résultat 101×50=5050 .

1 2 3 ... 99 100  S
100 99 98 ... 2 1  S
   ...   
101 101 101 ... 101 101  2S

On en déduit l'égalité suivante.
2 S=100×101
100×101
S=
2
S=5050
b/ Généralisation

1 2 3 ... n­1 n  S
n n­1 n­2 ... 2 1  S
   ...   
n+1 n+1 n+1 ... n+1 n+1  2S

On en déduit l'égalité suivante.
2 S=n×  n1
n×  n1
S=
2

On considère l'algorithme du tableau 3.

Algorithme Commentaires
Variables
s : entier naturel Somme
n : entier naturel Nombre de fois où la boucle sera parcourue
Entrée
Saisir n
Traitement
s prend la valeur n*(n+1)/2 On calcule la somme puis on l'affecte à s
Sortie
Afficher s On affiche la somme
Tableau 3 – Algorithme

6. Complexité
On effectue la somme des 100 premiers entiers non nuls.
Lorsqu'on utilise sommee(100), on effectue au moins 300 calculs :
100 incrémentation de k
100 sommes s+k
100 assignation
Lorsqu'on utilise sommedirecte(100), on effectue au moins 4 calculs :
1 somme n+1
1 multiplication n*(n+1)
1 division par 2
1 assignation

M. Gallice Stéphane Page 7 / 8 28/04/10 


Somme des n premiers entiers non nuls

7. Sitographie

OpenOffice.org : suite bureautique libre et ouverte
http://fr.openoffice.org/

Mozilla Firefox : navigateur Web gratuit
http://www.mozilla.com/fr/

XCAS : logiciel libre de calcul formel
http://www­fourier.ujf­grenoble.fr/~parisse/install_fr

XCAS en ligne
http://vds1100.sivit.org/giac/giac_online/demoGiacPhp.php

Algorithmique en seconde avec XCAS
http://revue.sesamath.net/spip.php?article241

AlgoBox : logiciel pédagogique d'aide à la création et à l'exécution d'algorithmes
http://www.xm1math.net/algobox/download.html

Tutoriel d'initiation à l'algorithmique avec AlgoBox
http://www.xm1math.net/algobox/tutoalgobox/index.html

Site personnel
http://www.netvibes.com/gallice­stephane

M. Gallice Stéphane Page 8 / 8 28/04/10 

Vous aimerez peut-être aussi