Originariamente inviato da Lucked
ciao a tutti...mi serve una conferma! In questo pseudocodice, che io andrò a implementare in java dovrei fare in modo che fra i blocchi A,B,C ne venga eseguito solo uno dei tre, mentre il blocco D ed E devono sempre essere eseguiti...
1) questo codice fa cosi?
2) se viene eseguito il blocco A, viene controllata la cond2? (penso di no...giusto?)
3) mi serve anche sapere se l'indentazione è corretta
codice:
if(cond1){
blocco A
}
else if(cond2){
blocco B
}
else
blocco C
blocco D
blocco E
Si mi sembra che il codice produca il comportamento che vuoi.Le condizioni vengono controllate tutte e tre,sono i bloccchi controllati dalle condizioni che vengono eseguiti in maniera mutuamente esclusiva,in altre parole il test if(cond2) viebe comunque fatto mentreblocco B viene eseguito SOLO se tale test da esito positivo.
Per quanto riguarda l'indentazione in linea di principio qualsiasi istruzione (e quindi anche un'altra istruzione condizionale),dopo un if o un'else andrebbe indentata rispetto ad esso,tuttavia nel caso specifico in cui si usi una cascata if ...else if....else per simulare uno switch..case è molto diffusa la formattazione seguente:
codice:
if (cond1)
Blocco1
else if (cond2)
Blocco2
......
else if(condn)
Bloccon
else
Bloccon+1
che a mio avviso è anche più leggibile,che poi è quella che hai usato,quindi secondo me va benissimo.ciao
GRAXXXIE a tutti