矩阵

1、定义

与列表一样,矩阵也用于存储数据序列。有所不同的是,矩阵是二维的数组。

要查看矩阵,请打开计算·矩阵应用程序,然后打开按[F3]选项卡。在某些计算器上,可以从MAT应用程序直接访问矩阵。

?→Mat A[a,b

由于矩阵是二维数组,因此必须输入单元的两个坐标a(水平位置)和b(垂直位置),即行数与列数。

你最多可以使用26个矩阵,从A到Z(用字母表示,与用数字指定的列表不同)。

根据计算器的型号,矩阵的尺寸限制为255 * 255或999 * 999。但是你不能创建这么大的矩阵,因为计算器的内存有限(在24到144 KB之间)。我们谈论的是KB,而我们的计算机甚至手机,都在GB、TB的级别。但也不必为此担心,对于大多数程序来说这么大的内存已经足够了。

2、创建矩阵

以下是创建矩阵的两种方法:

1) [[1,2,3][4,5,6][7,8,9→Mat A

2) {2,4→Dim Mat A

1)要创建矩阵,请使用方括号[]。开头的两个方括号:第一个划定了矩阵的边界;第二个表示矩阵的行。因此矩阵的每一行都由方括号定界。下图显示了通过给定示例所获得的矩阵。显然,所有行的长度必须相同,否则会发生尺寸错误。

2)第二种技巧是使用Dim。大括号{}之间的两个数字是矩阵的尺寸。它的用法如下:{,}→Dim Mat。用Dim初始化的矩阵的所有元素的取值都为0(与列表一样)。

3、矩阵的处理

要查询矩阵中包含的值,其原理与列表相似,但是要告知两个坐标(矩阵是具有二维的表)。

Mat A[2,3 //返回矩阵A第二行第三列的值

要修改矩阵单元格中的值,有以下方法:

9→Mat A[2,3

S→List B[2+Y,3+X

Mat A[1,3→Mat B[1,3

5*Mat A[2,3→Mat B[2,3

要删除矩阵或所有矩阵,请使用功能ClrMat([SHIFT] + [VARS]→[F6]→[F1]→[F4])。ClrMat删除所有矩阵,只删除一个矩阵,我们用ClrMat+指定矩阵的字母。不幸的是,你不能专门从矩阵中删除某个单元格。

ClrMat //删除所有矩阵

ClrMat A //仅删除矩阵A

没有函数可以知道矩阵是否已初始化。我们可以用Dim知道矩阵的维数,但是必须对其进行初始化。否则,计算器将返回错误。

[[1,2,3] [4,5,6] [7,8,9→Mat A

Dim Mat A //结果返回到列表Ans中。这里列出Ans = {2,3}

4、列表与矩阵的相互转化

可以用多个列表创建矩阵。在这种情况下,相关列表必须全部具有相同的维度。我们使用功能List→Mat([OPTN] + [F1] + [F2](L→M))。假设:我们想将列表1、2和3转换为矩阵C。语法如下:List→Mat()。

List→Mat(1,2,3→Mat C

将矩阵转换为一个列表,我们只能得到矩阵中的一列。最大值是列表的最大数量(从6到26,具体取决于你的计算器型号)和剩余的内存。

Mat→List(A,1→List 2

5、合并矩阵

Augment()函数允许合并两个具有相同行数的矩阵。通过[OPTN]键,在矩阵选项卡中选择Augment()即可。

Augment(Mat A,Mat B→Mat C

记住此功能的一件事:它可能非常实用,但同时会占用大量内存。它必须首先为融合创建一个临时矩阵(Mat Ans)。如果临时矩阵非常大,你将会收到一条带有“ Memory Error”的消息。

6、矩阵的用处?

在游戏中,矩阵具有无限可能的应用,例如数据库,角色统计信息,纸牌信息,游戏世界等。通常,列表更多地用于临时计算,它们通常在程序的开头和结尾处被删除以优化内存。对于矩阵,程序员通常保留一个或多个充当备份。

井字游戏

1、使用Getkey

目前,我们只知道的一种方式与用户进行通信:''?''。但是,它既不实用也不美观,因为它会使文本向上移动。幸运的是,可以通过Getkey检测按下哪个键。要插入Getkey,如下操作[SHIFT] + [VARS](PRGM),然后[F6] + [F4](I / O)+ [F2](Getkey)。

Do

Getkey→G

LpWhile Not G

如果未按任何键,则Getkey返回0。下图给出了键值。

请注意,[AC / ON]没有值,因为它会中断程序。例如,如果我按[0],Getkey返回71,而[MENU],Getkey返回48。我强烈建议您将Getkey放在一个循环中,这样可以提高响应速度。我经常在程序中看到这种代码:

Do

Getkey→G

If G=71

Then…

IfEnd

If G=72

Then…

IfEnd

LpWhile G≠47

尽可能将您的Getkey与其余的代码隔离,虽然这样会增加一些字节,但程序的反应能力将大幅提高,以下是示例:

Do

Do

Getkey→G

LpWhile Not G

....... //(你的代码)

LpWhile G≠47

2、双箭头=>

在(PRGM)选项卡中,然后选择(转移)[F3],可以找到所谓的“双箭头”=>。它的作用类似于If,但只能执行一个操作。

以下两个代码具有相同的效果。

If A=1

Then 3→B

IfEnd

A=1=>3→B

3、布尔值

布尔值具有两种状态:“真”(不等于0)或“假”(等于0)。

当您执行“ If A = 2”时,计算器将检查A是否为2,如果是,则返回“ true”(1)。否则,它返回“ false”(0)。

但是,让我们进一步进行推理。运行此程序:

?→ A

A = 2

如果输入“ 2”,则计算器显示“ 1”,对于所有其他值,由于A≠2,计算器显示为“ 0”。现在,让我们以“双箭头”部分中看到的代码为例,然后再次对其进行优化。

//使用If-Then-IfEnd

If A=1

Then 3→B

IfEnd

//使用双箭头

A = 1 => 3→B

//使用布尔值

3 *(A = 1)→ B

这三个代码返回相同的结果,它们严格相同。后者使用布尔值确定作为A的函数的B的值。如果A = 1,则条件为true且等于1。因此3 *(1)= 3,B =3。反之,如果A ≠1(如果希望使用精确值进行推理,则取2),因此A不等于1,条件为false等于0,3 *(0)= 0,所以B =0。布尔值的使用提高了代码的运行速度,但往往使理解程序和查找错误变得困难。特别是对于新手,要学会慢慢掌握它们。

4、Isz和Dsz:递增和递减

最后一个小技巧:Isz和Dsz函数。lsz将变量增加1,Dsz将变量减少1。要找到这两个功能则先找到(PRGM)选项卡,然后再按[F3](转移)。

1→B

While B<100

Isz B

Locate 1,1,B

WhileEnd

请注意:Isz和Dsz具有隐藏功能。如果递增或递减后变量为0,则忽略下一行。请密切注意这种特殊性,这是经常犯的错误!

1→B

Dsz B

”HELLO”

”GOODBYE”

屏幕上不会出现“ HELLO”。现在你应该了解它们为什么在(转移)选项卡中,因为它们允许根据特定条件执行跳转。

现在你可以制作自己的井字棋游戏了!

游戏示例可在此网站下载:井字棋代码

php井字游戏代码_类Basic卡西欧编程入门(4 矩阵 井字游戏)相关推荐

  1. soul刷屏编程代码_奔涌吧,编程!少儿编程教育在未来会像语文,数学一样重要!...

    想必最近你的朋友圈一定被<奔涌吧,后浪>刷屏了,的确,时代在变好,我们能够更自由的学习,读书,很多孩子在年轻时就已经接触到许多的兴趣活动,他们早早的就在发展一项"事业" ...

  2. python简单游戏编程入门_[翻译]Python游戏编程入门

    自己学习翻译,原文链接. 此文为Tutorial Team成员 Julian Meyer, 一个13岁的Python开发者所写. 你可以去Google+或者Twitter找到他. 你有没有想过,一个计 ...

  3. python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...

    在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...

  4. python儿童入门书_一款儿童编程入门的理想工具——PythonTurtle

    今天偶然发现了一款Python入门的理想工具PythonTurtle.非常容易上手,强烈推荐一下.PythonTurtle的灵感来源于早期编程语言Logo,也是通过控制小海龟来完成Python语言的入 ...

  5. php井字游戏代码_井字游戏 - 做一款回忆童年的游戏

    99% of information we read, we forget anyway. The best way to remember is to "DO". 游戏完整的代码 ...

  6. labview高级编程与虚拟仪器工程应用 代码_用labview自己编程控制专用的声发射仪器...

    有些同学有时会问,能不能用labview编程直接控制专用的声发射设备进行数据采集,然后按自己的分析算法编写程序? 现在可以实现了--^_^ 专用的声发射采集卡和通用的数据采集卡有什么区别?1.硬件实时 ...

  7. 单片机c语言必背代码_最适合单片机编程的高级语言,除了C语言,别无选择!...

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言. 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python,VC等等,为什么这些语言不能用来编写单片机程序呢 ...

  8. c++编写手机小游戏代码_手机也能编程?盘点这6个可以用手机编程的App!快收藏!...

    传智播客博学谷 加小谷vx:boxueguu 免费领IT各学科资料.课程 Get更多干货直播课 前两天整理了一些边玩游戏边学编程的网站,今天再给大家推荐几个手机上编码的app!学编程,最方便的肯定是电 ...

  9. 刚学java.一天应该写多少代码_对于刚学编程不久的人,每天码代码是怎么码?...

    新手是一边学习新知识一边把自己学的东西码出来. 比如你刚看完C语言关于指针这一块,你是不是得敲一点实例来练习一下? 数个小时的时间肯定不是一直在哪儿敲个不停,你看新东西,思考一些相关问题,这些都算. ...

最新文章

  1. 贾珈:自然语言处理中9个不可不知的研究热点(附视频)
  2. 向量空间和计算机科学与技术,向量空间
  3. [YTU ]_2736指针练习--输出最大值
  4. 【MPI高性能计算】蒙特卡洛方法计算pi值
  5. android中的标题栏是什么意思,Android通用标题栏组合控件
  6. 编码练习——Java-1-基础
  7. JS正则表达式详解(转)
  8. Unity 5 中的全局光照技术详解
  9. appsetting 和connectionString 的区别。
  10. DHCP服务器 出现的故障
  11. 【NOI2013】树的计数【树的遍历】【期望】
  12. java基础 UDP通信 user datagram protocol 用户数据豆协议 TCP transmission control protocol 传输控制协议 多线程TCP...
  13. android word缺少字体下载,OfficeSuite字体包
  14. SODB、RBSP和EBSP
  15. 20款优秀的基于浏览器的在线代码编辑器
  16. roslyn生成html,通过Roslyn将字符串生成可以执行的C#代码
  17. 【python+selenium】保留浏览器的自定义设置,不恢复浏览器默认设置
  18. 详解示波器的三个主要参数:采样率,存储深度,带宽
  19. 【Ubuntu】普通用户修改了/etc/sudoers文件权限导致的问题
  20. 科普:QLED和OLED到底有何区别?

热门文章

  1. java毫秒日期_java 日期格式 毫秒
  2. springboot游戏推荐平台 j计算机专业毕业设计源码17128
  3. 3【Android 12】【WCT的应用】WindowOrganizerController
  4. CMake - 环境变量
  5. 收藏【火狐浏览器、谷歌浏览器】历史版本下载网站
  6. 什么是mallox勒索病毒及其数据恢复
  7. 文本编辑器的简单实现(附源代码)
  8. 《当幸福来敲门》之精采对白
  9. 主数据库宕机怎么办?MHA高可用帮你实现主从服务器自动切换(详细操作与命令详解)
  10. 2021年全球与中国高密度聚乙烯行业市场规模现状及企业市场份额分析