[{"data":1,"prerenderedAt":320},["ShallowReactive",2],{"article-animated-calculator":3},{"id":4,"title":5,"body":6,"date":288,"description":289,"downloads":292,"extension":296,"hide":297,"links":298,"meta":302,"navigation":303,"path":304,"seo":305,"slug":307,"stem":308,"tags":309,"__hash__":319},"articles\u002Farticles\u002Fanimated-calculator.md","动画计算器",{"type":7,"value":8,"toc":274},"minimark",[9,30,97,108,177,188,196,223,234,256,267],[10,11,12,14],"h2",{"id":12,"class":13},"运算能力","section-heading",[15,16,19,25],"a",{"class":17,"href":18},"section-link","#运算能力",[20,21,24,12],"span",{"className":22},[23],"visually-hidden","章节",[20,26,29],{"ariaHidden":27,"tabIndex":28},"true",-1," §",[31,32,33,46,64,74,84],"ul",{},[34,35,36,40,41,45],"li",{},[37,38,39],"strong",{},"基础运算","：支持 ",[42,43,44],"code",{},"+-*\u002F"," 四则运算，遵循标准优先级（先乘除后加减）。",[34,47,48,51,52,55,56,59,60,63],{},[37,49,50],{},"幂运算","：使用 ",[42,53,54],{},"^"," 符号表示乘方，优先级高于乘除，右结合（如 ",[42,57,58],{},"2^3^2"," = ",[42,61,62],{},"2^(3^2)","）。",[34,65,66,69,70,73],{},[37,67,68],{},"括号支持","：允许任意嵌套的 ",[42,71,72],{},"()"," 括号，改变运算顺序。",[34,75,76,79,80,83],{},[37,77,78],{},"负数处理","：支持负号直接输入（如 ",[42,81,82],{},"5+-3"," 解析为 5 + (-3)），也支持负数作为表达式起始。",[34,85,86,89,90,93,94,63],{},[37,87,88],{},"缩写输入","：小数点前后可省略 0（如输入 ",[42,91,92],{},".5"," 自动补全为 ",[42,95,96],{},"0.5",[10,98,99,100],{"id":99,"class":13},"交互体验",[15,101,103,106],{"class":17,"href":102},"#交互体验",[20,104,24,99],{"className":105},[23],[20,107,29],{"ariaHidden":27,"tabIndex":28},[31,109,110,143,165,171],{},[34,111,112,115,116,119,120,123,124,127,128,130,131,134,135,138,139,142],{},[37,113,114],{},"按键输入","：提供数字键 ",[42,117,118],{},"0-9","、小数点 ",[42,121,122],{},".","、运算符 ",[42,125,126],{},"+-*\u002F^","、括号 ",[42,129,72],{},"、退格 ",[42,132,133],{},"\u003C","、清空 ",[42,136,137],{},"AC","、等于 ",[42,140,141],{},"=","。",[34,144,145,148,149],{},[37,146,147],{},"光标操作","：\n",[31,150,151,162],{},[34,152,153,154,157,158,161],{},"支持 ",[42,155,156],{},"←"," ",[42,159,160],{},"→"," 移动光标，可在表达式任意位置插入\u002F删除。",[34,163,164],{},"光标移动带有非线性缓动动画，视觉反馈柔和。",[34,166,167,170],{},[37,168,169],{},"长按支持","：退格键长按可连续快速删除；数字和运算符长按可重复输入。",[34,172,173,176],{},[37,174,175],{},"动效要求","：所有按键按下时有缩放反馈；光标移动具有缓动效果。",[10,178,179,180],{"id":179,"class":13},"核心算法实现",[15,181,183,186],{"class":17,"href":182},"#核心算法实现",[20,184,24,179],{"className":185},[23],[20,187,29],{"ariaHidden":27,"tabIndex":28},[189,190,191,192,195],"p",{},"解析策略采用 ",[37,193,194],{},"递归下降 + 结果栈","解析表达式字符串。",[197,198,199,205,211,217],"ol",{},[34,200,201,204],{},[37,202,203],{},"词法分析","：将输入字符串拆解为 Token（数字、运算符、括号、负号标记）。",[34,206,207,210],{},[37,208,209],{},"数值计算","：树形遍历Token，执行运算。遇到除零、NaN、无穷大等异常时，停止递归并抛出错误。",[34,212,213,216],{},[37,214,215],{},"回溯机制","：若计算过程中某节点失败，则向上回溯，将整个表达式标记为无效，并清空栈顶中间结果。",[34,218,219,222],{},[37,220,221],{},"最终输出","：成功解析且无错误时，栈顶即为最终计算结果；否则反馈错误信息。",[10,224,225,226],{"id":225,"class":13},"错误处理与用户反馈",[15,227,229,232],{"class":17,"href":228},"#错误处理与用户反馈",[20,230,24,225],{"className":231},[23],[20,233,29],{"ariaHidden":27,"tabIndex":28},[31,235,236,242,248],{},[34,237,238,241],{},[37,239,240],{},"实时检查","：输入时动态显示错误消息。",[34,243,244,247],{},[37,245,246],{},"计算错误提示","：语法错误如括号不匹配、Token解析错误，数字格式错误分别显示不同消息。",[34,249,250,255],{},[37,251,252],{},[42,253,254],{},"NaN","：针对常见除0，Infinity加减除等运算错误自动识别。",[10,257,258,259],{"id":258,"class":13},"截图",[15,260,262,265],{"class":17,"href":261},"#截图",[20,263,24,258],{"className":264},[23],[20,266,29],{"ariaHidden":27,"tabIndex":28},[189,268,269],{},[270,271],"img",{"alt":272,"src":273},"使用Scratch动画计算器计算嵌套表达式","\u002Fraw\u002Fanimated-calculator-screenshot.png",{"title":275,"searchDepth":276,"depth":276,"links":277},"",2,[278,280,282,284,286],{"id":12,"depth":276,"text":279},"运算能力章节运算能力 §",{"id":99,"depth":276,"text":281},"交互体验章节交互体验 §",{"id":179,"depth":276,"text":283},"核心算法实现章节核心算法实现 §",{"id":225,"depth":276,"text":285},"错误处理与用户反馈章节错误处理与用户反馈 §",{"id":258,"depth":276,"text":287},"截图章节截图 §","2025\u002F4\u002F29",[290,291],"支持多种运算格式，负数，小数。用户操作有非线性的流畅动效。支持识别常见语法错误，计算错误。","纯Scratch实现，利用到栈，递归等技巧，实时显示运算结果。",[293],[294,295],"\u002Fraw\u002Fanimated-calculator.sb3","下载","md",false,[299],[300,301],"\u002Fraw\u002Fanimated-calculator.html","体验",{},true,"\u002Farticles\u002Fanimated-calculator",{"title":5,"description":306},[290,291],"animated-calculator","articles\u002Fanimated-calculator",[310,313,316],[311,312],"lang","scratch3",[314,315],"inspiration","adaptation",[317,318],"content","tool","HGxweuD_TeOBefe_jSBOb9AgxBAv5OevqScuJqBafHE",1778909018674]