Cambiar lenguaje a espaniol
Switch language to english

Interprete de programas

Ejecute su programa escrito en Sintaxiscript.

Documentacion del lenguaje


Sintaxiscript es un lenguaje donde un programa es una secuencia de sentencias. Cada sentencia puede ser una declaracion de variables, una asignacion, una escritura, una lectura, un condicional (if / if else) o un ciclo while.

Otras caracteristicas importantes son:

  • Todas las variables en un programa son del tipo constante real y no es necesario indicarlo.
  • Una expresion aritmetica puede incluir los operadores aritmeticos: + para indicar suma, - para indicar resta, * para indicar producto, / para indicar division, ^ para indicar potenciacion, RAIZ para indicar una raiz.

Escribiendo un programa en Sintaxiscript


» Para iniciar la declaracion de un programa se utiliza la palabra reservada Program junto a un identificador del programa. El cuerpo del programa se encerrara mediante llaves {CUERPO}.

                
                    Program demo {
                        // Cuerpo del programa
                    }            
                

Declaracion de una sentencia


» Para declarar sentencias en Sintaxiscript se debe tener en cuenta la utilizacion del punto y coma ; como separador de sentencias, es decir, siempre que esta sentencia no represente la ultima antes de un cierre mediante llave }

            
                
                variable1 = 100.54; // Se utiliza . para denotar decimales en una constante real
                variable2 = 110;
                suma = variable1 + variable2;
                control = -10;
                if [suma>=200]{
                 control = 1
                };
                suma = 0
            
            

Declaracion de variables


» Toda variable debe ser declarada ANTES de ser utilizada. Dichas declaraciones se haran mediante la palabra reservada var y luego la lista de variables que se quieran declarar separadas mediante coma.

            
                var variable1,variable2,variable3;
            
            

Asignacion de variables


» Toda asignacion se hara hacia una expresion aritmetica sobre numeros reales. Bajo este concepto seran admitidas asignaciones a otras variables (ya que contienen numeros reales) o cualquier operacion aritmetica valida antes mencionada. Debe tenerse en cuenta la utilizacion de parentesis ( ) para indicar prioridades en las operaciones aritmeticas.

                
                
                var variable1,variable2,suma,resta,producto,cociente,potencia,radical,opCombinada;
                variable1 = 25;
                variable2 = 5;
                suma = variable1 + variable2;
                resta = variable1 - variable2;
                producto = variable1 * variable2;
                cociente = variable1 / variable2;
                potencia = variable1 ^ variable2;
                radical = RAIZ(variable2); // El radicando debe ir entre parentesis: RAIZ (radicando)
                opCombinada = variable1 * (variable1 + variable2) // Parentesis para indicar prioridad en operaciones algebraicas
             
                

Sentencias condicionales


» Para declarar una sentencia condicional se utilizan las palabras reservadas if y else. La condicion se representara entre corchetes [CONDICION]. Es posible utilizar operadores logicos (and, or, not)

                
                var control,cambio;
                control = 1;
                cambio = 10.20;
                if [control == 1 or cambio>10]{
                 control = cambio - 10
                } else {
                 control = cambio + 10
                }
                
                

Declaracion de un ciclo while


» El ciclo while funcionara de manera similar, sintacticamente, a la estructura condicional. La condicion quedara tambien encerrada entre corchetes [CONDICION]. Es posible utilizar operadores logicos (and, or, not)

                
                var control,cambio;
                cambio = 0;
                control = 0;
                while [cambio < 100 and not [control==1]]{
                 cambio = cambio + 10
                };
                control = 1
                
                

Escritura en pantalla


» Para realizar impresiones en pantalla se utiliza la palabra reservada Print que recibe como argumentos,separados por comas, a cadenas, que se escriben encerrandolas con "ejemplo cadena", y expresiones aritmeticas, identificadores o constantes reales.

                
                var dinero,control;
                dinero = 0;
                control = 0;
                if [dinero == 0 or not [control<>0]]{
                 dinero = dinero + (100.50 * 2.5); // Parentesis para indicar prioridad en operaciones algebraicas
                Print("El dinero actual es: ",dinero);
                control = 1
                };
                Print("El doble del dinero actual es: ",dinero*2,"fin de programa")
                
                

Lectura de una variable


» Para leer una variable se utiliza la palabra reservada Read que recibe como argumentos ("cadena",id). Donde cadena es una cadena que se muestra en pantalla e id es la variable a leer.

                
                var dinero,boleto;
                Read("dinero disponible",dinero);
                if [dinero <= 50]{
                 Print("Para 50 aun faltan: ",50-dinero)
                } else{
                 Read("tipo de boleto",boleto);
                 Print(boleto,"ha sido adquirido")
                }
            

Ejemplo de un programa completo


» Se trata de un programa que calcula el maximo valor entre una lista de valores ingresados por el usuario.

                
                    Program maximo {
                     var valor,maximo,control;
                     control = 1;
                     Read("Ingrese un valor: ",maximo);
                     Read("Desea continuar?, ingrese 0 para salir",control);
                     while [control <> 0]{
                      Read("Ingrese un valor: ",valor);
                       if [valor > maximo]{
                        maximo = valor
                       };
                       Read("Desea continuar?, ingrese 0 para salir",control)
                     };  
                     Print("El valor maximo es: ",maximo)
                    }