M3 - Programació estructurada / Continguts UF1: Estructura alternativa

De wikiserver
La revisió el 13:02, 20 nov 2018 per Rsort (Discussió | contribucions) (Es crea la pàgina amb «==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’enten...».)
(dif) ← Versió més antiga | Versió actual (dif) | Versió més nova → (dif)
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

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ó