Avatar billede mortenbp Nybegynder
03. september 2002 - 09:11 Der er 1 løsning

Programere funktion i Visual Basic

Hej Eksperten.dk

Jeg har et lille programeringsproblem, som jeg meget gerne vil have hjælp til. Jeg ønsker at programere en funktion, som har nogle søgekriterier i sig.

Jeg vil give dig et eksempel på mit problem:


X/Y    230    220    200    180    160    140     
90    13649    13612    13465    13122    12639    11440     
80    13084    13007    12853    12492    11983    10615     
70    11816    11756    11411    11240    10524    9101     
60    9633    9581    9397    9101    8506    7264     
50    7269    7268    7123    6890    6382    5470     
40    4903    4838    4778    4584    4286    3583     
30    3088    3065    2987    2833    2531    2043     
20    1419    1405    1359    1275    1113    862     
10    468    455    448    402    341    290     
0    213    213    197    183    161    134   
Her har du mine dataer.

X= {90,80,70,60.....0}

Y= {230,220,200...140}

Z= {alle værdier fra 13649 til 134}

Nu ville jeg gerne, at jeg kunne søge på en Z værdi, og computeren retunere den højeste X værdi og den Y værdi, der passer til X værdien, til mig. MEN X må ALDRIG overstige 90 eller gå under 0, og Y må SKAL være mellem 140 og 230.

Hvis jeg f.eks. skriver Z= 13649, så skulle computeren gerne retunere 90, 230 til mig, da det jo er den højeste X værdi ved det givne Z punkt. Dette er simpelt, da jeg jo kender X og Y værdierne til 13649, men hvis jeg f.eks skriver 10000, kender jeg jo ikke den højeste X værdi og Y værdien til denne. Y værdien skal ikke være den højeste - den skal bare være mellem 140 og 230.

Jeg har en søge-interpolerings-funktion i Excel, men når jeg bruger den, finder computeren værdier, der ligger over 90 og 230 og det er det jeg søger efter. En funktion, der kan begrænse søgningen, så den ikke overskrider mine grænser.

Samtidig skal programmet også kunne finde ud af
følgende:

Når ovenstående program/funktion har fundet den højeste X værdi (mellem 0 og 90) til et givet punkt Z punkt og den Y værdi, der passer til x værdien (mellem 140 og 230), skal programmet nu kigge i nedenstående tabel:

Y/X
      0  10    20  30    40  50  60  70  80  90

230 11,5 9,3  9,4  9,9  11,1 12,0 9,3  8,8  8,0  7,6

220 13,3 8,1  10,0 9,7  11,1 11,6 10,0 8,7  8,6  8,8

200 10,3 13,9  9,9 11,0  12,4 12,3 10,4 8,8  9,3  9,8

180 12,7 19,2  12,5 12,8 13,1 13,5 12,5 11,4 9,9 11,2

160 20,9 48,9  17,7 16,7 18,1 15,9 17,9 15,4 14,0 14,2

140 37,5 38,6  27,2 26,2 29,0 24,7 25,0 25,6 27,4 33,8

X= {90,80,70,60.....0}
Y= {230,220,200...140}
Z= {resten af værdierne)

Her må de fundne X/Y værdier ALDRIG overskride 23. 

DVS:   
Hvis jeg f.eks i funktion 1 indtaster følgende Z værdi (jeg tager én jeg kender punkterne til):  13649
       
Skal programmet retunere følgende X værdi til mig: 90                       
Og følgende Y værdi: 230                                   
Derefter skal programmet gå ind i tabllen nederst og checke 90, 230. I dette tilfælde er det 7,6, så den kan godt bruges.
Havde Z punktet i den nederste tabel været f.eks 25,3 ved et givet X/Y punkt, kunne den ikke bruges.
I tilfælde hvor det nederste Z punkt er over 23, skal programmet selv finde den højeste X værdi (i øverste tabel), der ligger på eller under 23, så den hele tiden finder den næsthøjeste X værdi, indtil den passer i nederste tabel, hvor X/Y punktet skal være under 23.

Dette ser lidt indviklet ud, men jeg håber meget I kan hjælpe mig (kan I ikke hjælpe mig, håber jeg I har en adresse, man kan henvende sig til sig for yderligere hjælp).

Venlig hilsen
Morten Bro Pedersen
Avatar billede mortenbp Nybegynder
04. september 2002 - 09:32 #1
? lukket, bruger lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester