M3 - Programació estructurada / Continguts UF1: Estructura alternativa
Contingut
- 1 Estructures de selecció
- 2 Una desviació temporal del camí: selecció simple
- 3 Dos camins alternatius: la sentència ”if/else”
- 4 Diversos camins: la sentència ”if/else if/else”
- 5 Combinació d’estructures de selecció
- 6 La sentència ”switch”
- 7 Control d’errors en l’entrada bàsica mitjançant estructures de selecció
Estructures de selecció
Entre els diferents tipus d’estructures de control que permeten establir el flux de control d’un programa, les més fàcils d’entendre són aquelles que creen bifurcacions o camins alternatius, de manera que, segons les circumstàncies, s’executi un conjunt d’instruccions o un altre. D’aquesta manera, donades diferents execucions d’un mateix codi font, part de les instruccions que s’executen poden ser diferents per a cada cas.
Les estructures de selecció permeten prendre decisions sobre quin conjunt d’instruccions cal executar en un punt del programa. O sigui, seleccionar quin codi s’executa en un moment determinat entre camins alternatius.
Tota estructura de selecció es basa en l’avaluació d’una expressió que ha de donar un resultat booleà: true (cert) o false (fals). Aquesta expressió s’anomena la condició lògica de l’estructura.
El conjunt d’instruccions que s’executarà dependrà del resultat de la condició lògica, i actuarà com una mena d’interruptor que marca el flux que cal seguir dins del programa.
Normalment, aquesta condició lògica es basa en part, o en la seva totalitat, en valors emmagatzemats en variables amb un valor que pot ser diferent per a diferents execucions del programa. En cas contrari, no té sentit usar una estructura de selecció, ja que mentre s’està escrivint el programa ja es pot predir quin serà el resultat de l’expressió. Per tant, com que sempre serà el mateix, sempre s’executaran les mateixes instruccions sense que hi hagi cap bifurcació possible.
Hi ha diferents models de fluxos alternatius a l’hora d’executar instruccions, tot i que per a tots s’usa la mateixa família de sentències i una estructura similar en el codi font. Per tant, tots els aspectes destacats per a un dels models s’apliquen també a tots els altres. També cal dir que, si bé els exemples i la sintaxi descrita en aquest mòdul se centren en el llenguatge Java, la majoria de les estructures de selecció descrites són compartides amb els altres llenguatges de programació, per la qual cosa el concepte general és aplicable més enllà del Java. Només caldrà que cerqueu a la documentació la sintaxi específica per al llenguatge triat.