1总体功能
提供“看图学编程”在线学习平台,为各种编程知识提供可视化展示。
2 UI及前端操作
首页,显示栏目列表。每个栏目下拉后,列出具体的程序列表。点击每一个程序,进入相应的界面。
只完成上图显示的几个程序功能,其它部分空在那里,可方便扩展。
1、栈
push,表示将3,2依次加入堆栈,完成后在result后显示“success”即可。点击文本框,可任意修改数字序列,以逗号分开;
pop,每次从堆栈中弹出一个元素,完成后再result显示pop出来的值;
clear,将堆栈清空,完成后在result后显示“success”即可;
过程演示有两种方案,一是点击“下一步”,单步完成,另外是点击“自动完成”。自动完成可以选择速度,默认速度是1秒钟一步。X4表示速度最快,0.25秒一步。在下一步过程中,随时可以选择自动完成运行到最后。
每一步的显示变化由脚本命令控制,选择功能后需要从server端获取当前演示的命令序列,每一步执行一个命令。程序界面图形区包括多个区域,每个区域一个图形控件。最后结果的每个区域不用虚框,可以考虑用不同的底色来区分。
2、队列
enqueue,表示将3,2依次加入队列,完成后在result后显示“success”即可。点击文本框,可任意修改数字序列,以逗号分开;
dequeue,每次从队列中取出一个元素,完成后再result显示取出来的值;
clear,将队列清空,完成后在result后显示“success”即可;
3、二叉树
insert,表示将2,5,3,4,1依次加入二叉树,完成后在result后显示“success”即可。点击文本框,可任意修改数字序列,以逗号分开;
delete,从二叉树中将某个元素移除,result显示结果success或failed;
search,搜索某个元素,如果找到,将节点变为闪烁,result处显示“found”,否则显示“not found”;
4、Hash表
rebuild,文本框中指定行数
insert,文本框中指定一个数字;
delete,将某个元素移除置为空,result显示结果success或failed;
search,搜索某个元素,如果找到,将节点变为闪烁,result处显示“found”,否则显示“not found”;
5、图深度搜索
rebuild,根据文本框指定的节点个数随机构建一张图;
search,从某个节点开始深度遍历整张图,完成后在result处显示如下形式文本;
6、阶乘递归
calculate,按照入参计算阶乘,中间运行过程通过code组件的显示来控制。最后的结果显示在result文本框中;
3 设计要求
本系统重点为各种程序的图形化显示,所以需要前端有一个图形脚本库,并且可以通过后端不同的程序生成页面动画脚本。
基本运行模式如下,每个程序界面上,用户选择一个相应的操作后,前端将命令发送给后端,后端通过每个程序对应的脚本生成函数,来生成当前操作的脚本命令。