Introduction
La sommation est l'action de calculer l'addition de deux ou plusieurs nombres afin d'obtenir la somme ou son total. Une matrice est un tableau contenant plusieurs éléments, généralement sous forme de nombre.
Simple somme
L'addition de 2 nombres est relativement simple et peut être fait de la façon suivante en Turbo Pascal :
on obtiendra le résultat suivant :
1 + 2 = 3Somme cumulative de 99 éléments
Cette opération en apparence banale, est très facile à faire pour une machine comme un micro-ordinateur avec un langage de programmation, mais, en revanche, beaucoup plus difficile pour un humain car l'humain à tendance à faire des erreurs dans les tâches répétitives. Prenez par exemple, le programme Turbo Pascal suivant, dans lequel est effectue le calcul d'une somme de valeur incrémenté dans un intervalle de 1 à 99 :
on obtiendra le résultat suivant :
1*2 + 2*3 + ... + 99*100 = 670Passons en revue ce programme ligne par ligne, avec quelques détails reportés. La première ligne, «Program SumSamples;» est une déclaration; dans ce cas, il déclare un programme nommé SumSamples. La deuxième ligne, «Var N,S:Word;» est une déclaration des deux variables, N et S, de type Word, de type naturel (entier non signé) ayant un domaine de [0, 65535]. La quatrième ligne «S:=0;» initialise la variable S (la somme partielle) à 0. La cinquième ligne exécute une boucle 99 fois; à chaque fois S est augmenté du produit N(N+1), où le compteur N passe de 1 à 99. La ligne suivante affiche le résultat à l'écran. Tout d'abord, une chaîne de caractères littérale est écrite. (Les guillemets simples '...' délimitent une chaîne de caractères littérale.) Elle est suivie de la valeur calculée de S. Les deux dernières lettres de «WriteLn» signifient que le curseur se déplace au début de la ligne suivante (retour chariot/saut de ligne) une fois que tout est écrit.
- Le mot «program» est un mot réservé. Ce mot réservé permet d'indiquer qu'il ne peut pas être utilisé par un identificateur et qu'il est immuable au langage de programmation Turbo Pascal.
- Le mot SumSamples est un identifiant défini par l'utilisateur. Les identificateurs peuvent être tous les mots que vous voulez, sauf les mots réservés (sacrés au langage de programmation).
- Un identificateur est une séquence de lettres, de chiffres et du caractère de soulignement "_". Le premier caractère doit être une lettre ou un trait de soulignement. Le Turbo Pascal est insensible à la casse. Autrement dit, «SumSamples», «sumsamples», «SUMSAMPLES»,... sont tous le même identifiant.
- Notez la fonction dans le programme. Les points-virgules terminent les déclarations et les instructions séparées dans la partie action d'un programme. La virgule est toujours utilisée pour séparer les éléments d'une liste, dans le cas des lignes 4 et 7. Les deux points séparent la liste des variables déclarées de leur type Word. Ils se programmes sous forme de phrases, et de points.
- Il y a deux affectations «:=» dans le programme. Dans Turbo Pascal, le signe égal en lui-même n'est jamais utilisé pour l'affectation; il a une autre utilité (soit un test d'égalité). Les produits doivent avoir l'opérateur binaire «*» écrivant leurs facteurs. L'expression mathématique ax2 dans un programme Turbo Pascal s'écrit «a*x*x».
Somme d'une matrice à 1 dimension
Suivant le même principe, plutôt que d'affecter toujours la même variable avec une valeur, on peut tout simplement se créer un tableau (soit une matrice) et la parcourir afin d'obtenir le résultat. Voici un exemple de l'addition de chacun des éléments d'une matrice afin d'en obtenir la somme :
- Program SumMatrixSamples;
-
- Const
- Matrix:Array[0..9]of Word=(9,10,5,4,3,20,1,8,7,15);
-
- Var
- I:Word;
- Sum:Word;
-
- BEGIN
- Write('Les éléments de la matice sont les suivants : (');
- For I:=Low(Matrix) to High(Matrix) do Write(Matrix[I],',');
- WriteLn(')');
- Sum:=0;
- For I:=Low(Matrix) to High(Matrix) do Sum:=Sum+Matrix[I];
- WriteLn('La somme de la matrice est la suivante : ',Sum);
- END.
Somme cumulative cubique
L'exemple suivant permet de calculer la somme cubique de 10 termes :
on obtiendra le résultat suivant :
Nombre de termes N0=10S = Sum 1/N^3 de N=1 à N = 10
S = 1.1975319857E+00
Le programme utilise les types Real et Word, et la procédure WriteLn de l'unité de bibliothèque System, étant automatiquement liée au programme lors de sa compilation. Notez que la boucle for recule à cause du downto au lieu de to.