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();
To embed this project on your website, copy the following code and paste it into your website's HTML: