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