- 註冊時間
- 2002-8-14
- 線上時間
- 523 小時
- 閱讀權限
- 50
- 積分
- 176
- 主題
- 28
- 精華
- 0
- 文章
- 198
TA的每日心情 | 開心 2011-10-7 19:08 |
---|
簽到天數: 1 天 連續簽到: 1 天 [LV.1]初來乍到 - 文章
- 198
|
引用如下,我只做了繁體中文化 3 J& x$ s2 E/ Y$ e$ t3 p' E$ o
% `- {) N N* O. N6 Q* K
非常感謝UGLee老大寫出了這麼優秀的SugarMemo,只是U老大實在是工作太忙,暫時無暇更新,小弟前段時間剛好有點時間,所以幫U老大做了一點BugFix,本來想等U老大來發佈的,不過好久都沒在網上見到他了,因此幫U老大代為發佈一下 8 ?: e& [2 W j
1 B5 q# L' i( ~2 D0 m$ p 這是一個BugFix版本, 修正了以下Bug: - B% [8 g% N. V/ W% L7 c
1. 改正了Detail界面中按Address出現崩潰的問題(還沒完全改好,不過崩潰的機遇比以前小了)
' m7 K2 ]2 u4 @" w, D 2. 去掉了生成多選項的時候自動過濾特殊字符(比如空白)的功能, 詞組學習和複習時不會出現混在一起的情況了 6 ?2 R5 l" o, C$ x1 {
3. Updating之後刷新了生詞學習/複習單詞數的顯示,自動選取了第一個單詞庫
2 [# p [, x, L' [: }# T6 C 4. 加入了關閉程序時保存現場的功能, 重新進去後恢復現場,看起來更符合Palm的philosophy了
" _% Z& R* Y% ~+ Y- d, Q1 Q 5. 改進了複習算法, 現將新的複習算法公佈如下 + ~9 w _6 r+ g4 x
# K3 I7 J% I% o) S8 c, W4 U
忘了說明 ,為了支持更多字體,更改了一下字體設置,請重新設置一下各個詞庫的字體,才會正確顯示音標和大字 . j, K6 Z8 q2 ^+ b7 h
典型的設置為 Word - 特大字, Phonetic - 大音標, Tranlation - 特大字,設置在學習或者複習界面的菜單中
+ n) E0 i, a7 a* X/ x3 A 7 n6 `" x/ M! Q* E$ H1 N
本學習軟件採用的是sm2算法,按照sm2算法,所有複習過的單詞按照難易程度分為六個級別,A/B/C/D/E/F,其中A代表記得最牢固,B次之,F表示根本記不得了 8 j- m5 M% ^0 ^5 U$ J: X
用過SuperMemo的用戶都知道,在SuperMemo中是由用戶來選擇難易級別的,但是根據本人的使用經驗和大部分人的經驗來看,讓用戶自己選擇基本上是很難做到很準確的,然而這一點實際上又是保證科學安排複習時間的關鍵所在 " Z O1 b* N c* y x- a4 l- J
所以在SugarMemo中,我們簡化了這種操作,只是讓用戶選擇Fail/Pass/Bingo,使這種判斷更趨於人性化,並且通過這些組合來試圖盡量科學的幫用戶來模擬A/B/C/D/E/F的難易級別 ( |) J1 v4 W! C) _; X
f( E$ k( l8 p
我們的實現原理是這樣的
' ~; T0 w+ k; Z+ x7 K$ M 設置了兩個狀態r1, r2以及tFail計數器來記錄複習過程 ' ~& h* @- X- B& b+ e, a
r的取值範圍為NoRating,FailRating,PassRating,BingoRating ' ^ c8 c+ t; o0 ?# K
當一個單詞進入複習的時候的狀態, r1=r2=NoRating * ]% e8 q4 y6 F- B0 ~3 X9 u9 K
r1 - 記錄第一次的選擇
+ v% u* `! B# U0 p$ a r2 - 記錄後面的最有利的一次記憶狀態 & O' [. W9 @: j1 ~
tFail - 本次複習循環中的Fail總次數 ! N7 n8 _! p3 T5 O8 g
maxFail - 允許最大的Fail總次數,目前定義為8次 f' T6 [6 z4 ?: \$ `2 O( [
( K+ [1 p6 \0 T$ N; Y
只有一種複習模式時,當選取Pass/Bingo的時候,將跳出本輪複習
4 ^! k: X4 j8 ^* q' ^# u 多種模式複習時,Bingo的時候直接跳出複習,Pass則跳到下一種模式,當然如果是最後一次,那麼則跳出本輪複習
% m* n! N7 J: b' y 對於多選模式,選對了,則記錄為PassRating,選錯了記錄為FailRating,所以從科學複習的角度來說,請務必至少選擇回想模式
. A' u' l7 R/ g9 A F的時候將單詞送回學習序列,重新進行學習 ; d+ q$ _8 d6 K J6 Y* y# |4 T
* p7 ~/ \, V4 c0 [& s
A - (r1 = BingoRating 並且 r2 = BingoRating)
3 a, q t- O- c- _' @ 或者 (r1 = BingoRating 並且 r2 = NoRating) 0 r* l$ P% Q8 o0 Z+ ~0 M
B - (r1 = BingoRating 並且 r2 = PassRating) + j9 E' a) L$ _! ^" C& {( L
或者 (r1 = PassRating 並且 r2 = BingoRating) $ r! s' S9 |% y- R( u
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 1) 5 z$ O# q6 A! p3 g. A& e& q
或者 (r1 = PassRating 並且 r2 = NoRating)
( [2 _4 S+ |* m C - (r1 = FailRating 並且 r2 = PassRating 並且 tFail = 1) / @$ z) g- S* c/ l5 Q8 Y
或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail = 2) & b+ h* g- q6 x6 M# `9 ^
或者 (r1 = PassRating 並且 r2 = PassRating) * v9 \' P& M% w; I# N' u+ K. W% G
D - (r1 = FailRating 並且 r2 = PassRating 並且 tFail == 2)
8 z2 T' O) z7 }; W/ u* H* Q! K 或者 (r1 = FailRating 並且 r2 = BingoRating 並且 tFail > 2 並且 tFail < maxFail)
$ H- s6 D' L* E; W) Q E - (r1 = FailRating 並且 r2 = PassRating 並且 tFail > 2 並且 tFail < maxFail)
% d% b8 z/ j4 a; |8 z$ d F - (tFail >= maxFail)
( _" i% q& Y; a2 ^8 m1 V% f6 T1 o % n+ Y& h' C5 D: p/ n$ V# X
上述情況中盡可能的考慮到了所以可能出現的狀態,如果出現沒有考慮到的情況,將跳出一個Error對話框,如果在複習的時候出現Error對話框,請及時報告錯誤,我盡可能的保證不出現這種沒有考慮到的情況,但是錯誤有時總是難免的 ,謝謝 ; z, S1 `/ U7 P* L+ I$ L
! ]2 O7 Q# q: d# c9 X
由於原來的算法中忘記清除測試狀態,所以做了一個特殊的版本用於清除測試狀態,此版本只需運行一次,會彈出一個標題為Reseting Testing Status的窗口,然後所有的詞庫都會自動清除測試狀態,在安裝使用0.59Beta之前,一定要運行一次這個版本,切記切記
2 ?& A' e |# k% |
( e; V; o1 j- W3 V9 A3 M4 Z1 E2 _ 運行過之後,刪掉上面的版本,重新安裝以下的0.59Beta版本就可以正常使用了 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?免費註冊 
|