Anar al contingut

Estructures de control

De L'Enciclopèdia, la wikipedia en valencià

En llenguages de programació, les estructures de control permeten modificar el fluix d'eixecució de les instruccions d'un programa.

En les estructures de control es pot:

  • D'acort en una condició, eixecutar un grup o un atre de sentències (If-Then-Else)
  • D'acort en el valor d'una variable, eixecutar un grup o un atre de sentències (Switch-Case)
  • Eixecutar un grup de sentències solament quan es complixca una condició (Do-While)
  • Eixecutar un grup de sentències fins a que es complixca una condició (Do-Until)
  • Eixecutar un grup de sentències un número determinat de voltes (For-Next)

Totes les estructures de control tenen un únic punt d'entrada. Les estructures de control es poden classificar en: seqüencials, iterativas i de control alvançades. Esta és una de les coses que permeten que la programació es rigga pels principis de la programació estructurada.

Els llenguages de programació moderns tenen estructures de control similars. Bàsicament lo que varia entre les estructures de control dels diferents llenguages és la seua sintaxis; cada llenguage té una sintaxis pròpia per a expressar l'estructura.

Atres llenguages oferixen estructures diferents, com per eixemple els comandos guardats.

Tipos d'estructures de control

[editar | editar còdic]

Algunes estructures de control en el llenguage Java.

Antecedents

[editar | editar còdic]

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, nos referim a elles en la terminologia de l'Especificació del llenguage Java, que es referixca a ella com a instruccions modernes.

Eixecució seqüencial

[editar | editar còdic]

Per lo general, les instruccions s'eixecuten una despuix de l'atra, en l'orde en que estan escrites, és dir, en seqüència. Este procés es coneix com a eixecució seqüencial,

Transferència de control

[editar | editar còdic]

En Java, com en atres llenguages de programació per excelència com a C i C++, el programador pot especificar que la següent instruccions a eixecutar-se tal volta no siga la següent en seqüència. Açò es coneix com a transferència de control. Cal tindre en conte que l'instrucció goto és una paraula reservada pero no s'utilisa ni es recomana. Un programa ben estructurat no necessita esta instrucció.

Estructura de control

[editar | editar còdic]

Les estructures de control, denominades també sentències de control, permeten prendre decisions i realisar un procés repetides voltes. Es tracta d'estructures molt importants, ya que són les encarregades de controlar el fluix d'un programa.

De selecció

[editar | editar còdic]

Les estructures de control de selecció eixecuten un bloc d'instruccions o un atre, o boten a un subprograma o subrutina segons es complixca o no una condició.

Selecció if simple
[editar | editar còdic]

AP

IF (condició 1) THEN
   (operació 1)
ELSEIF (condició 2) THEN
   (operació 2)
ELSEIF (condició 3) THEN
   (operació 3)

...

ELSEIF (condició n) THEN
   (operació n)
ELSE
   (operació z)
END IF
Select-Case
[editar | editar còdic]
Artícul principal → Switch case.

Esta sentència permet eixecutar una d'entre vàries accions en funció del valor d'una expressió. És una alternativa a if then else quan es compara la mateixa expressió en diferents valors.

  • S'evalua l'expressió, donant com resultat un número.
  • Després, es recorren els "Case" dins de l'estructura buscant que el número coincidixca en un dels valors.
  • És necessari que coincidixquen tots els seus valors.
  • Quan es troba la primera coincidència, s'eixecuta el bloc de sentències corresponent i s'ix de l'estructura Select-Case.
  • Si no es troba cap coincidència en cap valor, s'eixecuta el bloc de sentències de la secció "Case Else".
   SELECT CASE (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

Estructures de control iterativas

[editar | editar còdic]

Les estructures de control iterativas o de repetició, inicien o repetixen un bloc d'instruccions si es complix una condició o mentres es complix una condició. que també pot expressar-se:

while-wend

[editar | editar còdic]

El bucle de repetició fonamental és while-wend, qualsevol atre bucle pot ser implementat en este bucle, la condició es comprova a l'inici del bucle si és verdadera, es realisen les instruccions del cos del bucle.

   WHILE (Condició)
      (Bloc de sentències)
   WEND

Do-While

[editar | editar còdic]
Artícul principal → Bucle do.

Mentres la condició siga verdadera, s'eixecutaran les sentències del bloc, equivalent a while-wend.

   DO WHILE (Condició)
      (Bloc de sentències)
   LOOP

Do-until

[editar | editar còdic]

S'eixecuta el bloc de sentències, fins que la condició siga verdadera que es comprova al final del bucle.

   DO
      (Bloc de sentències)
   LOOP UNTIL (Condició)

For-Next

[editar | editar còdic]
Artícul principal → Bucle for.

La sentència For dona lloc a un llaç o bucle, i permet eixecutar un conjunt de sentències cert número de voltes.

  • Primer, s'evaluen les expressions 1 i 2, donant com a resultat dos números.
  • La variable del bucle recorrerà els valors des del número donat per l'expressió 1 fins al número donat per l'expressió 2.
  • El bloc de sentències s'eixecutarà en cada u dels valors que prenga la variable del bucle.
   FOR (Variable) = (Expressió1) TO (Expressió2) STEP (Bot)
      (Bloc de sentències)
   NEXT

Estructures anidadas

[editar | editar còdic]

Les estructures de control bàsiques poden anidarse; és dir, poden posar-se una dins d'una atra.

Estructura For-Next dins d'una estructura If-Then-Else

[editar | editar còdic]
   IF A > B THEN
      FOR X = 1 To 5
         (Bloc de sentències 1)
      NEXT
   ELSE
      (Bloc d'instruccions 2)
   END IF

Estructura If-Then-Else dins d'estructura For-Next

[editar | editar còdic]
   FOR x = 11 TO 20 step 2
      IF A == C THEN
       (Bloc d'instruccions)
      ELSE
       (Bloc d'instruccions)
      END IF
   NEXT

Estructura For-Next que està dins d'estructura Do-While

[editar | editar còdic]
 DO WHILE A > 0
    FOR X = 1 TO 10
       (Bloc d'instruccions)
    NEXT
    A = A - 1
 LOOP

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]