Contenido

Sucede

El operador sucede recibe un valor numérico y calcula ese valor más uno.

Por ejemplo, el siguiente código deja 5 zumbadores, porque 4 + 1 = 5

repetir sucede(4) veces
inicio
    deja-zumbador;
fin;

También se puede cambiar con parámetros. Una cosa importante a notar, el operador nunca modifica el valor de un parámetro.

Por ejemplo, el código de abajo produce la siguiente imagen:

[5, 6, 5] zumbadores
iniciar-programa
    define-nueva-instruccion deja(n) como
    inicio
        repetir n veces
            deja-zumbador;
    fin;

    define-nueva-instruccion funcion(n) como
    inicio
        deja(n);
        avanza;
        deja(sucede(n));
        avanza;
        deja(n);
    fin;

    inicia-ejecucion
        funcion(5);
        apagate;
    termina-ejecucion
finalizar-programa

Precede

El operador precede recibe un valor numérico y calcula ese valor menos uno.

Un ejemplo abajo:

iniciar-programa
    define-nueva-instruccion deja(n) como
    inicio
        repetir n veces
            
deja-zumbador; fin; define-nueva-instruccion funcion(n) como inicio deja(n); avanza; deja(precede(precede(n))); avanza; deja(precede(n)); fin; inicia-ejecucion funcion(5); apagate; termina-ejecucion finalizar-programa

Segundo parámetro

Desde ReKarel 2.0.0

Ambos, sucede y precede pueden recibir un segundo parámetro para especificar cuanto tienen que sumar o restar.

Veamos dos ejemplos válidos:

  • sucede(n, 3) Calcula n + 3
  • precede(4, 8) Calcula 4 - 8

Este segundo parámetro debe ser un número, no puede ser una variable, parámetro, etc. Por lo tanto, los siguientes ejemplos no són validos:

  • sucede(n, n)
  • precede(4, zumbadores-del-piso)
  • precede(4, sucede(3))