NeFix Skrevet 3. august 2012 Del Skrevet 3. august 2012 Jeg trenger litt hjelp av noen som forstår litt mer enn meg i programmering. Oppgaven dreier seg om denne if-else struktur. if (a >= 0) if (b < 0) x = x + 5; else if (a > 5) x = x + 4; else x = x + 3; else x = x + 2; Spørsmålet lyder som følger: Dersom x = 0, a = 5 , b = 5 før setningen over utføres, hva vil x bli etter at setningen er utført? Alternativer: A) 0 B) 2 C) 3 D) 4 E) 5 Det er flere spørsmål av akkurat denne if else struktur bare med forskjellige verdier men hvordan regner man ut det. ? Jeg kan litt om if else men har aldri vært borte i denne typen akkurat. Hadde satt stor pris på om noen kunne forklart litt hvordan man kommer fram til rett alternativ. Lenke til kommentar
Diablonor Skrevet 3. august 2012 Del Skrevet 3. august 2012 (endret) Vel, er greit om du har litt innrykk mellom hver linje kanskje, slik at koden er enklere å lese, men her er hvordan jeg ville gått frem: hver if-setning kan kun ha 1 else setning, så om du tar med {} er det enklere å se hvordan du burde regne deg frem: if(a >= 0) { if(b > 0) { x = x + 5; } else { if(a> 5) { x = x + 4; } else { x = x + 3; } } else { x = x + 2; } } I hver if-setning ser du om verdiene du har stemmer med setningen, og velger hvilken vei du går (if eller else). Dette er den helt vanlige typen av if\else Endret 3. august 2012 av Diablonor Lenke til kommentar
GeirGrusom Skrevet 3. august 2012 Del Skrevet 3. august 2012 if(a >= 0) if(b > 0) x = x + 5; else if(a > 5) x = x + 4; else x = x + 3; else x = x + 2; 1 Lenke til kommentar
Diablonor Skrevet 3. august 2012 Del Skrevet 3. august 2012 if(a >= 0) if(b > 0) x = x + 5; else if(a > 5) x = x + 4; else x = x + 3; else x = x + 2; Ser jeg tullet litt med intenderingen ja Lenke til kommentar
etse Skrevet 3. august 2012 Del Skrevet 3. august 2012 (endret) Er da veldig enkelt egentlig, bare å lese fra toppen og nedover: Start: x = 0 A = 5 B = 5 Steg 1: er a større eller lik 0? JA Dette betyr at vi kan gå inn i denne delen av if-testen Steg 2: Er b større enn 0? JA Sett x = x + 5 (x er nå 5) -------------------- Men jeg ser du skrev b &--#60; 0, ikke b &--#62; 0 i din kode, så om vi antar det du skrev først er riktig og de under har rota. Steg 1: er a større eller lik 0? JA Dette betyr at vi kan gå inn i denne delen av if-testen Steg 2: Er b mindre enn 0? NEI Gå inn i elsen under Steg 3: Er a større enn 5? NEI, a er 5 sett x = x + 3 (x = 0 + 3 = 3) Endret 3. august 2012 av etse Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå