6. Comparacions i instruccions condicionals

 

Índex

Operadors de comparació

Els operadors de comparació avaluen l'expressió que els conté i retornen true (veritable) o false (fals) segons convingui. Aquestes expressions comparen una variable amb un literal o amb una altra variable. Així per exemple

compara una variable, a, i un valor numèric, 7. En aquest cas l'expressió retornarà true si, per exemple, a=9. i retornarà false si fos a=3.

Els operadors de comparació són els següents:

== igual que
!= no igual que
> més gran que
< més petit que
>= més gran o igual que
<= més petit o igual que

Notem que l'igual de comparació (==) no és el mateix que l'igual d'assignació (=).

Exemple

 

La instrucció if()

La instrucció if() conté una expressió de comparació, i especifica què cal fer a continuació segons que el valor hagi resultat true o false.

Hi ha doncs tres elements bàsics en una estructura if():

Les instruccions condicionades poden ésser qualssevol: assignacions, funcions predefinides o funcions d'usuari.

El format de l'estructura if() és el següent:

Els elements que intervenen en l'expressió de comparació sovint procedeixen d'algun càlcul o manipulació fets pel programa, i en darrer terme tenen dues procedències: l'usuari i l'ordinador:

Exemple
Exemple

 

if() sense else

Sovint les variants de les instruccions condicionades no es redueixen a una alternativa, sinó que hi ha tres possibilitats o més. En aquests casos una estructura com la que acabem de veure no és suficient. Hem de distingir dos casos:

En el primer cas recorrem a diversos if() sense else:

Ho interpretem així: si passa tal cosa, actua així; si en passa tal altra, actua d'aquesta altra manera, etc.

També és possible emprar un sol if() sense else; en aquest cas s'interpreta així: Si es dóna tal circumstància, fes tal cosa; en cas contrari, no facis res i continua.

Exemple

 

Un if() ... else... dins un altre

Quan no és possible determinar d'antuvi totes les possibilitats, es pot fer servir l'estructura següent:

El darrer else fa com d'escombra: recull tots els casos no previstos anteriorment.

Exemple

 

L'operador condicional

Quan només hi ha dues opcions, es pot fer servir l'operador condicional:

Exemple

 

Ús de switch()

L'ús reiterat d'un if() dins un altre pot arribar a ésser confús si n'hi ha gaires. La funció switch() fa la mateixa comesa d'una manera més clara:

Exemple