sábado, 13 de abril de 2013

Sentencias de control

Sentencias de Control En Pic Basic

Las estructuras de control nos permiten controlar el flujo del programa: tomar decisiones, realizar acciones repetitivas etc., dependiendo de unas condiciones que nosotros mismos establezcamos. Así podemos hacer un script que nos salude cada día de la semana de una manera diferente. O por ejemplo hacer un script que nos pida la contraseña una y otra vez hasta que suministremos la opción correcta.

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.

Con las estructuras de control se puede:

De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)
Ejecutar un grupo de sentencias un número determinado de veces (For-Next)

IF – THEM – ELSE

Sintaxis:
If expresión 1 {AND / OR expresión 2} Then etiqueta

Con la instrucción If – Then podemos tomar decisiones a lo largo de un programa, basadas en condiciones específicas definidas por el programador. Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.

Si la condición es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario, se ejecuta el bloque de sentencias 2.

Programa ejemplo:
            TRISA = %11111
            TRISB = 000000
            PORTB = $00
Inicio:
            If PORTA.0 = 1 Then PORTB.0 = 1
            Pause 1000
            Low PORTB.0
            Pause 1000
            GoTo inicio
End

FOR… NEXT

Sintaxis:
For variable = inicio to final {step {-} incremento}
*
*
Instrucciones…
*
*
Next {variable}

La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto número de veces.

Primero, se evalúan las expresiones 1 y 2, dando como resultado dos números.
La variable del bucle recorrerá los valores desde el número dado por la expresión 1 hasta el número dado por la expresión 2.

El bloque de sentencias se ejecutará en cada uno de los valores que tome la variable del bucle.

Programa ejemplo:
            TRISA = %11111
            TRISB = 000000
            PORTB = $00
            X VAR BYTE
            Led VAR PORTB.0
Inicio:
            FOR X = 1 TO 5
            HIGH Led
            PAUSE 500
            LOW Led
            PAUSE 500
            NEXT
            PAUSE 2000
            FOR X = 1 TO 3
            HIGH Led
End


SELECT CASE

Sintaxis:
SELECT (Variable)
      CASE Valor1
         (Instrucciones 1)
      CASE Valor2
         (Instrucciones 2)
      CASE Valor n
         (Instrucciones “n”)
      CASE ELSE
         (Instrucciones “Else”)
   END SELECT

Esta sentencia permite ejecutar una de entre varias acciones en función del valor de una expresión. Es una alternativa a if-then-else cuando se compara la misma expresión con diferentes valores.

Se evalúa la expresión, dando como resultado un número.

Luego, se recorren los "Case" dentro de la estructura buscando que el número coincida con uno de los valores.

Es necesario que coincidan todos sus valores. Cuando se encuentra la primera coincidencia, se ejecuta el bloque de sentencias correspondiente y se sale de la estructura Select-Case.

Si no se encuentra ninguna coincidencia con ningún valor, se ejecuta el bloque de sentencias de la sección "Case Else".

Programa ejemplo:
            I VAR Byte
            Z VAR Byte
            Pause 200
            LCDOut $fe, 1
            Z = 0
Inicio:
            Z = Z + 1
            Select Case Z
                        Case 1
            LCDOut $fe, 2
            LCDOut "Select Case 1"
            Pause 1500
            GoTo Inicio
                        Case 2
            LCDOut $fe, 2
            LCDOut "Select Case 2"
            Pause 1500
            GoTo Inicio
                        Case Else
            Z > 2
            GoTo Final
            End Select
Final:
            GoTo Final
End

No hay comentarios:

Publicar un comentario