基于Excel和VBA的程序单步演示装置及方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202011321162.7
(22)申请日 2020.11.23
(71)申请人 山东师范大学
地址 250014 山东省济南市历下区文化东
路88号
(72)发明人 郑自然 
(74)专利代理机构 济南圣达知识产权代理有限
公司 37221
代理人 祖之强
(51)Int.Cl.
G06F  3/0481(2013.01)
G06F  9/448(2018.01)
G06F  40/18(2020.01)
G09B  19/00(2006.01)
G09B  5/02(2006.01)
(54)发明名称
基于Excel和VBA的程序单步演示装置及方
(57)摘要
本公开提供了一种基于Excel和VBA的程序
单步演示装置及方法,获取待演示的伪代码以及
真实代码;需要演示的伪代码被输入到Excel表
格中,真实代码被输入到Excel内嵌的VBA中;
Excel表格中需要单步演示的单元格被单独命
名,VBA的实际代码中需要暂停的位置设有暂停
函数,命名结果被对应的暂停函数调用;VBA代码
中的关键变量被Excel表格中的至少一个单元格
替换,Excel中的单元格中实时显示关键变量的
数据变化,根据与暂停函数对应的单元格按钮进
行程序中断演示或继续运行控制;能够实现程序
的单步执行并能够显示下一步所要执行的代码
位置。权利要求书2页  说明书8页  附图3页CN 112416197 A 2021.02.26
C N  112416197
A
1.一种基于Excel和VBA的程序单步演示装置,其特征在于,包括处理器以及与处理器连接的显示模块,处理器搭载有Excel软件,处理器用于执行如下程序演示方法:获取待演示的伪代码以及真实代码;
需要演示的伪代码被输入到Excel表格中,真实代码被输入到Excel内嵌的VBA中;
Excel表格中需要单步演示的单元格被单独命名,VBA的实际代码中需要暂停的位置设有暂停函数,命名结果被对应的暂停函数调用;
VBA代码中的关键变量被Excel表格中的至少一个单元格替换,Excel中的单元格中实时显示关键变量的数据变化,根据与暂停函数对应的单元格按钮进行程序中断演示或继续运行控制。
2.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,待演示的伪代码中的数组和临时变量均使用VBA的数组和变量来实现。
3.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,所述暂停函数包括有布尔变量,当布尔变量为真时,函数从暂停处一直执行到整个算法结束,否则执行暂停。
4.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,在要暂停的代码的前面插入暂停函数。
5.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,如果对外层循环的循环语句进行暂停,在循环的前面和循环内部的最后一行添加暂停函数,并将循环所在的单元格名称传入暂停。
6.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,伪代码的第一行代码全部写在某一单元格中。
7.如权利要求1所述的基于Excel和VBA的程序单步演示装置,其特征在于,暂停函数执行时,与暂停函数对应的被单独命名的伪代码被框选。
8.如权利要求7所述的基于Excel和VBA的程序单步演示装置,其特征在于,被框选的伪代码为下一步要执行的代码。
9.一种基于Excel和VBA的程序单步演示方法,其特征在于,包括以下步骤:
获取待演示的伪代码以及真实代码;
需要演示的伪代码被输入到Excel表格中,真实代码被输入到Excel内嵌的VBA中;
Excel表格中需要单步演示的单元格被单独命名,VBA的实际代码中需要暂停的位置设有暂停函数,命名结果被对应的暂停函数调用;
VBA代码中的关键变量被Excel表格中的至少一个单元格替换,Excel中的单元格中实时显示关键变量的数据变化,根据与暂停函数对应的单元格按钮进行程序中断演示或继续运行控制。
10.如权利要求9所述的基于Excel和VBA的程序单步演示方法,其特征在于,待演示的算法或伪代码中的数组和临时变量均使用VBA的数组和变量来实现;
或者,
所述暂停函数包括有布尔变量,当布尔变量为真时,函数从暂停处一直执行到整个算法结束,否则执行暂停;
或者,
在要暂停的代码的前面插入暂停函数;
或者,
如果对外层循环的循环语句进行暂停,在循环的前面和循环内部的最后一行添加暂停函数,并将循环所在的单元格名称传入暂停;
或者,
伪代码的第一行代码全部写在某一单元格中;
或者,
暂停函数执行时,与暂停函数对应的被单独命名的伪代码被框选,被框选的伪代码为下一步要执行的代码。
基于Excel和VBA的程序单步演示装置及方法
技术领域
[0001]本公开涉及计算机技术领域,特别涉及一种基于Excel和VBA的程序单步演示装置及方法。
背景技术
[0002]本部分的陈述仅仅是提供了与本公开相关的背景技术,并不必然构成现有技术。[0003]算法的单步演示是学习和理解算法最为有效的方式之一。尤其是对于初学者和一些较为复杂的算法,使用单步演示可以帮助学习者观察算法的结构和内存中变量的变化从而更为容易和深刻的理解算法。
[0004]本公开发明人发现,尽管对于一般的集成开发系统(Integrated Development Environment,IDE)都具备Debug,即单步运行程序的功能,但IDE的Debug的使用一般较为复杂。尽管具备一定的可配置性,但学习曲线较高不易掌握。有时对于内存中的变量无法较为直观性的呈现。例如对于二维数组不能通过矩阵的方式呈现。另外,IDE的Debug程序只能运行实际的代码文件,无法呈现比如伪代码的形式。同时,IDE是基于某种编程语言的,对于不同语言需要使用相应的IDE程序。独立的不依赖IDE的代码演示系统实现较为复杂,基于其他方式的系统尽管存在,但是在实现方面都较为繁琐,无法快速和方便的建立代码演示系统。
发明内容
[0005]为了解决现有技术的不足,本公开提供了基于Excel和VBA的程序单步演示装置及方法,通过在VBA的实际代码中添暂停函数并与对Excel单元格中的展示代码进行连接,能够实现程序的单步执行并能够显示下一步所要执行的代码位置,且本公开基于Excel软件及本身内嵌宏编程语言VBA实现,对于一般条件的使用者该软件系统较容易获得,不需要使用其他IDE等辅助性软件。
[0006]为了实现上述目的,本公开采用如下技术方案:
[0007]本公开第一方面提供了一种基于Excel和VBA的程序单步演示装置。
[0008]一种基于Excel和VBA的程序单步演示装置,包括处理器以及与处理器连接的显示模块,处理器搭载有Excel软件,处理器用于执行如下程序演示方法:
[0009]获取待演示的伪代码以及真实代码;
[0010]需要演示的伪代码被输入到Excel表格中,真实代码被输入到Excel内嵌的VBA中;[0011]Excel表格中需要单步演示的单元格被单独命名,VBA的实际代码中需要暂停的位置设有暂停函数,命名结果被对应的暂停函数调用;
[0012]VBA代码中的关键变量被Excel表格中的至少一个单元格替换,Excel中的单元格中实时显示关键变量的数据变化,根据与暂停函数对应的单元格按钮进行程序中断演示或继续运行控制。
[0013]本公开第二方面提供了一种基于Excel和VBA的程序单步演示方法。
[0014]一种基于Excel和VBA的程序单步演示方法,包括以下步骤:
[0015]获取待演示的伪代码以及真实代码;
[0016]需要演示的伪代码被输入到Excel表格中,真实代码被输入到Excel内嵌的VBA中;[0017]Excel表格中需要单步演示的单元格被单独命名,VBA的实际代码中需要暂停的位置设有暂停函数,命名结果被对应的暂停函数调用;
[0018]VBA代码中的关键变量被Excel表格中的至少一个单元格替换,Excel中的单元格中实时显示关键变量的数据变化,根据与暂停函数对应的单元格按钮进行程序中断演示或继续运行控制。
[0019]与现有技术相比,本公开的有益效果是:
[0020]1、本公开所述的装置及方法,通过在VBA的实际代码中添暂停函数并与对Excel单元格中的展示代码进行连接,能够实现程序的单步执行并能够显示下一步所要执行的代码位置,实现了代码运行过程的自动化单步显示,极大的方便了算法教学和算法演示。[0021]2、本公开所述的装置及方法,基于Excel软件及本身内嵌宏编程语言VBA实现,对于一般条件的使用者该软件系统较容易获得,不需要使用其他IDE等辅助性软件,成本较低,利于推广。
[0022]3、本公开所述的装置及方法,使用Excel表格对与算法学习和讲解的关键性变量进行展示,在算法执行的过程中可以直接观察变量的状态,从而更为方便的对算法进行学习和讲解。
[0023]4、本公开所述的装置及方法,单步执行功能可以任意的定制粒度,即对于需要讲解的代码位置进行单步控制,对于不需要讲解的代码位置可以略过。
[0024]5、本公开所述的装置及方法,单步暂停的实现机制代码简单、容易理解,可以根据需要进行扩展,用于其他能够使用单步展示的场景。
[0025]本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
[0026]构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
[0027]图1为本公开实施例1提供的基于Excel和VBA的程序单步演示装置的结构示意图。[0028]图2为本公开实施例1提供的演示代码区域示意图。
[0029]图3为本公开实施例1提供的对覆盖代码的单元格命名示意图。
[0030]图4为本公开实施例1提供的for循环暂停时代码展示区域示意图。
[0031]图5为本公开实施例1提供的运行截图。
[0032]图6为本公开实施例1提供的元素交换步骤暂停时截图。
[0033]图7为本公开实施例2提供的基于Excel和VBA的程序单步演示方法的流程图。
具体实施方式
[0034]下面结合附图与实施例对本公开作进一步说明。
[0035]应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另

本文发布于:2024-09-22 06:58:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/411057.html

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

标签:代码   演示   程序
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议