Sigma et Pi
Publié : mer. 23/nov./2005 14:42
J'avais déjà posté des codes à ce propos, Σ et Π en PureBasic. Les codes postés étaient très simple, et ne supportaient pas les suites (alors que surtout utilisés pour ça). J'ai donc revu et augmenté les codes afin qu'ils soient plus utiles.Maintenant les explications :
Code : Tout sélectionner
Structure Suite
Number.l[100]
EndStructure
Suite1.Suite
Suite1\Number[0] = 0
Suite1\Number[1] = 1
Suite1\Number[2] = 1
Suite1\Number[3] = 2
Suite1\Number[4] = 3
Suite1\Number[5] = 5
Suite2.Suite
Suite2\Number[0] = 8
Suite2\Number[1] = 13
Suite2\Number[2] = 21
Suite2\Number[3] = 34
Suite2\Number[4] = 55
Suite2\Number[5] = 89
Procedure SigmaAndPi(Start, Limit, Exponent, Mode, *Buffer.Suite)
If Mode <2 And Mode >-1
Total = Mode
EndIf
If *Buffer
For k = Start To Limit Step 1
If Mode = 1
Total = Total*Pow(*Buffer\Number[k], Exponent)
ElseIf Mode = 0
Total = Total+Pow(*Buffer\Number[k], Exponent)
EndIf
Next k
Else
For k = Start To Limit Step 1
If Mode = 1
Total = Total*Pow(k, Exponent)
ElseIf Mode = 0
Total = Total+Pow(k, Exponent)
EndIf
Next k
EndIf
ProcedureReturn Total
EndProcedure
; Using Sigma
Debug "===Sigma==="
Debug SigmaAndPi(1, 6, 1, 0, 0)
Debug SigmaAndPi(2, 6, 1, 0, 0)
Debug SigmaAndPi(2, 6, 2, 0, 0)
Debug SigmaAndPi(0, 5, 1, 0, @Suite1)
Debug SigmaAndPi(1, 4, 1, 0, @Suite2)
; Using Pi
Debug "===Pi==="
Debug SigmaAndPi(1, 6, 1, 1, 0) ; This is "6!"
Debug SigmaAndPi(2, 6, 1, 1, 0)
Debug SigmaAndPi(2, 6, 2, 1, 0)
Debug SigmaAndPi(0, 5, 1, 1, @Suite1)
Debug SigmaAndPi(1, 4, 1, 1, @Suite2)
- Start est le nombre à partir duquel on commence (l'indice du premier nombre de la suite, ou le nombre le plus faible du calcul).
- Limit est le nombre auquel on s'arrête (l'indice du dernier nombre de la suite, ou le nombre le plus élevé du calcul)
- Exponent est l'exposant auquel est ajouté/multiplié le nombre le nombre. NB : Mettez 1 si vous ne voulez pas travailler avec, car 9^0 = 10^0 = 1.
- Mode est le mode dans lequel vous voulez travailler, avec Sigma, ou Pi.
- *Buffer est l'adresse du tableau contenant la suite. Laissez nul si vous ne calculez pas une suite. Sinon, utilisez toujours la Structure du code.