Contador con paso y reinicio mediante clausura

JavaScript Medium closures

Tarea «Contador con paso y reinicio mediante clausura»

Implemente la función createCounter, que recibe un valor inicial start y un paso step. La función debe devolver un objeto con tres métodos: increment() — aumenta el valor actual en step y lo devuelve, decrement() — lo disminuye en step y lo devuelve, reset() — restablece el valor al inicio start. Utilice clausuras para almacenar el estado. El valor inicial start y el paso step son números enteros.

Formato de entrada

Primera línea: start (número entero). Segunda línea: step (número entero). Tercera línea: cantidad de llamadas n (número entero, 1 ≤ n ≤ 20). Luego n líneas, cada una contiene un comando: 'increment', 'decrement' o 'reset'.

Formato de salida

Para cada comando, muestre el valor actual del contador después de ejecutar el comando, cada uno en una nueva línea.

Ejemplos

Ejemplo 1

ENTRADA
10 3 3 increment increment decrement
SALIDA
13 16 13

Ejemplo 2

ENTRADA
-5 2 4 decrement decrement increment reset
SALIDA
-7 -9 -7 -5

Ejemplo 3

ENTRADA
5 4 6
SALIDA
78.54 24.00
main.js