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 

MS-10

Embed Size (px)

Citation preview

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 nulsa/ Utilisation d'une fonctionA 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 tableurA 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. Algorithmea/ Langage naturel / langage symboliqueUn 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

Variabless : entier naturelk : entier natureln : entier naturelEntréeSaisir nTraitements prend la valeur 0Pour k variant de 1 à n

s prend la valeur s + kFin PourSortieAfficher s

SommeCompteur pour la boucleNombre de fois où la boucle sera parcourue

On initialise la variable s

On additionne k à la somme partielle puis on l'affecte à s

On affiche la somme finaleTableau 1 – Algorithme

L'instruction « s prend la valeur s + k » s'écrit « s sk » ou « sk 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ématiqueOn 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. OrganigrammeOn 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 logiciela/ Programmation avec AlgoBox

On distingue algorithme et programme.De l'algorithme découle un programme informatiqueexécuté sur une machine.Le programme est une traduction de l'algorithmedans 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 XCASOn 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 faires:=s+kfpour;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→0 S → For 1 K To N

+ →S K SNextS

Prompt N0 S→For (K,1,N)S+K S→EndDisp S

5. Applicationsa/ Nombre de segmentsLe 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 mains101 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 triangulaireLe 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 nombreLa 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ématiquesa/ Exemple historiqueJohann 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.2S=100×101

S=100×101

2S=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.2S=n×n1

S= n× n12

On considère l'algorithme du tableau 3.

Algorithme Commentaires

Variabless : entier natureln : entier naturelEntréeSaisir nTraitements prend la valeur n*(n+1)/2SortieAfficher s

SommeNombre de fois où la boucle sera parcourue

On calcule la somme puis on l'affecte à s

On affiche la sommeTableau 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 k100 sommes s+k100 assignation

Lorsqu'on utilise sommedirecte(100), on effectue au moins 4 calculs :1 somme n+11 multiplication n*(n+1)1 division par 21 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 ouvertehttp://fr.openoffice.org/

Mozilla Firefox : navigateur Web gratuithttp://www.mozilla.com/fr/

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

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

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

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

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

Site personnelhttp://www.netvibes.com/gallice­stephane

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