首先需要明确的是,控制流图并不等于流程图,可以理解为控制流图的出现是为了后续的环形复杂度的计算和写出独立路径和配以相应的测试用例。
所以控制流图是核心,画图的时候务必谨慎再谨慎,要不然可能你后面的全部崩盘。
控制流图考察的主要是你对于一个程序的逻辑解读,这是大一时候的基本功,那句话怎么说的来着,你可以不会自己写,但你要看的懂别人写的,要不然你连白嫖的段位都达不到。
这里主要说两个在初学时容易忽视的逻辑关系。也就是并&&和或||的短路。
1.**A||B ||在为真时短路,即如若A为真,则不对B进行判断,直接执行下方的对应语句。**这里举例说明:
2.** A&&B &&在为假时短路,即如若A为假,则不对B的真假进行判断,默认下方语句得不到执行。** 同样附图进行说明,与上同理,这里不再在图中进行标注。
剩下的就没什么了,主要靠的就是细心啦,记住,慢慢来,才更快。
2.环形复杂度的求解方式(这里直接附图做简单说明):
计算样例如下
方法有三种,掌握两种就行,一种用来算,一种用来验证答案是否正确。
3.至于独立路径,用课本的定义来说,就是每个不同的测试路径至少要走过之前的路径没走过的一条边。
在我看来,本质上就是根据看图写出可以走的路径,这里有个技巧就是先写短路径,再补长路径。路径总条数应该与环形复杂度相同。
原疫情早日过去,不用再上网课,孩子真的听不进去呀。每次都得课下自学补回来,真是难受。