You are on page 1of 6

TEXTO ESTRUCTURADO

El texto estructurado, está basado, en los lenguajes de tipo texto de alto nivel y es muy
similar a los ya conocidos PASCAL, BASIC y C. Aunque todavía no es muy popular se
le considera como un lenguaje nuevo ya que requiere conocimiento previo de
programación.

Las principales ventajas de este lenguaje respecto al basado en el listado de


instrucciones o IL es que incluye la formulación de las tareas del programa, una clara
construcción de los programas en bloques con reglas (instrucciones) y una potente
construcción para el control. De este modo, se trata de la forma más apropiada de
programar cuando queremos realizar ciclos (ej. “if”, “while”, “for”, “case”).

Para el caso de STEP 7 este tipo de lenguaje se denomina SCL (Lenguaje de Control
Estructurado). A continuación, puede observarse un ejemplo de un extracto de un
programa de este tipo. (fig. )

Fig. Lenguaje de Control Estructurado

COMPOSICIÓN DEL TEXTO ESTRUCTURADO

OPERADOR DE ASIGNACIÓN:

El operador de asignación es := y asigna el valor de la expresión de la derecha a la


variable de la izquierda. Se utiliza para establecer valores iniciales, almacenar
resultados de cálculo e incrementar las variables.

Ejemplos:

A := 4 Asignamos a A el valor 4.

B := 2 * C Asignamos a B el doble del valor de C.


D := E Asignamos a D el valor de E.

F := TRUE Asignamos a F el valor “cierto” (1 lógico)(on).

G := FALSE Asignamos a G el valor “falso” (0 lógico)(off).

OPERADOR DE COMPARACIÓN:

El operador de comparación es = no confundir el operador de asignación, con el de


comparación.

Ejemplos:

A = 4 comparamos el valor de A con 4.

B = 2 * C comparamos el valor de B con el doble del valor de C.

COLORES USADOS EN EL CÓDIGO

El CX-Programmer muestra automáticamente texto en los colores siguientes:

Palabras reservadas: Azul

Comentarios: Verde

Errores: Rojo

Resto de cosas: Negro

Los colores NO los podemos personalizar.

(* Ejemplo *)

a := a AND NOT b;

(* Selección *)

IF a = TRUE THEN

a := a AND B;
valor := (a+b) *15 +16#FF;

d := ABS (valor);

END_IF;

DELIMITADOR DE INSTRUCCIONES:

Las declaraciones de asignación y control deben acabar siempre con un delimitador de


punto y coma ( ; ), no se pueden completar simplemente usando un retorno de carro.

Ejemplos:

(* Ejemplo 1 *)

A := A + B;

(* Ejemplo 2 *)

IF C = TRUE THEN

C := C AND B;

END_IF;

No se puede usar un delimitador dentro de una sentencia ya que se producirá un error de


sintaxis.

Ejemplo:

(* Ejemplo *) MAL

IF C = TRUE ; THEN

C := C AND B;

END_IF;
COMENTARIOS:

Los comentarios se encierran entre paréntesis y asteriscos (* y *). Se puede usar


cualquier carácter dentro del comentario excepto paréntesis y asteriscos. Los
comentarios pueden comprender varias líneas. No se admite anidamiento dentro de los
comentarios.

Ejemplos:

(*Este es un ejemplo de comentario válido*)

(*(*Este es un ejemplo de comentario no válido*)*)

ESPACIOS, RETORNOS DE CARRO Y TABULACIONES:

Se pueden utilizar cualquier número de espacios, retornos de carro y tabulaciones en


cualquier lugar dentro de las sentencias. Se recomienda usarlos entre palabras
reservadas y ecuaciones para facilitar su mejor comprensión.

No podemos utilizar espacios, retornos de carro y tabulaciones dentro de palabras


reservadas, nombres de variables, caracteres especiales y constantes (valores
numéricos).

Ejemplos:

(* Ejemplo 1 *) → (* Ejemplo 1 *)

A:=A+B; A := A + B;

(* Ejemplo 2 *) → (* Ejemplo 2 *)

IFC=TRUE THEN IF C = TRUE THEN

C:=C ANDB; C := C AND B;

END_IF; END_IF;

MAYÚSCULAS Y MINÚSCULAS:
Es indistinto el uso de mayúsculas y minúsculas en cualquier sentencia o nombre de
variable.

Ejemplos:

(* Ejemplo 1 *)

IF A = TRUE THEN

A := A AND B;

END_IF;

(* Ejemplo 2 *)

if a = true then

a := a and b;

end_if;

NOMBRES DE VARIABLES:

Los caracteres siguientes no se pueden utilizar en nombres de variables:

! " # $ % & ` ( ) - = ^ ~ \ / | @ [ ] { } ; : + * , < > .


¿ ?

Las variables no pueden comenzar por un número (0 a 9).

No se pueden utilizar espacios en nombres de variables.

PRIORIDAD ENTRE OPERADORES:

Las operaciones que requieran prioridad las pondremos entre paréntesis.

Ejemplo:

AND tiene prioridad sobre OR.


En “A OR B AND C”, se dará prioridad a B AND C.

En “(A OR B) AND C”, se dará prioridad a (A OR B).

You might also like