整理一些《纸书科学计算器》的小Tips

本文最开始是在2016年的文章 Win10应用《纸书科学计算器》更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp-apps专栏和你们的支持,我们都是喜欢和关注UWP的粉丝!
然而有几个小Tips和彩蛋,帮助页面上没地方写(也不想让用户看到太多字),但不说又觉得缺点什么,还是整理出来单独发篇文章吧。本文会跟着《纸书》的更新而保持更新,这些小Tips则基于《纸书》的最新版本。
1.表达式输入
有三种输入表达式的方式:界面上的键盘、实际键盘、粘贴。除了用界面键盘,在某些情形下,用实际键盘输入也是很方便的。但是在输入复杂运算符时要注意表达式的格式,遇到不能解析的情况,可以先用相应的界面按钮输入,看看正确的格式是什么。
键盘上有以下几个特殊功能键:
- 左方向键:光标左移(相当于界面上的“<”按钮)
- 右方向键:光标右移(相当于界面上的“>”按钮)
- 上方向键:光标移到第一位(相当于界面上的“«”按钮)
- 下方向键:光标移到最后一位(相当于界面上的“»”按钮)
- PageUp:转到上一条历史记录(相当于界面上的“⇐”按钮)
- PageDown:转到下一条历史记录(相当于界面上的“⇒”按钮)
- 回车:完整运算(相当于界面上的“=”按钮)
在《纸书》里,输入框的光标是以橙色字符显示的。而实际上真正的光标位于橙色字符的前方。
比如下图的状态,光标在第0位,新字符会在“1”的前面输入。

而下面这张图的状态,光标在最后一位,新字符会在“2”的后面输入(光标后面没有字符了,所以也没有字符变成橙色)。
除了界面和键盘上的方向键,用鼠标或手指点击输入框某处,也可以改变光标位置。同时,点击表达式显示区上的某数字,在表达式输入区也会自动定位:

另外需要注意的是,表达式显示区和输入框不一定是完全同步的。显示区只会根据你的输入,实时显示尽量合法化的表达式。
2.运算符优先级
按从高到低排列:
- 虽然需要括号,在输入时却省略掉括号的函数(如√、sin、ln、abs等函数后面直接跟数字的情况)
- 乘方(^)、开任意次方(yroot)
- 排列数(nPr)、组合数(nCr)
- 乘(*)、除(/)、取余(mod)
- 加(+)、减(-)
- 矩阵行内分隔(,)、矩阵换行(,,)
3.按键布局调整
汉堡按钮“≡”下有一个二级菜单“按键布局”,里面有许多设置项,可以根据自己需要灵活更改界面上的按键布局。
相对来讲,移动端使用这些设置的频率会更高一些。比如,为了使数字键面积更大以适应小屏设备,《纸书》在移动端是默认隐藏高级运算符的。初始界面是这样:

如果需要使用高级运算符,选中“显示高级运算符”菜单项即可。
此外,在移动端的横屏模式,默认的按键布局与PC端也有不同:

4.小彩蛋
由于用实际键盘可以输入任意字符,那么输入特定的单词并进行计算,会被当作特殊命令。
比如“help”、“version”、“about”、“rate”、“review”这些命令的功能从字面上就能看懂,而“white”和“black”可以改变显示区色调。
那如果计算我的名字“Howard Zhang”会有什么效果呢?
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…

答案是会召唤出来一只戴着礼帽和披风,象征着纸书科学计算器之魂的“Answer Man”(是有多中二)!快去试一下吧。这个Answer Man是用表达式画出来的,如果你掌握了表达式的规律就不难理解。其实它是这样一串表达式,在输入框里也可以找到:
(?/Abs(?,Ans,?)/((0,π,0)/Abs(Abs(1,,1,,1/0),Abs(11,0,11,,11,0,11,,11,0,11)/Abs(Abs(?,,?)),Abs(1,,1,,1/0))))/Abs(?,Abs(?),?,Abs(?),?,Abs(?),?)/? [*** The answer man has been looking at you! ***]
可以看出,构图主要使用了矩阵、行列式和分数线,并有大量的“?”符号。“?”是占位符,是一个我并没有加入到界面键盘中的常量,大小为一个数字大,不会显示出来。而方括号代表注释,可以出现在任何地方,方括号括住的内容不会被解析。
其实召唤Answer Man有个更简单直观的办法,直接输入单独的常量Ans,点击等号即可召唤:

当然,如果Ans常量参与到其他运算中,还是会代表上一次运算结果的。
结语
这次整理的Tips就是这些,如果《纸书》更新后有需要介绍的新Tips,我会尽快更新本文。
欢迎大家到应用商店评论反馈,如果喜欢本应用,更欢迎大家捐赠一顿饭钱支持开发者(捐赠入口在关于界面,或者用特殊命令“donate”、“money”也可以)。
最后,祝大家使用愉快!
整理一些《纸书科学计算器》的小Tips的更多相关文章
- Win10应用《纸书科学计算器》更新啦!
<纸书科学计算器>在2016年8月拿了计算机设计大赛国家一等奖,现在仍记得我在答辩时还给评委们普及了一波UWP平台的知识.受此鼓励,这款应用也不会停下更新的脚步^_^.最近从1.9小幅升级 ...
- 想找个计算器当本命?来试试UWP应用《纸书科学计算器》
久违了.上次在博客园发文还是4年前,正是高中参加NOIP的时候.这4年里发生了很多事,乃至再次看到过去的文章时,仿佛看到了自己也不熟悉的风景.最近很想把我的博客重新拾起来,慢慢灌溉,写一些微不足道的技 ...
- 数据结构之栈—强大的四则复杂运算计算器(超过windows自带的科学计算器)【中缀转后缀表达式】
比windows自带计算器还强的四则复杂运算计算器! 实测随机打出两组复杂算式:-7.5 * 6 / ( -2 + ( -6.5 - -5.22 ) )与7.5+-3*8/(7+2) windows ...
- JS编写的科学计算器
最近半个月编写了一个JS+CSS+HTML的网页计算器,从最初的具有简陋界面的简单计算器改版到最终具有科学/标准计算器转换功能并且界面非常友好的计算器,收获良多!总的来说,代码简单,通俗易读,下面贴上 ...
- HTML meta锚点跳转 小tips
小tips meta锚点跳转 http://www.zhangxinxu.com/wordpress/2015/03/meta-http-equiv-refresh-content/
- 科学计算器的Java实现
简易的科学计算器的实现 ---Java版 import javax.swing.*;//新的窗口组件包 import java.awt.*; import java.awt.event.*; publ ...
- Windows7驱动调试小Tips
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...
- 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips
1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...
- 小tips:JS之浅拷贝与深拷贝
浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...
随机推荐
- windows下查看dns缓存和刷新缓存
ipconfig /displaydns 显示已有缓存,可能比较大建议 ipconfig /displaydns > C:\Users\SDWQ\Desktop\1.txt 再查看. 强制更新缓 ...
- Leetcode: Palindrome Partition I II
题目一, 题目二 思路 1. 第一遍做时就参考别人的, 现在又忘记了 做的时候使用的是二维动态规划, 超时加超内存 2. 只当 string 左部分是回文的时候才有可能减少 cut 3. 一维动规. ...
- 第三篇:CUDA 标准编程模式
前言 本文将介绍 CUDA 编程的基本模式,所有 CUDA 程序都基于此模式编写,即使是调用库,库的底层也是这个模式实现的. 模式描述 1. 定义需要在 device 端执行的核函数.( 函数声明前加 ...
- jsp导出到Excel
jsp模板文件 <%@ page isELIgnored="false" contentType="application/x-msdownload; charse ...
- 【黑金原创教程】【Modelsim】【第二章】Modelsim就是电视机
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/al ...
- Objective-C代码学习大纲(4)
2011-05-11 14:06 佚名 otierney 字号:T | T 本文为台湾出版的<Objective-C学习大纲>的翻译文档,系统介绍了Objective-C代码,很多名词为台 ...
- LeetCode 笔记系列16.1 Minimum Window Substring [从O(N*M), O(NlogM)到O(N),人生就是一场不停的战斗]
题目: Given a string S and a string T, find the minimum window in S which will contain all the charact ...
- CentOS中制作本地yum源
1.光盘指向镜像 2.将镜像挂载到某个目录 mkdir /mnt/cdrom mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom 3.修改本机上的YUM源配置文件 ...
- WEB项目中使用UEditor(富文本编辑器)
Ueditor富文本编辑器是在很多项目里经常用到的框架,是百度开发团队开发的一款很好用的富文本编辑器 下面就是我在一个系统里用到的,有了富文本编辑器,管理员使用起来不是很方便? 所以本博客介绍这个富文 ...
- 剑指Offer——把二叉树打印成多行
题目描述: 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. 分析: 二叉树的层次遍历,利用队列. 代码: /* struct TreeNode { int val; struct T ...