HP Prime - Omisiones en sintaxis

Tanto en HP PPL como en cualquier otro lenguaje, el código se escribe bajo reglas de sintaxis, por lo general existe solo una forma para conformar una estructura pero aquí se presenta algunas omisiones permitidas.


Omisiones en sintaxis
HP Prime - Programación

Se entiende por omisión en sintaxis, el prescindir de palabras claves o comandos en las diversas estructuras del código, donde usualmente existirían y sin embargo no genera ningún tipo de problema (salvo la sorpresa y frustración en programadores nuevos).

En muchos lenguajes similares a HP Prime existen omisiones en sintaxis que el programador puede decidir utilizar, ya sea por curiosidad o cargo de conciencia. Sabiendo diferenciar lenguajes, aquí no se presenta aspectos de Programación CAS, son características dirigidas a HP PPL.


Antes de empezar

Un lenguaje de programación es un lenguaje formal, tiene reglas finitas para construir algoritmos con símbolos y palabras, generalmente reglas estrictas de cómo hacer exactamente las cosas, que a su vez permite crear una cantidad infinita de programas.

Un lenguaje de programación esta construído con un léxico (símbolos y palabras clave), sintaxis (correcto orden de usar los símbolos y palabras clave) y semántica (significado y objetivo de agrupar los símbolos y palabras clave). Con ayuda de esta construcción de diccionario, orden y significado es posible crear cualquier tipo de lenguaje interpretable.

La sintaxis es la parte donde se describe con qué palabras claves se delimita el inicio y término de una función (BEGIN - END), si se requiere un símbolo que indique el término de una instrucción (;), si los parámetros van entre paréntesis y cualquier otra regla que permita la interpretación exacta de un programa.

Afimar que una sintaxis es estricta es relativo, por ejemplo debido a la existencia de omisiones en sintaxis se podría considerar como un lenguaje poco estricto; pero a la vez es algo que esta definido así intencionalmente, entonces el lenguaje estrictamente te permite usar o no usar símbolos o palabras clave bajo ciertas situaciones (no de cualquier forma, sino en una forma esperada).


Omisión de ";"

Se puede omitir el cierre de sentencia ";" en la mayoría de casos donde inmediatamente después de la instrucción exista un cierre o límite de bloque como END, ELSE, UNTIL, THEN. Por ejemplo END; END; END; sería END END END; sin ningún inconveniente.

Fin de bloque de función



Fin de bucle



Fin de condicional



Fin de código en cadena con "EXPR"

El comando interpreta una cadena como código y lo ejecuta, para ello posee un inicio y fin de bloque implícito, gracias a eso es posible omitir el ";" al final de cada cadena.



Comandos tipo estructura que no permiten omisión

No es posible omitir el ";" al final de una instrucción donde se usa los siguientes comandos: LOCAL, RETURN, KILL, BREAK, CONTINUE, UNTIL-(cuando se omite END).




Omisiones en estructura "CASE"

En una estructura CASE, se reconoce la presencia obligatoria de bloques IF THEN END por lo que permite nuevamente omitirse el ";" al final de cada condicional. También es posible omitir la frase DEFAULT asumiendo que el código final dentro de la estructura CASE será el código por defecto.



Recordar que usar DEFAULT permite definir el bloque final, donde incluso puede colocarse más condicionales si se requiere, por lo que su uso puede ser obligatorio para evitar conflictos de intepretación.




Omisión de "( )"

Funciones propias

Al definir funciones que no poseen parámetros, se puede escribir NUEVA_FUNCIÓN en vez de NUEVA_FUNCIÓN( ), no es aplicable para una declaracion ya que es el diferenciador entre función y variable.



Uso de funciones y comandos

Cuando a una función o comando no se le envia un parámetro, el "( )" puede omitirse sin problemas. Recordando nuevamente que hablamos de HP PPL, no se considera al usar funciones propias CAS.




Omisión de RETURN

En HP PPL toda función retorna valor, por esa razón la función retornará un valor aún si no existe RETURN en su código. El valor retornado de una función siempre es la última línea ejectuada, por lo que se puede omitir esta instrucción cuando el valor retornado es la última línea dentro del código de la función.




Equivalencias

Existen instrucciones que pueden tener una ligera variación sin alterar su sentido, recordando que estas equivalencias son propias de HP PPL (la programación CAS es aparte),

Operadores

La declaración de variables locales globales (ubicado fuera de cualquier función) permite omitir la frase "LOCAL". En toda declaración de variable es posible usar "=" en vez de ":=". El operador de asignación fuera de una declaración puede ser "" en vez de ":=". Los operadores relacionales pueden reemplazarse sin problemas por los mostrados en Shift + 6.



Bucles

Al usar REPEAT se puede omitir el "END;" por un simple ";". En el bucle FOR se puede reemplazar "FROM" por un operador de asignación ":=".




Ejemplos aplicativos

A continuación se presenta 2 ejemplos para reforzar el artículo y de alguna manera resumirlo en la acción. Cada ejemplo puede ser descargado desde el pie de sus imágenes.

Ejemplo 1: Rectángulos





Descarga el código: OS-Rectángulos

Ejemplo 2: Adivina el número





Descarga el código: OS-AdivinaNumero


Consejos y datos finales

Si te interesa las omisiones en sintaxis del lenguaje HP PPL por la reducción de código, ingresa a Creando código reducido en HP Prime para abarcar todo sobre este tema.

Usar las omisiones de sintaxis tienen una simple utilidad: brindar un minúsculo gusto al programador; para satisfacer la necesidad de reducción enfermiza del código y mantenerlos tranquilos (la variación del código no es importante). Estas omisiones tienen una influencia casi insignificante en la velocidad de ejecución de un programa o en el tamaño final del programa.

Comentarios

Lo más visto