IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Probleme de compréhension de code


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Probleme de compréhension de code
    Salut tout le monde !

    Dans le cadre d'un stage, j'ai à refaire un ancien programme qui (il me semble) est écrit en basic et je découvre ce langage...

    J'ai saisi la quasi totalité du code, mais une partie me reste obscure, voila le morceau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    For J = 1 To G    '//G étant un nombre de valeurs (ici 1000)
       B = 0
       For I = 1 To N    '// N etant l'ordre de mon système
          X = I + J - N - 1
          If X < 0 Then X = 0 Else X = X
          A = T1(I + N, 1) * V8(1, X) - T1(I, 1) * V3(1, X)
          B = B + A
       Next I
       V3(1, J) = B
       V4(J, 1) = V9(1, J) - V3(1, J)
    Next J
    '// T1 contient 2*N variables et V8 sont mes valeurs d'entrées (1000)
    Je ne demande pas une compréhension de tout ce morceau de code qui, sorti du contexte est je le pense, assez difficile à comprendre.

    J'ai seulement un problème au niveau de mes matrices V3 et V8 car X prend la valeur 0 alors que partout ailleurs, elles semblent être initialisées en (1,1). Selon moi, cela devrai produire une erreur de compilation mais ne pouvant pas tester le code, je suis un peu perdu...

    Je ne sais pas comment le langage réagit et si je doit prendre V3 et V8 comme étant nulles ou non.


    J'ai conscience que mon topic n'est pas très clair, mais je n'arrive pas à le présenter autrement sans exposer tout mon sujet ^^"

    n'hésitez pas à poser des questions si besoin.

    Merci d'avance !

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Le code en lui même n'est pas vraiment compliqué à comprendre et il est assez facile de voir qu'effectivement X va etre nul très souvent. Il n'y a pas de raison pour avoir une erreur à la compilation, à l'exécution ensuite, tout dépend du diemnsionnement de tes tableaux.
    Ce que je ne comprends pas en revanche c'est quel est ton problème exactement. Tu dois réécrire en quel langage, pourquoi ne peux tu pas tester ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut
    Cette portion de code me permet (normalement) de calculer le résidu dans le cadre d'une méthode des moindres carrés généralisés.

    Je dois réaliser cette méthode en langage java, mais n'ayant jamais vu cette méthode, ni le langage java, j'avais axé mes recherches sur un algo de cette méthode.

    J'ai ai trouvé un en version papier dans ce que j'ai identifier comme étant du langage basic ( que je ne connais pas non plus :p ).
    Et comme tu l'as souligné, à juste titre, le code n'est pas très difficile a comprendre, J'ai décider par souci de gain de temps (et aussi par flemme, je dois l'avouer) de ne pas retaper le code basic et de le retranscrire directement en JAVA.

    Seulement voila, tous les tableaux du programme semblent avoir été défini à partir de la case 1 et non 0 comme en java.

    Je n'ai pas eu de difficultés jusque la car il s'agissait seulement d'une petite modification, mais dans cette partie du code, la valeur prise par X me donne une case du tableau qui normalement n'existe pas....

    Alors je ne sais pas quelle valeur est retournée par les variables V3 et V8 dans ce cas. Je n'arrive donc pas à le transcrire en java

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Bonjour,
    Citation Envoyé par Salendar Voir le message
    .../...

    Seulement voila, tous les tableaux du programme semblent avoir été défini à partir de la case 1 et non 0 comme en java.
    .../...
    Idem par défaut pour VB, sauf qu'un tableau peut-être initialisé comme on le désire donc pas forcément comme par défaut.
    Citation Envoyé par Salendar Voir le message
    .../...
    Alors je ne sais pas quelle valeur est retournée par les variables V3 et V8 dans ce cas. Je n'arrive donc pas à le transcrire en java
    Le code fourni ne nous le permet pas non plus puisqu'on ne dispose ni des portées ni des initialisations des variables.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut
    Les deux seules autres lignes de code faisait intervenir ces deux variables sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEFDBL S-W  '// qui selon moi définit la précision des variables dont V inclut
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DIM V3(30,30) : DIM V8(30,30)
    Mais rien d'autre ...

  6. #6
    Membre éprouvé
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Par défaut
    en VB6, si tu déclare un tableau comme ceci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim montab(1,1) as long
    cela reviens a ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim montab(0 to 1, 0 to 1) as long
    l'élément 0 existe donc bel et bien ...

  7. #7
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Si Option base 1 n'est pas mentionné
    Citation Envoyé par Salendar Voir le message
    .../...
    DIM V3(30,30) : DIM V8(30,30)
    .../...
    est équivalent à
    Citation Envoyé par Salendar Voir le message
    .../...
    DIM V3(0 to 30, 0 to 30) : DIM V8(0 to 30, 0 to 30)
    .../...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de compréhension sur un code en python
    Par cosmoff dans le forum Général Python
    Réponses: 1
    Dernier message: 17/05/2015, 20h15
  2. probleme de compréhension de proxy
    Par Mut dans le forum Applications
    Réponses: 3
    Dernier message: 11/01/2006, 12h24
  3. Probleme avec un petit code (je debute)
    Par cladou dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 10/01/2006, 18h56
  4. Probleme en compilant le code avec C2.EXE ?!?!?
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/11/2005, 16h13
  5. Réseau....probleme de compréhension
    Par Mut dans le forum Administration
    Réponses: 7
    Dernier message: 10/06/2005, 16h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo