分类计数原理与分步计数原理PPT优秀课件5
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
18+45+28+38+43=172。 再测试各个模块之间的信
子模块4 38条执行路径
子模块5 43条执行路径
息交流是否正常,需要测 试的次数为:3*2=6。 如果每个子模块都正常工 作,并且各个子模块之间 的信息交流也正常,那么 整个程序模块就正常。
结束
这样,测试整个模块的次数就变为 172+6=178(次)
分析:用100个位置表示由100个碱基组成的长链,每个位置都可以从A、
C、G、U中任选一个来占据。
第1位 第2位 第3位
第100位
……
4种
4种
4种
4种
解:100个碱基组成的长链共有100个位置,在每个位置中,从A、C、G、U
中任选一个来填入,每个位置有4种填充方法。根据分步计数原理,共有
4 4 4 4=4100种不同的RNA分子.
区别2
每类办法都能独立地完成 每一步得到的只是中间结果,
这件事情,它是独立的、 任何一步都不能独立完成这件
一次的、且每次得到的是 事,缺少任何一步也不能完成
最后结果,只须一种方法 这件事,只有各个步骤都完成
就可完成这件事。
了,才能完成这件事。
区别3 各类办法是互相独立的。 各步之间是互相关联的。
即:类类独立,步步关联。
如00000000,10000000, 11111111.
第1位
第2位
第3位
第8位
……
2种
2种
2种
2种
例5.计算机编程人员在编
开始
写好程序以后要对程序进
行测试。程序员需要知道
到底有多少条执行路(即 子模块1 程序从开始到结束的线),18条执行路径 以便知道需要提供多少个
子模块2 45条执行路径
子模块3 28条执行路径
完成:第1步是从开
始执行到A点;第2步 是从A点执行到结束。
子模块1 18条执行路径
子模块2 45条执行路径
子模块3 28条执行路径
而第步可由子模块1
A
或子模块2或子模块3
来完成;第二步可由
子模块4或子模块5来 完成。因此,分析一
子模块4 38条执行路径
子模块5 43条执行路径
条指令在整个模块的
执行路径需要用到两
个计数原理。
结束
2)在实际测试中,程序 员总是把每一个子模块看 成一个黑箱,即通过只考 察是否执行了正确的子模 块的方式来测试整个模块。18条子执模行块路1 径 这样,他可以先分别单独 测试5个模块,以考察每 个子模块的工作是否正常。 总共需要的测试次数为:
开始
子模块2 45条执行路径
A
子模块3 28条执行路径
(2)每个项目只有一个冠军,每一名学生都可能获得 其中的一项获军,因此每个项目获冠军的可能性有5种
故有n=5×5×5×5= 5 4 种 .
例2.给程序模块命名,需要用3个字符,其中首个字 符要求用字母A~G或U~Z,后两个要求用数字1~9, 问最多可以给多少个程序命名?
分析:要给一个程序模块命名,可以分三个步骤:第一步, 选首字符;第二步,先中间字符;第三步,选末位字符。
1.1.2分类计数原理
与 分步计数原理(二)
1、分类加法计数原理:完成一件事,有n类办法,在 第1类办法中有m1种不同的方法,在第2类办法中有m2 种不同的方法……在第n类办法中有mn种不同的方法. 那么 完成这件事共有 N m 1 m 2 m n 种不同的方 法.
2、分步乘法计数原理:完成一件事,需要分成n个步 骤,做第1步有m1种不同的方法,做第2步有m2种不同的 方法……,做第n步有mn种不同的方法.那么完成这件
事共有 N m 1 m 2 m n 种不同的方法.
分类加法计数原理和分步乘法计数原理的 共同点:回答的都是有关做一件事的不同方法种数的问题 不同点:分类加法计数原理与分类有关,
分步乘法计数原理与分步有关。
分类计数原理
分步计数原理
区别1
完成一件事,共有n类 办法,关键词“分类”
完成一件事,共分n个 步骤,关键词“分步”
例1. 五名学生报名参加四项ห้องสมุดไป่ตู้育比赛,每人 限报一项,报名方法的种数为多少?又他们争 夺这四项比赛的冠军,获得冠军的可能性有多 少种?
解:(1)5名学生中任一名均可报其中的任一项,因此每 个学生都有4种报名方法,5名学生都报了项目才能算完成
这一事件故报名方法种数为4×4×4×4×4= 4 5 种 .
测试数据。一般的,一个
A
程序模块又许多子模块组
成,它的一个具有许多执
行路径的程序模块。问: 这个程序模块有多少条执
子模块4 38条执行路径
子模块5 43条执行路径
行路径?另外为了减少测
试时间,程序员需要设法
减少测试次数,你能帮助
程序员设计一个测试方式,
结束
以减少测试次数吗?
分析:整个模块的任
开始
意一条路径都分两步
解:首字符共有7+6=13种不同的选法, 中间字符和末位字符各有9种不同的选法
根据分步计数原理,最多可以有13×9×9=1053种不同的选法
答:最多可以给1053个程序命名。
例3.核糖核酸(RNA)分子是在生物细胞中发现的化学成分,一个RNA分子 是一个有着数百个甚至数千个位置的长链,长链中每一个位置上都由一种称 为碱基的化学成分所占据,总共有4个不同的碱基,分别用A,C,G,U表 示,在一个RNA分子中,各种碱基能够以任意次序出现,所以在任意一个位 置上的碱基与其他位置上的碱基无关。假设有一类RNA分子由100个碱基组 成,那么能有多少种不同的RNA分子?
10个 04
例4.电子元件很容易实现电路的通与断、电位的高与底等两种 状态,而这也是最容易控制的两种状态。因此计算机内部就采 用了每一位只有0或1两种数字的计数法,即二进制,为了使计 算机能够识别字符,需要对字符进行编码,每个字符可以用一 个或多个字节来表示,其中字节是计算机中数据存储的最小计 量单位,每个字节由8个二进制位构成,问 (1)一个字节(8位)最多可以表示多少个不同的字符? (2)计算机汉字国标码(GB码)包含了6763个汉字,一个 汉字为一个字符,要对这些汉字进行编码,每个汉字至少要用 多少个字节表示?
例6.随着人们生活水平的提高,某城市家庭汽车拥有量迅速增 长,汽车牌照号码需要扩容。交通管理部门出台了一种汽车牌 照组成办法,每一个汽车牌照都必须有3个不重复的英文字母 和3个不重复的阿拉伯数字,并且3个字母必须合成一组出现, 3个数字也必须合成一组出现,那么这种办法共能给多少辆汽 车上牌照?