M3 - Programació estructurada / Continguts UF1: Estructura alternativa

De wikiserver
La revisió el 12:14, 20 nov 2018 per Rsort (Discussió | contribucions) (Una desviació temporal del camí: selecció simple)
Dreceres ràpides: navegació, cerca

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.

Una desviació temporal del camí: selecció simple

El cas més simple dins de les estructures de selecció és aquell en què hi ha un conjunt o bloc d’instruccions que només voleu que s’executin sota unes circumstàncies concretes. En cas contrari, aquest bloc és ignorat i, des del punt de vista de l’execució del programa, és com si no existís. Un exemple seria el programa d’una botiga virtual que aplica un descompte al preu final d’acord amb un cert criteri (per exemple, si la compra total és com a mínim de 100 €). En aquest cas, hi ha un conjunt d’instruccions, les que apliquen el descompte, que només s’executen quan es compleix la condició. En cas contrari, s’ignoren i el preu final és el mateix que l’original.


L’estructura de selecció simple permet controlar el fet que s’executi un conjunt d’instruccions si i només si es compleix la condició lògica (és a dir, el resultat d’avaluar la condició lògica és igual a true). En cas contrari, no s’executen.

Sintaxi i comportament

Exemple: calcular un descompte

Aspectes importants de la selecció simple

Dos camins alternatius: la sentència ”if/else”

Sintaxi i comportament

Exemple: endevina el nombre secret

Diversos camins: la sentència ”if/else if/else”

Sintaxi i comportament

Exemple: transformar avaluació numèrica a text

Combinació d’estructures de selecció

Exemple: descompte màxim i control d’errors

La sentència ”switch”

Sintaxi i comportament

Control d’errors en l’entrada bàsica mitjançant estructures de selecció