Minha prioridade é fazer este código da Curva do Esquecimento em Java no prazo de uma semana, todas as minhas dúvidas até concluir o código será postava nesta página, conto com a ajuda de todos e este código será útil pra todo mundo.
Se você assistir uma aula e entender a aula você aprende 100% , passado um dia cai para mais de 70% e depois de um mês você só consegue lembrar menos de 6%, tudo isto acontece por que a gente não fez revisão. Preciso iniciar meu código para usar em todos os meus estudos, mas não sei como fazer, quero que ao iniciar o código mostre…
a) data atual baseada na hora do computador…
b) mostre a lista completa se tem alguma revisão para hoje
c)Pergunte se quer cadastrar algum lembrete…
d)após cadastrar cada lembrete, depois de 10 minutos, 24 horas, uma semana, 15 dias, 31 dias e de 45 em 45 dias este lembrete tem que ser lembrado para poder fazer a revisão.
e) Se eu desligar o pc vou perder o código, ou seja, vou ter que salvar o código num bloco de notas.
Parece simples, mas o código é muito complexo, depois do código pronto pretendo fazer pequenos ajustes pra deixar do jeito que quero.
O que devo fazer pra iniciar o código, me passa as informações que estudo, se quiser passar o código completo explicando todos detalhes das linhas fiquem a vontade.
Aprender lógica de programação e estruturas de dados.
Bloco de notas é somente um editor de textos, você não salva nada dentro dele.
Você terá que salvar em arquivo ou em um banco de dados.
Concordo em absoluto com o @staroski e acrescento que você vai precisar entender como todo esse processo funciona e quais são as fórmulas para calcular o que você precisa (por exemplo, qual o percentual esquecido por dia, se é progressivo ou não, etc).
Olá staroski,
Tenho usado o bloco de notas pra salvar as coisas nele, no código java peço para criar um arquivo extensão txt e no mesmo código java dá pra fazer a leitura, acho muito mais fácil, não sei se é a forma correta, mas funciona perfeitamente, como estou iniciando em java, achei mais fácil usar o bloco de notas.
Olá darlan,
Você me deu ótima ideia de colocar gráfico depois,vamos estudar um jeito de deixar este código bem profissional, o problema é que qualquer coisa que você tenta acrescentar num código você tem que ter um pouco mais de conhecimento, depois de pronto o código está nos meus planos colocar sua ideia em prática.
staroski,
Entrei nesta página e já baixei o pdf estrutura Lógica de Programação e estrutura de dados que você indicou…
http://www.ams.eti.br/livros/Sandra_Puga.pdf
São 261 páginas e qualquer coisa que eu aprender vai me ajudar a tentar montar o código da Curva do esquecimento.
Tudo depende de conhecimento. Mas, essa primeira parte depende muito de entender a coisa, afinal, como você faria para criar um sistema que demonstrasse o processo de aceleração e desaceleração de um veículo qualquer, dadas as devidas informações (distância percorrida, velocidade inicial, velocidade máxima, velocidade final, etc)?
olá darlan,
Tenta rodar este código e veja o que pode ser melhorado…
//Curva do Esquecimento
//Início 22/10/2018
import java.util.Calendar;
import java.util.Scanner;
public class CurvaEsquecimento {
public static void main(String[] args) {
Scanner lembrete = new Scanner(System.in);
// Data inicial
Calendar dataInicio = Calendar.getInstance();
// Data que comecei a estudar 22/10/2018
dataInicio.set(2018, Calendar.OCTOBER, 22);
// Data do Pc de hoje
Calendar dataFinal = Calendar.getInstance();
// Calcula a diferença entre hoje e a data cadastrada 22/10/2018
long diferenca = dataFinal.getTimeInMillis() -
dataInicio.getTimeInMillis();
// Quantidade de milissegundos em um dia
int tempoDia = 1000 * 60 * 60 * 24;
long diasDiferenca = diferenca / tempoDia;
//dividir data pra chegar nos 10 minutos
//adicionar a opção entre com outro lembrete para ser arquivado
//salvar e pesquisar lembrete, deletar caso erre ao escrever
//listar todos lembretes
//montando o código e tentando aprender o que cada linha faz
System.out.println("Curva do Esquecimento \nEntre com o lembrete 1: ");
String lembrete1 = lembrete.nextLine();
System.out.println(lembrete1);
System.out.println("Dentro de 10 minutos tem que fazer a revisão!");
System.out.println("Início 22/10/2018 : " +
diasDiferenca + " dias de diferença.");
if(diasDiferenca == 1) {
System.out.println("Fazer Primeira Revisão Hoje.");
} else if(diasDiferenca == 7) {
System.out.println("Fazer Segunda Revisão Hoje.");
} else if(diasDiferenca == 15) {
System.out.println("Fazer Terceira Revisão Hoje");
} else if(diasDiferenca == 31) {
System.out.println("Fazer Quarta Revisão Hoje");
} else if(diasDiferenca == 45) {
System.out.println("Fazer Quinta Revisão Hoje.");
} else if(diasDiferenca == 90) {
System.out.println("Fazer Sexta Revisão Hoje.");
} else if(diasDiferenca == 135) {
System.out.println("Criar novos calculos para meses,semestres,anos.");
} else {
System.out.println("Não precisa fazer revisão hoje");
}
}
}
Você já usou o duolingo alguma vez?
Ele utiliza o mesmo princípio que você está tentando implementar.
É possível fazer N exercícios por dia, porém, de acordo com o passar do tempo, cada alvo abordado em vários exercícios vai apresentando percentual menor, até ficar em 0 novamente (em geral, após vários meses).
Seria bacana você dar uma olhada nisso e tentar reproduzir essa questão.
Veja, você não considera, em nenhum momento, valores mensuráveis (percentuais) para o que aprendeu e para o que está esquecendo.
Por exemplo, como resolver equações de segundo grau? Entendi que tem algumas maneiras, entendi como calcula o delta, mas não entendi como aplicar corretamente a fórmula de Bháskara. Qual o percentual de aprendizado?
darlan,
Não conhecia o duolingo, é de graça e dá para aprender idiomas, vou precisar muito do inglês, cadastrei agora, tem muito conteúdo de java na internet que não está em português e se traduzir não vai ser perfeito.