1、荷兰馆,1.2分类加法计数原理与分步乘法计数原理 (二),1、分类加法计数原理:完成一件事,有n类办法,在第1类办法中有m1种不同的方法,在第2类办法中有m2种不同的方法在第n类办法中有mn种不同的方法.那么 完成这件事共有N= m1+m2+ + mn种不同的方法.,2、分步乘法计数原理:完成一件事,需要分成n个步骤,做第1步有m1种不同的方法,做第2步有m2种不同的方法,做第n步有mn种不同的方法.那么完成这件事共有N= m1m2 mn种不同的方法.,复习回顾,完成一件事,共有n类办法,关键词“分类”,区别1,完成一件事,共分n个步骤,关键词“分步”,区别2,区别3,每类办法都能独立地完成这
2、件事情,,任何一步都不能独立完成这件事,只有各个步骤都完成了,才能完成这件事。,各类办法是互相独立的。,各步之间是互相关联的。,分类法:相互独立,直达目的; 分步法:相互依存,分步到达。,联系,回答的都是有关做一件事的不同方法种数的问题,1.在下面三个图中,使电路接通的不同方法各有多少种?,基础练习:,所以, 根据分类原理, 从A到B共有N = 3 + 6= 9 条不同的线路可通电。,解: 从总体上看电路接通可分二类,第一类, m1 = 3 条,第二类, m2 = 23=6 条,小结计数原理 1.分类类类相加(把做一件事的方法分类) 2.分布步步相乘(把做一件事分几步来进行) 这是我们考虑计数
3、问题的两种思想方法。 具体运用时,要弄清是分类,还是分步。既有分类又有分步的问题,先分类后分步。,例1. 五名学生报名参加四项体育比赛,每人限报一项,报名方法的种数为多少?又他们争夺这四项比赛的冠军,获得冠军的可能性有多少种?,解:(1)5名学生中任一名均可报其中的任一项,因此每个学生都有4种报名方法,5名学生都报了项目才能算完成这一事件故报名方法种数为44444= 种 .,(2)每个项目只有一个冠军,每一名学生都可能获得其中的一项获军,因此每个项目获冠军的可能性有5种故有n=5= 种 .,分析:要给一个程序模块命名,可以分三个步骤:第一步,选首字符;第二步,先中间字符;第三步,选末位字符。,
4、解:首字符共有7+613种不同的选法,,答:最多可以给1053个程序命名。,中间字符和末位字符各有9种不同的选法,根据分步计数原理,最多可以有 13991053种不同的选法,例3.核糖核酸(RNA)分子是在生物细胞中发现的化学成分,一个RNA分子 是一个有着数百个甚至数千个位置的长链,长链中每一个位置上都由一种称 为碱基的化学成分所占据,总共有个不同的碱基,分别用A,C,G,U表 示,在一个RNA分子中,各种碱基能够以任意次序出现,所以在任意一个位 置上的碱基与其他位置上的碱基无关。假设有一类RNA分子由100个碱基组 成,那么能有多少种不同的RNA分子?,分析:用100个位置表示由100个碱
5、基组成的长链,每个位置都可以从A、C、G、U中任选一个来占据。,解:100个碱基组成的长链共有100个位置,在每个位置中,从A、C、G、U中任选一个来填入,每个位置有4种填充方法。根据分步计数原理,共有,种不同的RNA分子.,例4.电子元件很容易实现电路的通与断、电位的高与底等两种状态,而这也是最容易控制的两种状态。因此计算机内部就采用了每一位只有0或1两种数字的计数法,即二进制,为了使计算机能够识别字符,需要对字符进行编码,每个字符可以用一个或多个字节来表示,其中字节是计算机中数据存储的最小计量单位,每个字节由个二进制位构成,问 (1)一个字节(8位)最多可以表示多少个不同的字符? (2)计
6、算机汉字国标码(GB码)包含了6763个汉字,一个汉字为一个字符,要对这些汉字进行编码,每个汉字至少要用多少个字节表示?,如00000000,10000000, 11111111.,例5.计算机编程人员在编写好程序以后要对程序进行测试。程序员需要知道到底有多少条执行路(即程序从开始到结束的线),以便知道需要提供多少个测试数据。一般的,一个程序模块又许多子模块组 成,它的一个具有许多执行路径的程序模块。问:这个程序模块有多少条执行路径?另外为了减少测试时间,程序员需要设法减少测试次数,你能帮助程序员设计一个测试方式, 以减少测试次数吗?,分析:整个模块的任意一条路径都分两步完成:第1步是从开始执
7、行到A点;第2步是从A点执行到结束。而第步可由子模块1或子模块2或子模块3来完成;第二步可由子模块4或子模块5来完成。因此,分析一条指令在整个模块的执行路径需要用到两个计数原理。,再测试各个模块之间的信息交流是否正常,需要测试的次数为:3*2=6。 如果每个子模块都正常工作,并且各个子模块之间的信息交流也正常,那么整个程序模块就正常。,这样,测试整个模块的次数就变为172+6=178(次),2)在实际测试中,程序员总是把每一个子模块看成一个黑箱,即通过只考察是否执行了正确的子模块的方式来测试整个模块。这样,他可以先分别单独测试5个模块,以考察每个子模块的工作是否正常。总共需要的测试次数为:,1
8、8+45+28+38+43=172。,例6.随着人们生活水平的提高,某城市家庭汽车拥有量迅速增长,汽车牌照号码需要扩容。交通管理部门出台了一种汽车牌照组成办法,每一个汽车牌照都必须有个不重复的英文字母和个不重复的阿拉伯数字,并且个字母必须合成一组出现,个数字也必须合成一组出现,那么这种办法共能给多少辆汽车上牌照?,(3)某艺术组有9人,每人至少会钢琴和小号中的一种乐器,其中7人会钢琴,3人会小号,从中选出会钢琴与会小号的各1人,有_ 种不同的选法.,20,巩固练习: (1)课本P10第1-3题,(2)将三封信投到四个邮筒,有_种投法;三个人争夺四个不同体育项目的冠军,则冠军的不同分配方法有_种.,64,81,(4)乘积展开后共有几项?,(5)某商场有6个门,如果某人从其中的任意一个门进入商场,并且要求从其他的门出去,共有多少种不同的进出商场的方式?,课堂小节,用两个计数原理解决计数问题时,最重要的是开始计算之前要进行分析需要分类还是分步.分类要做到“不重不漏”,分类后再分别对每一类进行计数,最后用分类加法原理求和,得到总数。分步要做到“步骤完整”完成了所有的步骤,恰好完成任务,步与步之间要相互独立。分步后再计算每一步的方法数,最后根据分布乘法计数原理,把完成每一步的方法相乘,得到总数。,作业:课本P12A组第5题,P13 B组第2题,