⾏最简形矩阵计算器_类Basic卡西欧编程⼊门(4矩阵井字游
戏)
矩阵
1、定义
⼆维的数组。
矩阵也⽤于存储数据序列。有所不同的是,矩阵是⼆维的数组
计算机编程入门网站列表⼀样,矩阵
与列表
MAT应⽤程序直接访问矩阵。
[F3]选项卡。在某些计算器上,可以从MAT
要查看矩阵,请打开计算·矩阵
计算·矩阵应⽤程序,然后打开按[F3]
→Mat A[a,b
矩阵是⼆维数组,因此必须输⼊单元的两个坐标a(⽔平位置)和b(垂直位置),即⾏数与列数。
由于矩阵
从A到Z(⽤字母表⽰,与⽤数字指定的列表不同)。
你最多可以使⽤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)要创建矩阵,请使⽤⽅括号[]
界。下图显⽰了通过给定⽰例所获得的矩阵。显然,所有⾏的长度必须相同,否则会发⽣尺⼨错误。
Dim Mat 。⽤Dim
Dim初始化的矩Dim。⼤括号{}
⼤括号{}之间的两个数字是矩阵的尺⼨。它的⽤法如下:{<⾏数>,<;列数>}→Dim Mat
2)第⼆种技巧是使⽤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])。ClrMa
要删除矩阵或所有矩阵,请使⽤功能ClrMat
ClrMat([SHIFT] + [VARS]→[F6]→[F1]→[F4]
ClrMat+指定矩阵的字母。不幸的是,你不能专门从矩阵中删除某个单元格。
我们⽤ClrMat+
ClrMat      //删除所有矩阵
ClrMat A    //仅删除矩阵A
Dim知道矩阵的维数,但是必须对其进⾏初始化。否则,计算器将返回错误。
没有函数可以知道矩阵是否已初始化。我们可以⽤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]
List→Mat([OPTN] + [F1] + [F2]
List→Mat(<;要转换的列表,⽤逗号分隔>)。
(L→M)
(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()
Augment()即可。
[OPTN]键,在矩阵
Augment()函数允许合并两个具有相同⾏数的矩阵
Augment()
相同⾏数的矩阵。通过[OPTN]
Augment(Mat A,Mat B→Mat C
记住此功能的⼀件事:它可能⾮常实⽤,但同时会占⽤⼤量内存。它必须⾸先为融合创建⼀个临时矩阵(Mat Ans)。如果临时矩阵⾮常⼤,你将会收到⼀条带有“ Memory Error”的消息。
6、矩阵的⽤处?
在游戏中,矩阵具有⽆限可能的应⽤,例如数据库,⾓⾊统计信息,纸牌信息,游戏世界等。通常,列表更多地⽤于临时计算,它们通常在程序的开头和结尾处被删除以优化内存。对于矩阵,程序员通常保留⼀个或多个充当备份。
井字游戏
1、使⽤Getkey
?''。但是,它既不实⽤也不美观,因为它会使⽂本向上移动。幸运的是,可以通
⽬前,我们只知道的⼀种⽅式与⽤户进⾏通信:''?''
[SHIFT] + [VARS](PRGM),然后[F6] + [F4](I / O)+ [F2]
[F6] + [F4](I / O)+ [F2]
Getkey,如下操作[SHIFT] + [VARS](PRGM
过Getkey
Getkey检测按下哪个键。要插⼊Getkey
(Getkey)。
(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与其余的代码隔离,
尽可能将您的Getkey
Do
Do
Getkey→G
LpWhile不是G
.......  //(你的代码)
LpWhile G≠47
2、双箭头=>
(转移)[F3],可以到所谓的“双箭头
=>。它的作⽤类似于If,但只能执⾏⼀个操作。
双箭头”=>
(PRGM)选项卡中,然后选择(转移)[F3]
在(PRGM)
以下两个代码具有相同的效果。
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:递增和递减
[F3]
(PRGM)选项卡,然后再按[F3]
最后⼀个⼩技巧:Isz和Dsz函数。lsz将变量增加1,Dsz将变量减少1。要到这两个功能则先到(PRGM)
(转移)。
(转移
1→B
While B<100
Isz B
Locate 1,1,B
WhileEnd
请注意:Isz和Dsz具有隐藏功能
具有隐藏功能。如果递增或递减后变量为0,则忽略下⼀⾏。请密切注意这种特殊性,这是经常犯的错误!
1→B
Dsz B
”HELLO”
”GOODBYE”
(转移)选项卡中,因为它们允许根据特定条件执⾏跳转。
屏幕上不会出现“ HELLO”。现在你应该了解它们为什么在(转移)
现在你可以制作⾃⼰的井字棋游戏了!
游戏⽰例可在此⽹站下载:井字棋代码

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。