class GerenciadorTarefasRecife {
  constructor() {
    this.tarefas = [];
  }

  // Adiciona uma tarefa no final usando push()
  adicionarNoFim(tarefa) {
    this.tarefas.push(tarefa);
    console.log(`[push] Adicionada ao fim: "${tarefa}"`);
  }

  // Adiciona uma tarefa no início usando unshift()
  adicionarNoInicio(tarefa) {
    this.tarefas.unshift(tarefa);
    console.log(`[unshift] Adicionada ao início: "${tarefa}"`);
  }

  // Remove a primeira tarefa usando shift()
  removerDoInicio() {
    if (this.tarefas.length === 0) {
      console.log("A lista está vazia!");
      return null;
    }
    const removida = this.tarefas.shift();
    console.log(`[shift] Removida do início: "${removida}"`);
    return removida;
  }

  // Remove a última tarefa de forma MANUAL (sem usar o pop)
  removerDoFimManual() {
    if (this.tarefas.length === 0) {
      console.log("A lista está vazia!");
      return null;
    }
    
    const ultimoIndice = this.tarefas.length - 1;
    const tarefaRemovida = this.tarefas[ultimoIndice];
    
    // Reduzindo o tamanho do array remove o último elemento manualmente
    this.tarefas.length = ultimoIndice;
    
    console.log(`[Manual] Removida do fim: "${tarefaRemovida}"`);
    return tarefaRemovida;
  }

  // Exibir lista atual
  exibirLista() {
    console.log("Lista de Tarefas de Decoração:", this.tarefas);
  }
}

// === TESTANDO O SISTEMA ===

const decoracaoNatalina = new GerenciadorTarefasRecife();

// 1. Adicionando tarefas
decoracaoNatalina.adicionarNoFim("Montar árvore na Praça da República");
decoracaoNatalina.adicionarNoFim("Instalar luzes na Avenida Boa Viagem");
decoracaoNatalina.adicionarNoInicio("Instalar presépio no Marco Zero");

decoracaoNatalina.exibirLista();

// 2. Removendo tarefas
decoracaoNatalina.removerDoInicio(); // Remove o presépio
decoracaoNatalina.removerDoFimManual(); // Remove as luzes na Av. Boa Viagem manualmente

decoracaoNatalina.exibirLista();

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: