信息学奥赛初赛天天练-40-CSP-J2021基础题-组合数学-缩倍法、平均分组、2进制转10进制、面向过程/面向对象语言应用

PDF文档公众号回复关键字:20240630

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
posted @ 2024-06-30 15:19  new-code  阅读(1)  评论(0编辑  收藏  举报