信息学奥赛初赛天天练-40-CSP-J2021基础题-组合数学-缩倍法、平均分组、2进制转10进制、面向过程/面向对象语言应用
PDF文档公众号回复关键字:20240630
![](https://img2022.cnblogs.com/blog/404484/202211/404484-20221123185906168-1425738362.png)
2021 CSP-J 选择题
单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)
1.以下不属于面向对象程序设计语言是( )
A. C++
B. Python
C. Java
D. C
2.以下奖项与计算机领域相关的是( )
A. 奥斯卡奖
B. 图灵奖
C. 诺贝尔奖
D. 普利策奖
3.目前主流的计算机存储数据最终都是转换成( ) 数据进行存储的
A. 二进制
B. 十进制
C. 八进制
D. 十六进制
7.二进制数101.11对应的十进制数是( )
A. 6.5
B. 5.5
C. 5.75
D. 5.25
10.有6个人,两个人组一对,总共组成三队,不区分队伍的编号。不同的组队情况有( )
A. 10
B. 15
C. 30
D. 20
2 相关知识点
1) 2进制转10进制
按权展开,但要注意各个位的权,最低位(最右边)的权是0次方,权值为1
向左为2^1, 2^2, 2^3, 2^4, 2^5......
(11010110)2=1×2^7+1×2^6+0×2^5+1×2^4+0×2^3+1×2^2+1×2^1+0×2^0=(214)10
向右,小数部分,2^(-1), 2^(-2), 2^(-3), 2^(-4), 2^(-5)......
(1011.01)2=(1*2^3+1*2^1+1*2^0+1*2^(-2))=8+2+1+0.25=11.25
2) 面向过程/面向对象
面向过程和面向对象是两种不同的编程范式
面向过程:面向过程的编程方式强调的是算法和逻辑,关注的是解决问题的步骤。在这种范式下,程序员需要设计一系列按顺序执行的指令,以实现特定的功能
面向对象:面向对象的编程方式强调的是数据和数据结构,关注的是问题的抽象和建模。在这种范式下,程序员需要定义一系列相互作用的对象,这些对象共同构成了问题的解决方案
面向对象的代码具有较高的复用性和可维护性。通过继承和多态等机制,可以方便地创建新的对象类,实现功能的扩展和复用
早起的语言,像c语言,Pascal,Fortran等都是面向过程的语言
后来的语言,像C++,Jave,Python等都是面向对象语言
3) 组合数学-缩倍法、平均分组
缩倍法
在排列问题中限制某几个元素必须保持一定的顺序,可用缩小倍数的方法.此法也被叫消序法.
将n个不同元素排列成一排,其中某k个元素的顺序保持一定,有多少种不同排法?
n个不同元素排列成一排,共有A(n,n) 种排法,k个不同元素排列成一排共有A(k,k) 种不同排法,于
是,k个不同元素顺序一定的排法只占排列总数的A(k,k)分之一,所以总的排列数为A(n,n)/A(k,k)
例题
A,B,C,D,E五人并排站成一排,如果B必须站在A的右边(A,B可以不相邻)那么不同的排法有多少种?
分析
B 在A的右边与B在A的左边排法数相同,所以题设的排法只是5个元素全排列数的一半
A(5,5)/A(2,2)=5 * 4 * 3 * 2 * 1/2=60种
平均分组
是指将所有的元素分成所有组元素个数相等或部分组元素个数相等,即m个不同的元素平均分成n个组,有多少种分组方法
由于是平均分组,分组选择元素时会出现重复,因此结果需要除以A(n,n)
例题1
有4个人,平均分为2组,即每组2人,共有多少种分组方法?
答案 3 种
分析
第1步
从4个人中选2人,放入第1组 C(4,2) = 4 * 3 / 2 =6
第2步
从剩余2人中选2人,放入第2组 C(2,2)=1
第3步
平均分成2组,除以A(2,2)=2
所以分组方法数为 6 * 1 /2 = 3 种
除以A(2,2)的原因:
我们可以枚举C(4,2):从4人中选2人的情况,假如这4人分别为 甲、乙、丙、丁,可以看出1,6和2,5和3,4选的人是相同的,平均分组没有区别,所以需要除以A(2,2)
同样的道理,平均分成3组是需要除以A(3,3)
3 思路分析
1.以下不属于面向对象程序设计语言是( D )
A. C++
B. Python
C. Java
D. C
分析
C++是一种通用编程语言,它扩展了C语言,增加了面向对象的特性,如类、对象、继承、多态等
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言,它支持多种编程范式,包括面向对象编程
Java是一种面向对象的编程语言,它具有跨平台性、安全性、稳定性和可靠性等特点
C语言是一种过程式编程语言,它主要关注程序的执行过程,而不是数据和操作数据的函数。C语言不具备面向对象的特性,如类和对象
2.以下奖项与计算机领域相关的是( B )
A. 奥斯卡奖
B. 图灵奖
C. 诺贝尔奖
D. 普利策奖
分析
奥斯卡奖,是电影相关奖项
奥斯卡奖正式名称为美国电影艺术与科学学院奖(Academy Awards),是由美国电影艺术与科学学院主办的电影类奖项,创办于1929年。它是美国历史最为悠久、最具权威性和专业性的电影类奖项,也是全世界最具影响力的电影类奖项之一
图灵奖,计算机领域奖项
图灵奖是由美国计算机协会(ACM)颁发的年度奖项,旨在表彰在计算机科学领域具有持久和重大技术重要性贡献的个人。该奖项以英国数学家、逻辑学家艾伦·图灵的名字命名,他是计算机科学和人工智能的先驱,被誉为“计算机之父”
诺贝尔奖,物理、化学,医学等
诺贝尔奖是根据瑞典化学家阿尔弗雷德·诺贝尔的遗嘱于1901年设立并开始每年颁发的奖项,旨在表彰在物理学、化学、和平、生理学或医学、文学、经济学领域“对人类作出最大贡献”的科学家
普利策奖,是新闻界奖
普利策奖,正式名称为普利策新闻奖,是根据美国报业巨头约瑟夫·普利策的遗愿于1917年设立的奖项,被誉为“新闻界的诺贝尔奖”。普利策奖是美国新闻界的一项最高荣誉奖,其影响力历久不衰
3.目前主流的计算机存储数据最终都是转换成( A ) 数据进行存储的
A. 二进制
B. 十进制
C. 八进制
D. 十六进制
分析
二进制,是计算技术中广泛采用的一种数制。计算方法:二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。
7.二进制数101.11对应的十进制数是( C )
A. 6.5
B. 5.5
C. 5.75
D. 5.25
分析
(101.11)2
=1*2^2 + 0*2^1 + 1 *2^0 + 1*2^(-1)+1*2^(-2)
=4+0+1+0.5+0.25
=5.75
10.有6个人,两个人组一对,总共组成三队,不区分队伍的编号。不同的组队情况有( B )
A. 10
B. 15
C. 30
D. 20
分析
6个人2人一组,分成3组,人数相同,不区分不同对应编号,即每个队伍相同,不区分先后次序,是平均分组问题
C(6,2)*C(4,2)*C(2,2)/A(3,3)
=6*5/2 * 4*3/2 *2*1/2/(3 *2 * 1)
=15 * 6 * 1/(3 *2 * 1)
=90/6=15
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习