Avatar billede flviborg Nybegynder
14. juni 2004 - 21:20 Der er 13 kommentarer og
1 løsning

if,,,else..elsei f? statements

Hej

Jeg er ved at lave en statement hvor jeg skal sammenligne 72 tal imod :

1. Et gennemsnit
2. En reference

Det resultat jeg vil nå frem til er at der vises nogle movie clips for "forkert" eller "korrekt" eller at "alle tal er forkert".

Mine forudsætninger er :

Hvis gennemsnittet er indenfor +/- af rererencen skal der vises ok, ellers "alle tal er forkert".

Hvis en af tallene er over + 5% af gennemsnit, og Gennemsnittet er over +5 % af referencen skal der vises at "alle tal er forkert".


Hvis et tal er indenfor +/- 5% af gennemsnittet skal der vises en movie clip der siger "korrekt" (det samme for alle 72 tal), ellers vises der en mc for "forkert".

Det jeg har nu er (som ikke fungerer helt):

gen = ((Number(en)+Number(to)...togohalvfjerds)/72);
genplusfem = gen+((gen*5)/100);
genminusfem = gen-((gen*5)/100);
refplusti = (reference*110)/100;
refminusti = (reference*90)/100;
refplusfem = (reference*105)/100;

if ((gen<=refminusti) || (gen>=refplusti)) {
        alleerforkert._visible = true;
    } else {
        alleerforkert._visible = false;
    }
    if ((en<=genminusfem) || (en>=genplusfem)) {
        korrekt_en._visible = false;
    } else {
        korrekt_en._visible = true;
    }
    if ((en<=genminusfem) || (en>=genplufem)) {
        forkert_en._visible = true;
    } else {
        forkert_en._visible = false;
    }
... og det samme op til 72...

??? jahh..hvad gør man så? I må gerne foreslå en anden metode...
Avatar billede barklund Nybegynder
14. juni 2004 - 21:39 #1
Kan du ikke forklare lidt nærmere? Altså jeg taster 72 tal ind, flash fortæller mig så for hvert enkelt, om det er korrekt eller forkert eller hvordan?
Avatar billede barklund Nybegynder
14. juni 2004 - 21:39 #2
altså droppe kode indtil videre og bare snakke om, hvad det skal kunne - for ja det kan gøres MEGET smartere :)
Avatar billede flviborg Nybegynder
14. juni 2004 - 22:21 #3
Ja, det drejer sig om 72 input felter.

I disse felter indtaster brugeren nogle tal (0..9,.). Disse tal skal sammenlignes med en reference tal og med en gennemsnit.

En "knap" skal have script til at:

- Beregne en gns.nit af alle de 72 tal
- Scriptet skal først se om gennemsnittet er indenfor +/- 10% af referencetallet.
(eks. hvis referencen er 1 og gnsnit er 1.09 eller 0.91 ok, ellers not ok). Hvis "not ok" vil der fremvises på skærm en meddelelse "alle tal er forkert".

- Derefter skal scriptet gennemgår hver tal for sig og
Avatar billede barklund Nybegynder
14. juni 2004 - 22:27 #4
Okay, lad os lige kalde de 72 input felter for tal0 til tal71 - det er lidt smartere end talord, der ikke er særligt dynamiske. Gennemsnittet er så:

var sum = 0;
var i;
for (i = 0; i < 72; i++) {
    sum += Number(this["tal"+i]);
}
var gennemsnit = sum / 72;
var reference = 5.76; // bare lige for at teste...
if (gennemsnit > reference * 0.9 && gennemsnit < reference * 1.1) {
    // gennemsnit er inden for 10% af referencen
} else {
    // gennemsnit er IKKE inden for 10% af referencen
}

Og hvad der derefter skal ske må du så forklare nærmere...
Avatar billede flviborg Nybegynder
14. juni 2004 - 22:27 #5
... resten..

hver tal for sig og :

Hvis tallet er indenfor +/- 5 % af gns.nit ok ellers not ok (for hvert tal).

- Men, hvis en af tallene er over + 5% af gennemsnit, og Gennemsnittet er over +5 % af referencen skal der vises at "alle tal er forkert".

?? =)
Avatar billede barklund Nybegynder
14. juni 2004 - 22:31 #6
Altså for at formalisere hvad du siger:

Alle tal forkerte med mindre en af to betingelser er opfyldt:

- hvert tal er inden for 5% af gennemsnittet og gennemsnittet er inden for 10% af referencen

- gennemsnittet er inden for 5% af referencen

Er det korrekt opfattet i første omgang?
Avatar billede flviborg Nybegynder
14. juni 2004 - 22:36 #7
Altså for at formalisere hvad du siger:

Alle tal forkerte med mindre en af to betingelser er opfyldt:

- hvert tal er inden for 5% af gennemsnittet og gennemsnittet er inden for 10% af referencen
// ok (hver tal skal også evalueres for sigselv, altså hvis den er inden for 5 % af gns. er tallet ok)

- gennemsnittet er inden for 5% af referencen
// og hvis gennemsnittet ikke er inden for 5 % af referencen og samtidig en af tallene er over 5% af gns.nittet alle tal forkerte..
Avatar billede flviborg Nybegynder
14. juni 2004 - 22:40 #8
Det er det her jeg begyndte at arbejde med:

Hvis et tal er indenfor +/- 5% af gennemsnit OK
Hvis Gennemsnit er under +10% af reference tal OK
Hvis et tal er over +/-  5% af gennemsnit, kun dette tal er forkert
Hvis Gennemsnit er over +10% af reference tal alle er forkert
Hvis et tal er over + 5% af gennemsnit, og Gennemsnittet er over +5 % af
reference tal alle tal er forkert.
Avatar billede barklund Nybegynder
14. juni 2004 - 23:01 #9
Lige et sidespørgsmål - hvordan kan man tage gennemsnittet af 72 tal mellem 0 og 9 og have mere end 1 tal (hvis der overhovedet er et) indenfor 5% af gennemsnittet? Hvis jeg tager gennemsnittet af 3 og 4, så er hverken 3 eller 4 indenfor 5% af gennemsnittet? Jeg kan ikke helt forstå, hvad du vil :)
Avatar billede flviborg Nybegynder
14. juni 2004 - 23:06 #10
=)
det er nok pga. min forklaring =(

hvert tal kan indeholde 0,1,2,3,4,5,6,7,8,9 eller , eller .

de varierer fra 0.0 til 3.0. Det kan ske at der skal ses på 2 af de 72, eller på alle de 72 tal. Dvs. at hvis brugeren indtaster kun 3 af de 72, så skal jeg beregne gnsnittet af de tre og kører alle betingelser. Det samme hvis brugeren udflyder alle de 72 felter.
Avatar billede barklund Nybegynder
14. juni 2004 - 23:40 #11
Hm, jeg ved ikke om jeg har forstået, men har alligevel lavet et eksempel - sig endelig til, hvis det er forkert (jeg har kun lavet 20 felter, men you'll get the idea):

http://actionscript.dk/eksperten/procenter/

Test via html eller download fla - til Flash MX (også men ikke kun 2004)

// Morten Barklund
Avatar billede flviborg Nybegynder
14. juni 2004 - 23:53 #12
tak Morten, jeg kigger
Avatar billede flviborg Nybegynder
15. juni 2004 - 22:31 #13
Hej,

tak for hjælpen, jeg skal nok ændre på betingelsernes rækkefølge, og så håber jeg at det fungere.
Avatar billede barklund Nybegynder
16. juni 2004 - 11:02 #14
Tark for point - håber du får det til at virke, for jeg har stadig ikke forstået, hvad du vil :)
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



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat