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.