begin process at 2013 05 25 16:12:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > CALCUL DE LA VITESSE D'APPROCHE D'UN ORAGE (RAPP046)

CALCUL DE LA VITESSE D'APPROCHE D'UN ORAGE (RAPP046)


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :orages, maths, calcul, temps, vitesse Niveau :Débutant Date de création :28/09/2006 Vu / téléchargé :10 875 / 398

Auteur : vbromanoff

Ecrire un message privé
Site perso
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce programme sert à calculer le temps que mettra un orage à passer au dessus de votre PC.
Le code est un peu incompréhensible parce qu'il n'était pas destiné à être publié... en tout cas il fonctionne très bien, et les calculs sont très précis.

Source

  • Private Sub Command2_Click()
  • Dim sec1, sec2, dis1, dis2, resultat, texte6
  • If Text1.Text = "" Then
  • sec1 = (Time - time1) * 100000
  • Text1.Text = sec1
  • dis1 = 340 * (Time - time1) * 100000
  • Text2.Text = dis1
  • Command1.Enabled = True
  • Command2.Enabled = False
  • Else
  • sec2 = (Time - time2) * 100000
  • Text3.Text = sec2
  • dis2 = 340 * (Time - time2) * 100000
  • Text4.Text = dis2
  • Text5.Text = (Time - time1) * 100000
  • DoEvents
  • texte6 = Text2.Text - dis2
  • Text6.Text = Abs(texte6)
  • resultat = Text4.Text / (texte6 / Text5.Text)
  • If resultat < 0 Then
  • Label3.Caption = "Temps après que l'orage se soit situé au dessus de votre maison. "
  • Else
  • Label3.Caption = "Temps avant que l'orage se situe au dessus de votre maison. "
  • End If
  • Timer1.Enabled = False
  • Command1.Enabled = False
  • Command2.Enabled = False
  • Text7.Text = Round(Abs(resultat), 0)
  • End If
  • End Sub
Private Sub Command2_Click()
Dim sec1, sec2, dis1, dis2, resultat, texte6
    If Text1.Text = "" Then
        sec1 = (Time - time1) * 100000
        Text1.Text = sec1
        dis1 = 340 * (Time - time1) * 100000
        Text2.Text = dis1
        Command1.Enabled = True
        Command2.Enabled = False
    Else
        sec2 = (Time - time2) * 100000
        Text3.Text = sec2
        dis2 = 340 * (Time - time2) * 100000
        Text4.Text = dis2
        Text5.Text = (Time - time1) * 100000
        DoEvents
        texte6 = Text2.Text - dis2
        Text6.Text = Abs(texte6)
        resultat = Text4.Text / (texte6 / Text5.Text)
        If resultat < 0 Then
            Label3.Caption = "Temps après que l'orage se soit situé au dessus de votre maison. "
        Else
            Label3.Caption = "Temps avant que l'orage se situe au dessus de votre maison. "
        End If
        Timer1.Enabled = False
        Command1.Enabled = False
        Command2.Enabled = False
        Text7.Text = Round(Abs(resultat), 0)
    End If
End Sub

 Conclusion

Ce calcul ne fonctionne qu'à condition bien sûr que votre PC ne bouge pas, mais aussi et surtout que vous soyez juste en dessous de la trajectoire de l'orage, cette dernière devant être une ligne droite !
Bref, c'était plus pour tester les opérations de calcul sous VB que pour essayer d'avoir un résultat correct au final.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec une capture RECHERCHES CUMULATIVES OU EXCLUSIVES MULTICRITÈRES IN SQL DA...
Source avec Zip Source avec une capture OPÉRATIONS SUR LES NOMBRES PREMIERS
Source avec Zip Source avec une capture RÉDUCTEUR DE FRACTIONS SELON DIFFÉRENTES MÉTHODES
Source avec Zip Source avec une capture EDITION DES PROPRIETES SYSTEME (WIN + PAUSE)
Source avec Zip Source avec une capture GÉNÉRATEUR DE BARRES HTML POUR LE BUREAU (HTML ACTIVEDESKTOP...

 Sources de la même categorie

Source avec Zip Source avec une capture PILOTAGE ROBOT DELTA par besqueut
Source avec Zip CLIQUER SUR UNE LIGNE D'UN CONTRÔLE MSHFLEXGRID POUR RÉCUPÉR... par Cjvg
Source avec Zip SAISIR UNE ADRESSE ET L'IMPRIMER SUR UNE ENVELOPPE 220X110 par Cjvg
Source avec Zip PROCÉDURES DE RECHERCHE - DIRECTORIES - SOUS DIRECTORIES - F... par Cjvg
Source avec Zip UTILISATION D'UN TREEVIEW EN GÉOGRAPHIE DU MONDE par Cjvg

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture KHI3 UNE CALCULATRICE PLEINE DE GADGETS ET DE FONCTIONS ORIG... par jollivie
Source avec Zip Source .NET (Dotnet) CALCUL DE PI par alpha5
Source avec Zip UN PETIT PROGRAMME DE CALCUL DES NOMBRE PREMIERS par mouad001
Source avec Zip Source avec une capture UNE CALCULATRICE PLEINE DE GADGETS ET DE FONCTIONS ORIGINALE... par jollivie
Source avec Zip Source avec une capture PETITE CALCULATRICE par vbskateur

Commentaires et avis

Commentaire de clubpsr le 29/09/2006 10:13:32

Cela change des programmes informatiques pour l'informatique. Voilà au moins une autre application concrète de ce que peut apporter un ordinateur.

Je n'ai pas pu l'essayer en vraie grandeur mais comme un ordinateur doit (dans la mesure du possible) faire les chose automatiquement pourquoi ne pas automatiser les 2 boutons "Éclair", "Tonnerre" ? Une Webcam qui détecte l'éclair et un micro qui détecte le son, plus un petit graphique des mesures avec une modélisation de l'évolution des distances. Voilà avec tout ça on frisera la perfection.

Encore bravo pour l'idée (pourtant toute bête)

Commentaire de violent_ken le 29/09/2006 13:42:06

Salut, "Dim sec1, sec2, dis1, dis2, resultat, texte6" est plutôt. Le Variant est un type qui ne doit pas être utilisé dans ce genre de cas.

Du code du genre
texte6 = Text2.Text - dis2
est très peu propre.

Mieux vaut
Dim sTexte As String
sTexte=Cstr(Val(Text2.Text)-dis2)

Et 340 est une valeur très approximative de la vitesse du son. (340.3 est dékà mieux).
@+

Commentaire de econs le 30/09/2006 00:19:28 administrateur CS

Salut,
Si un éclair se produit à l'avant du nuage, puis ensuite un autre à l'arrière, tu auras l'impression que le nuage s'éloigne, alors que ce n'est pas forcément le cas.
Cette évaluation ne peut être valable que si les éclairs ont toujours lieu au même endroit dans le nuage.

Sinon, mêmes remarques que Violent_Ken. Heureusement que VB fait n'importe quoi avec les typages, çà permet de faire fonctionner malgré tout ton programme.

Commentaire de violent_ken le 30/09/2006 00:27:59

(je tiens juste à rectifier mes fautes dans mon post précédent)

* Salut, "Dim sec1, sec2, dis1, dis2, resultat, texte6" est plutôt mal codé.
* 340.3 est déjà mieux

Voilà, @+

Commentaire de vbromanoff le 30/09/2006 12:30:10

Tout d'abord merci pour vos commentaires ; mais j'ai toujours eu des soucis de propreté de mes codes ; en ce moment l'appli que je développe est énorme et je m'y perds tellement il y a de Call et de fonctions partout...
VIOLENT_KEN, à quoi correspond le "Cstr" dans "sTexte=Cstr(Val(Text2.Text)-dis2)" ?
ECONS, oui je sais bien que la précision est très médiocre : en plus de la position de l'éclair dans le nuage il y a aussi l'aspect du trajet du nuage ou du changement de la vitesse ou de la direction du vent qui biaisent le calcul par exemple.

Commentaire de violent_ken le 30/09/2006 12:44:11

Salut, Cstr convertit une expression numérique en srtring.

Par exemple, dans "texte6 = Text2.Text - dis2", on attribue la valeur du texte de Text2.text + la valeur de dis2 à text6.

J'ai estimé que Text6 devait être une string (vu son nom), mais en fait, c'est ambigüe :

"texte6 = Text2.Text - dis2
        Text6.Text = Abs(texte6)"

Si text6 est une valeur numérique, alors inutile d'utiliser Cstr. Mais si c'est une string, alors on n'affecte généralement pas directement une valeur numérique, bien que VB l'accepte, mais on attribue une string (qui a été obtenue par conversion de la valeur numérique à l'aide de Cstr).


Donc il y a des problèmes lors des déclarations de variables : tout est du Variant, on ne sait pas quelles sont les variables utilisées en String et les variables utilisées en Double.
Je conseille de mettre une minuscule devant le nom de la variable, pour réperer facilement son type.
Ex :
Dim sMaString As String
Dim bChoix As Boolean
Dim iVar As Integer
Dim dCalcul As Double
....


@+

Commentaire de us_30 le 01/10/2006 21:18:18

Bonsoir à tous,

C'est un peu comme on évalue la distance d'un orage, de tête ?!
Vous savez comment faire ?
Il suffit de compter à partir de l'éclair, le temps en seconde au coup de tonnerre ; puis de multiplier par 3, puis par 100. Et on obtiens la distance approximative à l'orage à soi, en mètre... Bien sur, on peut faire un peu plus précis : utiliser un chronomètre, et multiplier par 340 m/s et des brouettes (vitesse du son)...

L'idée est originale, et serait très sympas dans un tuto sur VB. Je retiens, et je note 10 ! pour encouragement aussi.

Bon, maintenant tout a été dit sur le typage des données : c'est à reprendre. JE pense qu''il faudrait aussi OPTION EXPLICIT, pour bien faire...
Je pense également que le "DoEvents" est un peu superflu ici.

Amicalement,
Us.

Commentaire de RENAUD34 le 02/10/2006 10:45:42

pensez à mettre un onduleur ou une prise anti-foudre avant de vous amuser avec vos ordis les jours d'orage...

Commentaire de jmfmarques le 23/11/2006 22:10:05

Ouais ...
Je vois que dans ce monde dans lequel les situations sont de plus en plus souvent anarchiques, on trouve encore (au moins...) des choses qui avancent tout droit et au pas cadencé, sans jamais penser à s'arrêter pour souffler ( ou tonner ?).
Je dois être très malchanceux car (notamment au Gabon) j'ai souvent vu un orage faire du surplace malencontreux pendant plus d'une demie-heure...à moins de 400 mètres au-dessus de ma maison. J'en ai même vu un faire un large cercle et revenir après s'être éloigné.
Et le chef d'orchestre (M. Jupiter) ? je ne le vois pas dans ces calculs (et pourtant.... il devrait être bien présent, avec ses caprices....)

Commentaire de vbromanoff le 29/11/2006 12:30:21

Oui, je sais bien : au Burkina non plus les orages ne sont pas plus rectilignes... mais si tu lis l'ensemble des commentaires qui ont été déposés, tu te rendras compte que Jupiter, à défaut d'être pris en compte dans les calculs, a au moins fait l'objet d'une prise de conscience de leur biaisement. Cf. mon comment à ECONS : "ECONS, oui je sais bien que la précision est très médiocre : en plus de la position de l'éclair dans le nuage il y a aussi l'aspect du trajet du nuage ou du changement de la vitesse ou de la direction du vent qui biaisent le calcul par exemple."

Commentaire de mabrouklepoux le 26/12/2006 12:27:59

juste une remarque pour ken (340.3 c'est dans l'air, or là on à un mélange air/eau, donc à priori plus rapide, Vs dans eau = 1400 et des patates). quoi qu'il en soit, c'est un peu "je savais pas quoi dire alors je dis ca", que d'arranger à meme pas un %... bon, ok, moi aussi j'ai pas gd chose à apporter ! la vitesse du son sous la pluie est inapproximable. on peut juste conjecturer qu'elle sera > 340, et que plus il pleuvra, plus elle le sera.
La culture c'est comme la confiture ...
à part ca, il est marrant ce code
Mabrouk, Spécialiste Es question dont tout le monde  se fout

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Beaucoup de temps pour mettre en marche..et arrêter. [ par Marc ] Bonjour,J´ai préparé une petite appli pour déposer d´ici peu.Il s´ait d´un calcul de factorielle juqu´à 800! donc environ 2000 chiffres. Pour faire ma Calcul de la vitesse de téléchargement... [ par Moria ] Slt all,Comment faire pour calculer la vitesse de téléchargement ?En connaissant la taille total, la taille télécharger...Quel est la forumule ?Merci Calcul de la vitesse de transfert d'un fichier [ par cyborg289 ] Bon ben e nfait j'ai fait un transfert de fichie rentre utilisateurs de mon chat. Mais j'ai jamais été très bon en math dsl.Je voudrais savoir comment Calculer le temps de calcul d'algorithmes mathématiques? [ par ZarathoustraQC ] Bonjours,Je suis un jeune étudiant et j'aimerais savoir si il existe un moyen ou un programme pour calculer le temps que prend un processus pour accom calcul dans un userform de 2 text box dans une troisieme en temps réel [ par danto ] Bonjour &#224; tous. Voila je suis un tout petit dans le monde de visual basic. C la raison pour laquelle je m'adresse &#224; vous tous. Voila mon calcul du temps d'affichage d'une page intranet [ par bidani ] bonjour,voila je suis debutant en vb et dans le cadre de mon stage je suis amené a faire une ptit appli qui calcul le temps que mette les pages a s'af Temps de calcul ... [ par MaxSoldier ] Je Désirerait pouvoir obtenir le temps passé entre 2 action de mon programme. Ja précise que j'ai utilisé la méthodes des timers qui ne marche pas éta Problème: Calcul d'un temps de fonctionnement avec arrêt [ par tonyo08 ] Salut à tous!Je développe actuellement un programme pour ma boite. Ce programme conciste à repertorier des casses de carters ainsi qu'a produire (c'es Temps de calcul [ par Julien39 ] Bonjour &#224; tousJe voudrais connaitre le temps d'execution d'une proc&#233;dure qui est inf&#233;rieure &#224; 0.5 secondes et je ne vois pas comme Réduire le temps de calcul [ par MAXIMO71 ] Bonjour, je suis confronté à un problème de temps de calcul d'un code.Ce code permet la création de chaînes de 4 caractères qui sont placées dans des


Nos sponsors


Sondage...

CalendriCode

Mai 2013
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales