Natural (lenguaje de programación)

NATURAL es un lenguaje de cuarta generación de Software AG.

Código del programa ¡Hola Mundo! en NATURAL:

WRITE '¡Hola Mundo!'END

Tiene la sentencia de control de flujo "ESCAPE TOP", la cual es similar a "continue" en C, o "Continue For" en "Visual Basic.NET 2005", excepto que también funciona dentro de una subrutina para retornar desde la misma y continuar con la siguiente iteración del bucle de proceso.

Como "continue", evita gran número de identaciones cuando se usan bloques anidados de instrucciones dentro de cualquier sentencia de tipo bucle.

Ejemplo con ESCAPE TOP:

DEFINE DATA LOCAL1 I (N3)                                   /* 3 dígitos, sin decimalesEND-DEFINEFOR I = 2 TO 100  IF (I / 2 * 2) = I AND I > 2    WRITE 'Número' I 'es divisible entre 2'    ESCAPE TOP  END-IF  IF (I / 3 * 3) = I AND I > 3    WRITE 'Número' I 'es divisible entre 3'    ESCAPE TOP  END-IF  IF (I / 5 * 5) = I AND I > 5    WRITE 'Número' I 'es divisible entre 5'    ESCAPE TOP  END-IF  IF (I / 7 * 7) = I AND I > 7    WRITE 'Número' I 'es divisible entre 7'    ESCAPE TOP  END-IF  IF (I / 11 * 11) = I AND I > 11    WRITE 'Número' I 'es divisible entre 11'    ESCAPE TOP  END-IF  WRITE 'Número' I 'es primo'END-FOREND

Los niveles de identación pueden ser ajustados automáticamente con el comando STRUCT dentro del Editor de NATURAL.

El mismo ejemplo, sin ESCAPE TOP:

DEFINE DATA LOCAL1 I (N3)  /* 3 dígitos, sin decimalesEND-DEFINEFOR I = 2 TO 100  IF (I / 2 * 2) = I AND I > 2    WRITE 'Número' I 'es divisible entre 2'  ELSE    IF (I / 3 * 3) = I AND I > 3      WRITE 'Número' I 'es divisible entre 3'    ELSE      IF (I / 5 * 5) = I AND I > 5        WRITE 'Número' I 'es divisible entre 5'      ELSE        IF (I / 7 * 7) = I AND I > 7          WRITE 'Número' I 'es divisible entre 7'        ELSE          IF (I / 11 * 11) = I AND I > 11            WRITE 'Número' I 'es divisible entre 11'          ELSE            WRITE 'Número' I 'es primo'          END-IF        END-IF      END-IF    END-IF  END-IFEND-FOREND
Other Languages
français: Natural
português: NATURAL