|
Aquest article o secció no cita les fonts o necessita més referències per a la seva verificabilitat. |
En llenguatges de programació, les estructures de control permeten modificar el flux d'execució de les instruccions d'un programa informàtic.
Amb les estructures de control es pot:
- D'acord amb una condició, executar un grup o un altre de sentències (If-Then-Else i Select-Case)
- Executar un grup de sentències mentre existeixi una condició (Do-While)
- Executar un grup de sentències fins que hi hagi una condició (Do-Until)
- Executar un grup de sentències un nombre determinat de vegades (For-Next)
- Etc
Totes les estructures de control tenen un únic punt d'entrada i un únic punt de sortida. Les estructures de control es pot classificar en: seqüencials, iteratives i de control avançades. Això és una de les coses que permet que la programació es regeixi pels principis de la programació estructurada.
Els llenguatges de programació moderns tenen estructures de control similars. Bàsicament el que varia entre les estructures de control dels diferents llenguatges és la seva sintaxi, cada llenguatge té una sintaxi pròpia per expressar l'estructura.
Altres llenguatges ofereixen estructures diferents, com ara els ordres guardats.
Tipus d'estructura de control
Algunes estructures de control en el llenguatge Java
Antecedents
El terme "estructures de control", ve del camp de la ciència computacional. Quan es presenten implementacions de Java per a les estructures de control, ens referim a elles amb la terminologia de l'especificació del llenguatge Java, que es refereixi a ella com instruccions.
Execució seqüencial
Però en general les instruccions s'executen una després de l'altra, en l'ordre en què estan escrites, és a dir, en seqüència.
Aquest procés es coneix com a execució seqüencial.
Transferència de control
En Java, com en altres llenguatges de programació per excel·lència com C i/o C++, el programador pot especificar que les següents instruccions a executar potser no sigui la següent en seqüència. Això es coneix com a transferència de control.
Cal tenir en compte que la instrucció goto és una paraula reservada però no s'utilitza ni es recomana. Un programa ben estructurat no necessita aquesta instrucció. Si saps programar no utilitzessis goto.
Estructura de control: selecció if simple
Es tracta d'una estructura de control que permet redirigir un curs d'acció segons l'avaluació d'una condició simple, sigui falsa o veritable.
Per exemple: Escriu un programa en Java que compari dos nombres i indiqueu si quin és major, menor, major i/o igual, menor i/o igual, o si són iguals:
String strComparacio = "";
...
if (número1 == nombre2)
strComparacio += número1 +" == "+nombre2;
if (número1> nombre2)
strComparacio += número1 +" > "+nombre2;
if (número1 <nombre2)
strComparacio += número1 +" < "+nombre2;
if (número1> = nombre2)
strComparacio += número1 +" >="+nombre2;
if (número1 <= nombre2)
strComparacio += número1 +" <= "+nombre2;
System.out.println (strComparacion);
...
If-Then-Else
Si la condició és veritable, s'executa el bloc de sentències 1, en cas contrari, s'executa el bloc de sentències 2.
IF (Condició) THEN
(Bloc de sentències 1)
ELSE
(Bloc de sentències 2)
END IF
Select-Case
- S'avalua l'expressió, donant com a resultat un nombre.
- Després, es recorren els "Case" dins de l'estructura buscant que el nombre coincideixi amb un dels valors.
- Cal que coincideixin tots els seus valors.
- Quan es troba la primera coincidència, s'executa el bloc de sentències corresponent i se surt de l'estructura Select-Case.
- Si no es troba cap coincidència amb cap valor, s'executa el bloc de sentències de la secció "Case Else".
Select (Expressió)
Case valor1
(Bloc de sentències 1)
Case valor2
(Bloc de sentències 2)
Case Valor n
(Bloc de sentències n)
Case Else
(Bloc de sentències "Else")
End Select
Do-While
Mentre la condició sigui veritable, s'executaran les sentències del bloc.
Do While (Condició)
(Bloc de sentències)
Loop
que també pot expressar-se:
While (Condició)
(Bloc de sentències)
wend
Do-Until
S'executa el bloc de sentències, fins que la condició sigui veritable
Do
(Bloc de sentències)
Loop Until (Condició)
For-Next
- Primer, s'avaluen les expressions 1 i 2, donant com a resultat dos nombres.
- La variable del bucle recorrerà els valors des del nombre donat per l'expressió 1 fins al nombre donat per l'expressió 2.
- El bloc de sentències s'executarà en cadascun dels valors que prengui la variable del bucle.
For (Variable) = (Expresión1) To (Expresión2) STEP (Salt)
(Bloc de sentències)
Next
Estructures niuades
Les estructures de control bàsiques poden niar, és a dir poden posar-se una dins d'una altra.
Estructura For-Next dins d'una estructura If-Then-Else
IF A> B THEN
FOR X = 1 To 5
(Bloc de sentències 1)
NEXT
ELSE
(Bloc d'ús 2)
END IF
Estructura If-Then-Else dins d'estructura For-Next
FOR x = 10 T 20 step 2
IF A == C THEN
(Bloc d'ús)
ELSE
(Bloc d'ús)
END IF
NEXT
Estructura For-Next que està dins d'estructura Do-While
Do While A> 0
For X = 1 to 10
(Bloc d'ús)
Next
A = A - 1
Loop
Estructura Do-While que està dins d'estructura For-Next
For X = 1 to 10
Do While X <A
(Bloc d'ús)
Loop
Next
Estructura If-Then dins d'estructura For-Next dins d'estructura Do-While
DO WHILE A> 0
FOR X = 1 TO 10
IF A = C THEN
(Bloc de instrucciones1)
ELSE
(Bloc de instrucciones2)
END IF
NEXT
A = A - 1
LOOP
Vegeu també