Contador com passo e reset via closure

JavaScript Medium closures

Tarefa «Contador com passo e reset via closure»

Implemente a função createCounter, que recebe um valor inicial start e um passo step. A função deve retornar um objeto com três métodos: increment() — aumenta o valor atual em step e o retorna, decrement() — diminui em step e retorna, reset() — redefine o valor para o start inicial. Use closures para armazenar o estado. O valor inicial start e o passo step são números inteiros.

Formato de Entrada

Primeira linha: start (número inteiro). Segunda linha: step (número inteiro). Terceira linha: número de chamadas n (número inteiro, 1 ≤ n ≤ 20). Em seguida, n linhas, cada uma contendo um comando: 'increment', 'decrement' ou 'reset'.

Formato de Saída

Para cada comando, imprima o valor atual do contador após a execução do comando, cada um em uma nova linha.

Exemplos

Exemplo 1

ENTRADA
10 3 3 increment increment decrement
SAÍDA
13 16 13

Exemplo 2

ENTRADA
-5 2 4 decrement decrement increment reset
SAÍDA
-7 -9 -7 -5

Exemplo 3

ENTRADA
5 4 6
SAÍDA
78.54 24.00
main.js