欢迎光临散文网 会员登陆 & 注册

S0A3 用表格区将10进位转换为d进位

2020-08-28 13:17 作者:学用数学  | 我要投稿

A: 世界上有 「10」种人,一种是懂二进制,另一种是不懂二进制。

B: 不就两种, 哪来的 10 种人?

A:你是不懂二进制的那种。

进位转换是编程中很重要的概念,也是程式初期常练习的问题。这个进位转换其实通过迭代就可达成这效果。要实践这个迭代的过程可以利用 Geogebra 的表格区来实现。同时还可设定一个滑动条来切换不同进位的结果。

在这一讲我们将分两部分来介绍。第一部分,就是利用表格区,来实践这个迭代转换。第二部分,就是将表格区转换的结果显示在绘图区。



任务1: 利用表格区做进位转换(挑战★)

【说明】这阶段的任务是实践d进位的转换用表格区来呈现,其转换的步骤如下图所示。

以n=53转换为二进制(d=2)为例,如左边第一列所示,个位是53除以2的余数,再把53除以2的商也就是26除以2得到的余数0即对应的十位,依次类推,可得到53转换为二进制的每位数值(由低位到高位),再倒序排列得到转换的结果:1101011,转换的结果可以通过表格区的B、C、D三列来解读。

【操作】

#利用[滑动条]设置一个数为n:最小值为1,最大值为2000,增量为1,长度可设置为150

n=slider(1,2000,1,1,150) 

# 滑动条(最小值,最大值,增量,速度,宽度)     # slider  :滑动条

#利用[滑动条]设置进制为d:最小值为2,最大值为10,增量为1,长度可设置为150

d=slider(2,10,1,1,150) 

# 滑动条(最小值,最大值,增量,速度,宽度)     # slider :滑动条

#根据二进制先做除法后取余数的原则,令n=123,123/2取整为61,余数为1

A1=floor(n/d)      

B1=mod(n,d)        # mod:余式    #  mod(n,d) :mod(被除数,除数)

#在A2、B2输入如下,再利用表格复制,就可得到对应的进位转换

A2=floor(A1/d)   

B2=mod(A1,d)


#为了更好的体现数与进位之间的关系,在C2列对应输入公式,再利用表格复制

C1=1

C2=C1*d

#为了验算,以123为例,123=1*64+1*32+1*16+1*8+0*4+1*2+1*1

# 首先在D1列输入公式:

D1=B1*D1

#接着在D列创建列表命名为:Ds 最后求和:

AnsD=sum(Ds)    # sum :总和 (列表)


tips:可以先输入Ds,再输入sum,避免出现求和符号,当然也可以输入中文:总和


任务2:利用动态文本显示进位(挑战★)

【说明】为了在绘图区更直观的显示进位,分别利用[滑动条]、[输入框]、[文本]工具,其中的文本 :110101是将B列的结果以10进位来显示

【操作】

2.1 为了让n可以直接输入,需要利用[输入框]工具 ,同时关联到n,细节操作如下:

2.2   在绘图区显示[滑动条]d      

2.3  为了将d进位的结果以AnsF来记录,操作如下

E1=1

E2=E1*10  

#再利用表格把E2复制到E10

F1=B1*E1   

#复制,创建列表,再加总,同D列的操作一样,列表命名为:Fs

AnsF=sum(Fs)      # sum :总和 (列表)

2.4   利用动态文本显示:d进位:AnsF   


思考:如果是10进制转为16进制又该如何转换呢?

对于10以上的进位请大家继续关注后期的进阶课程


参考资料:

Geogebra 档案:https://www.geogebra.org/classic/qqyj2tds

bili 教学视频: https://www.bilibili.com/video/BV1rk4y127E5

youtube 教学视频:https://www.youtube.com/playlist?list=PLXH05kw-i_5IjxJRIAwu-CiMzmls26eZV


限时挑战:

欢迎加微信 Acchu0331 入群打卡学习,每次任务有 20 元奖励红包。此次任务小打卡中获得最多赞可得 8元人气奖,另抽一位打卡者获得手气奖 8元 。另外,还有 4 个 总额 4元的随机红包为关注奖。  本次任务的打卡期限为 2020/8/29(周六) 23:59。请参考视频,交一份作业在小打卡内,附上作品截图或动图,并写下 32 字以上的心得,如以下格式。


主题:用表格区将10进位转换为d进位

姓名:杨华  (2020 /8/27 17:00)

链接:https://www.geogebra.org/classic/xvm2tkc8

心得:利用表格将10进制转换为d进位,通过取整、余式、创建列表、总和等指令可以快速实现转换,同时利用滑动条、输入框、文本来达到动态显示进位的效果

截图:


S0A3 用表格区将10进位转换为d进位的评论 (共 条)

分享到微博请遵守国家法律