Se connecter / S'enregistrer
Votre question

simplification d'un petit programme en VB

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
10 Mai 2005 10:11:22

Salut,

Je voudrais savoir si on peut simplifier le programme suivant qui comprend que des instructions simples(en utilisant des tableaux, des boucles,..) :

if 9298 <= coeffammo <= 9305 then
coeffammof = 1.12
end if

if 9293 <= coeffammo <= 9298 then
coeffammof = 1.11
end if

if 9288 <= coeffammo <= 9293 then
coeffammof = 1.10
end if

if 9283 <= coeffammo <= 9288 then
coeffammof = 1.09
end if

if 9278 <= coeffammo <= 9283 then
coeffammof = 1.08
end if

if 9272 <= coeffammo <= 9278 then
coeffammof = 1.07
end if

if 9263 <= coeffammo <= 9272 then
coeffammof = 1.06
end if

if 9258 <= coeffammo <= 9263 then
coeffammof = 1.05
end if

if 9253 <= coeffammo <= 9258 then
coeffammof = 1.04
end if

if 9248 <= coeffammo <= 9253 then
coeffammof = 1.03
end if

if 9242 <= coeffammo <= 9248 then
coeffammof = 1.02
end if

if 9233 <= coeffammo <= 9242 then
coeffammof = 1.01
end if

if 9228 <= coeffammo <= 9233 then
coeffammof = 1.00
end if

if 9222 <= coeffammo <= 9228 then
coeffammof = 0.99
end if

if 9213 <= coeffammo <= 9222 then
coeffammof = 0.98
end if

if 9208 <= coeffammo <= 9213 then
coeffammof = 0.97
end if

if 9202 <= coeffammo <= 9208 then
coeffammof = 0.96
end if

if 9193 <= coeffammo <= 9202 then
coeffammof = 0.95
end if

if 9187 <= coeffammo <= 9193 then
coeffammof = 0.94
end if

if 9179 <= coeffammo <= 9187 then
coeffammof = 0.93
end if

if 9172 <= coeffammo <= 9179 then
coeffammof = 0.92
end if

if 9163 <= coeffammo <= 9172 then
coeffammof = 0.91
end if

if 9157 <= coeffammo <= 9163 then
coeffammof = 0.90
end if

if 9145 <= coeffammo <= 9157 then
coeffammof = 0.89
end if

Autres pages sur : simplification petit programme

10 Mai 2005 10:48:23

il ne faut pas avoir peur de la longueur du prog car c'est toujours la même chose, alors est-il simplifiable?
10 Mai 2005 10:53:15

tu peux pas essayé avec une boucle for ?
Contenus similaires
10 Mai 2005 11:05:56

oui mais qu'est ce que je mets dedans?

coeffammo décroit avec un pas de 5 à partir de 9305 jusqu'à 9145

et coeffammof décroit avec un pas de 0.01 de 1.12 à 0.89
10 Mai 2005 11:12:41

tu fais :

var depart = 9305
var depart2 = 1.12

for (i=0;i < 23; i++)
{
if depart <= coeffammo <= depart+5 then
coeffammof = depart2 - i
end if

depart = depart -6
}

Je ne connais pas le VB donc la syntaxe est forcément fausse mais le principe est là ;-)
10 Mai 2005 11:26:25

Citation :

JarAsh a écrit :
tu fais :

var depart = 9305
var depart2 = 1.12

for (i=0;i < 23; i++)
{
if depart <= coeffammo <= depart+5 then
coeffammof = depart2 - i
end if

depart = depart -6
}

Je ne connais pas le VB donc la syntaxe est forcément fausse mais le principe est là ;-)

Moi je dirais plutot ça : (il faut que le programme se réactualise! et ne pas l'exécuter seulement 23 fois)

var depart = 9305
var depart2 = 1.12

Do While()
{
if depart >= coeffammo >= depart-5 then
coeffammof = depart2 - 0.01
depart = depart -5
end if

else
depart = depart -5
}
10 Mai 2005 12:01:52

Euhh!! je laisse tomber car le pas n'est pas régulier ( ce n'est pas toujours -5, il y aussi -6 -9 -7 -8)

Merci quand même à JarAsh ;-)
5 Novembre 2005 15:14:05

bonsoir je suis tomber ici par hasard et j'ai voulu chercher un peu pour toi voila une solution que je te propose aller a plus


valeurdepard = 9305
var2depard = 1.12
coeffammo = "9145" 'ici il te faut noter ou recuperer ta valeur qui vas de 9305 a 9145

For x = 1 To 47 Step 2 'permet de definir la position dans la chaine

'chaine pour definir les ecarts 07 ecart de 7 /// 05 ecart de 5 ......j'ai noter par deux car tu as un ecart de 12 a un moment

a=Mid"070505050506090505050609050609050609060807090612", x, 2)

'test des conditions de la fourchette variable en fonction de l'ecart


If valeurdepard >= CInt(coeffammo) And CInt(coeffammo) >= (valeurdepard - CInt(a)) Then _
coeffammof=var2depard 'recuperation de ta valeur pour suite du programme soit dans une variable

'recalcul des valeurs fouchettes et coeffammof

valeurdepard = valeurdepard - a
var2depard = var2depard - 0.01

Next x ' renvois sur x suivant (c'est a dire a l'ecart suivant)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS