begin process at 2008 08 22 03:50:30
1 229 768 membres
39 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CARRÉ PAR MÉTHODE DE L'ABAQUE


Information sur la source

Catégorie :Maths Classé sous : carré, abaque, calcul Niveau : Débutant Date de création : 05/05/2006 Vu / téléchargé: 3 779 / 167

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

Description

     Calcul du carré par une méthode particuliere qui est normalement utilisée pour calculer les carrés de tête.
     Elle repose sur la particularité des carrés des nombres finissant par 5, exemple 35 on prend le nombre sans le 5 est on le multiplie par son successeur 3*4=12 et on écrit ensuite 25 donc 35²=1225.
     Puis on trouve les autres carrés en utilisant la propriété (n+1)²=n²+2n+1.
Je pensais que cette méthode serait plus rapide pour certains nombres au moins pour ceux finissant par 5, ce qui n'est pas toujours le cas, j'ai d'abord hésité à poster et je le fait quand même parce que j'aime bien cette méthode...

Source

  • Public Function Carré(n As Long) As Long
  • Dim a As Long
  • Dim i As Long 'compteur de boucle
  • Dim fin As Long 'nombre de boucles à effectuer
  • Dim c As Long 'résultat des différents carrés
  • a = n
  • Do While a Mod 5 <> 0
  • a = a - 1
  • Loop
  • 'on a alors a qui est le multiple de 5 inférieur à n le plus proche de n
  • If a Mod 10 = 0 Then
  • a = a - 5
  • End If
  • 'on veut que a ne soit pas un multiple de 10
  • c = (Fix(a / 10) * (Fix(a / 10) + 1)) * 100 + 25
  • 'si a est au départ plus petit que 5, le a final sera égal à -5 mais cela ne change rien car cette derniere opération donnera un nombre positif
  • fin = n - a
  • 'est cette opération sera un compteur décroissant si a<5
  • For i = 1 To fin
  • c = c + 2 * a + 1
  • a = a + 1
  • 'cette opération est tres simple, elle repose sur la propriété
  • '(n+1)²=n²+2n+1
  • Next i
  • Carré = c
  • End Function
Public Function Carré(n As Long) As Long
Dim a As Long
Dim i As Long 'compteur de boucle
Dim fin As Long 'nombre de boucles à effectuer
Dim c As Long 'résultat des différents carrés

a = n


Do While a Mod 5 <> 0
   a = a - 1
Loop
'on a alors a qui est le multiple de 5 inférieur à n le plus proche de n

If a Mod 10 = 0 Then
   a = a - 5
End If
'on veut que a ne soit pas un multiple de 10

c = (Fix(a / 10) * (Fix(a / 10) + 1)) * 100 + 25
'si a est au départ plus petit que 5, le a final sera égal à -5 mais cela ne change rien car cette derniere opération donnera un nombre positif

fin = n - a
'est cette opération sera un compteur décroissant si a<5


For i = 1 To fin
   c = c + 2 * a + 1
   a = a + 1
   'cette opération est tres simple, elle repose sur la propriété
   '(n+1)²=n²+2n+1
Next i

Carré = c

End Function

Conclusion

J'ai ajouté un programme de test de rapidité des différentes fonctions.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

    Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source

calcul aire et volume par SDan

calcul date et heure par dauphin70

probleme de calcul par dauphin70

Optimisation par Kabutosama

calcul d'heure par dauphin70

Calcul avec les date (Excel par BetaTester

fonction de calcul par syltab

Temps de calcul ... par MaxSoldier

petit carré supprimer par allowen

calcul tres balaise par bobo91

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS