Estructura de control
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:
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 controlAlgunes estructures de control en el llenguatge Java AntecedentsEl 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üencialPerò 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 controlEn 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 simpleEs 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-ElseSi 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
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-WhileMentre 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-UntilS'executa el bloc de sentències, fins que la condició sigui veritable Do
(Bloc de sentències)
Loop Until (Condició)
For-Next
For (Variable) = (Expresión1) To (Expresión2) STEP (Salt)
(Bloc de sentències)
Next
Estructures niuadesLes 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é |