3.3《计算机程序与程序设计语言》粤教版(2019)数据与计算必修1-课后练习(含解析)

资源下载
  1. 二一教育资源

3.3《计算机程序与程序设计语言》粤教版(2019)数据与计算必修1-课后练习(含解析)

资源简介

计算机程序与程序设计语言 练习题
(粤教版·必修一《数据与计算》)
一、单选题(共15题,每题5分,共75分)
1. 计算机程序是指(  )
A. 计算机硬件的组成部分
B. 为了得到某种结果而由计算机执行的指令序列
C. 计算机操作系统的核心文件
D. 计算机中存储的数据文件
2. 以下关于计算机程序特征的描述,错误的是(  )
A. 程序是由计算机指令序列组成的
B. 程序执行后必须产生某种结果
C. 同一个程序在不同的计算机上运行结果一定不同
D. 程序可以在不同的计算机上运行
3. 程序设计语言的最终目标是使计算机能够(  )执行指令序列。
A. 硬件层面地
B. 软件层面地
C. 二进制代码层面地
D. 人机交互层面地
4. 高级语言编写的程序需要经过某种处理才能被计算机执行,这种处理方式不包括(  )
A. 汇编
B. 编译
C. 解释
D. 烧录
5. 计算机能够直接识别和执行的语言是(  )
A. 汇编语言
B. 高级语言
C. 机器语言
D. 自然语言
6. 程序设计语言的发展经历了从(  )的发展过程。
A. 高级语言→汇编语言→机器语言
B. 机器语言→汇编语言→高级语言
C. 高级语言→机器语言→汇编语言
D. 汇编语言→机器语言→高级语言
7. 以下关于机器语言的说法,正确的是(  )
A. 机器语言由0和1组成的二进制代码构成
B. 机器语言编程效率高,易于理解和维护
C. 机器语言程序可以在不同的计算机上直接运行
D. 机器语言是最高级的程序设计语言
8. 汇编语言与机器语言相比,最重要的特点是(  )
A. 汇编语言使用助记符代替二进制代码,易于理解和记忆
B. 汇编语言程序执行速度慢
C. 汇编语言可以直接被计算机识别
D. 汇编语言属于高级语言的一种
9. 以下所列语言中,都属于高级语言的一组是(  )
A. Python、Java、汇编语言
B. C++、Python、Java
C. JavaScript、Swift、汇编语言
D. HTML、Python、机器语言
10. 编译器的作用是(  )
A. 将高级语言程序逐条翻译并执行
B. 将高级语言程序一次性整体翻译为目标程序,生成可执行文件
C. 将汇编语言程序转换为机器语言程序
D. 将自然语言程序转换为高级语言程序
11. 以下关于解释器与编译器的说法,正确的是(  )
A. 解释器产生的运行效率通常比编译器更高
B. 编译器执行时逐句翻译,边翻译边执行
C. Python语言通常采用解释方式执行
D. 编译器不生成任何目标文件
12. 计算机解决问题的过程一般顺序为(  )
A. 编写程序→分析问题→设计算法→调试运行
B. 设计算法→分析问题→编写程序→调试运行
C. 分析问题→设计算法→编写程序→调试运行
D. 调试运行→编写程序→设计算法→分析问题
13. 以下哪种情况最适合用计算机程序来解决?(  )
A. 判断一首古诗的文学价值
B. 计算全校学生期末考试的总分和平均分
C. 决定中午去食堂吃什么
D. 评价一幅画作的艺术水平
14. 在编写和调试程序时,程序能成功运行但计算结果不正确,这属于(  )
A. 语法错误
B. 编译错误
C. 逻辑错误
D. 运行时错误
15. 以下关于人机交互的说法,正确的是(  )
A. 程序设计语言的演进使得人机交互越来越困难
B. 从机器语言到高级语言的发展,使程序员更容易理解和编写程序
C. 汇编语言比高级语言更接近人类自然语言
D. 程序设计语言的发展与计算机硬件的进步没有关系
二、填空题(共10题,每题2分,共20分)
1. 计算机程序是指为了得到某种结果而可以由计算机执行的连续__________集合。
2. 计算机程序设计语言经历了从__________→__________→__________的发展历程。
3. 计算机能够直接识别的语言是__________,它由0和1组成的__________代码构成。
4. 使用助记符代替二进制代码来表示指令的编程语言被称为__________。
5. Python、C++、Java等语言属于__________语言,其特点是接近数学语言和__________,易于学习和使用。
6. 将高级语言程序一次性整体翻译成目标程序,生成可执行文件的翻译程序称为__________。
7. 将高级语言程序逐条翻译并立即执行的翻译程序称为__________,在此过程中不生成独立的目标文件。
8. 计算机解决问题的四个步骤依次是分析问题、__________、编写程序和__________。
9. 程序编写完成后,可能出现的错误类型主要包括__________、__________和逻辑错误。
10. 高级语言程序可以被移植到不同的硬件平台上使用,这体现了高级语言的__________。
三、情景作答题(共3题)
情景一:三棱文化衫编程学习记
高一(7)班的同学们在“校园文创·三棱文化衫”项目中,需要使用程序来解决销售量预测分析。李老师首先引导学生使用自然语言描述解决步骤,接着利用流程图画出核心逻辑,最后指导学生用Python语言编写代码实现预测功能。
问题:
1. 在上述情景中,自然语言描述、流程图和Python程序分别属于解决计算机问题的哪一个环节?(4分)
2. 同学们在编写完代码后,成功运行但预测结果完全错误,这属于哪类错误?应该如何排查?结合高中信息技术知识,简述你排查错误的思路。(6分)
3. 为什么在编写程序之前要先用自然语言和流程图描述算法?这样做有什么好处?(5分)
情景二:编程语言培训班咨询
小明的妈妈想给小明报名一个少儿编程培训班,她看到两个培训班的信息:A培训班教授Python语言,B培训班教授C++语言。招生老师介绍说Python简单易学,适合初学者;C++功能强大,程序运行效率高,但学习难度较大。小明妈妈拿不定主意,请你从程序设计语言的发展角度来分析这两种语言的特点和适用场景。
问题:
1. Python和C++都属于哪一类程序设计语言?这类语言与机器语言、汇编语言相比,有什么共同的优点?(6分)
2. 招生老师说“C++程序运行效率高”,而Python程序运行时速度相对较慢。请从编译和解释两种执行方式的角度,分析造成这种差异的原因。(6分)
3. 有的同学认为“既然机器语言是计算机唯一能直接识别的语言,高级语言就显得多余”,你是否赞同这种观点?结合所学知识说明理由。(5分)
情景三:智能门禁系统的程序调试(创新关联题)
某校园创客社团要设计一款智能门禁系统,通过人脸识别判断是否可以开门。同学们设计了如下流程:
① 摄像头采集人脸图像数据;
② 将采集到的图像数据与数据库中已注册的人脸特征进行比较;
③ 如果特征匹配度超过阈值,则控制电机带动锁舌收回,打开门禁;
④ 否则亮红灯报警,提示未授权。
同学们用Python语言编写了程序,但在测试时发现:程序能够正常运行,但搭载在另一台ARM架构的开发板上却无法执行。指导老师检查后发现程序用到了某些PC专用的硬件接口库,而这些库在ARM平台上没有对应的软件支持。
问题:
1. 上述门禁系统的主流程涉及了计算机解决问题的哪几个步骤?请对应列出。(5分)
2. 同一份Python程序在PC上可以运行,在ARM开发板上却无法运行,这种现象与程序设计语言的哪一特性有关?为什么?(5分)
3. 如果想把同样的程序功能在ARM架构上实现,结合本情景,你认为应该从哪些方面入手来解决问题?(5分)
参考答案与解析
一、单选题答案解析
1. B
解析:本题考查计算机程序的定义。计算机程序是指为了得到某种结果而可以由计算机执行的连续指令集合(或指令序列)。硬件是计算机物理部件,操作系统是系统软件,数据文件是被处理和存储的数据。教材中指出,计算机程序是“为了得到某种结果而由计算机执行的指令序列”。
2. C
解析:本题考查计算机程序的基本特征。代码程序若采用跨平台编程语言编写或依赖库可移植,同一程序在不同计算机上依然可以运行出相同结果,因此C项错误。
3. C
解析:计算机只能识别二进制代码,计算机程序设计语言的最终目标是使计算机能够在二进制代码层面执行指令序列。
4. D
解析:高级语言程序需要经过编译或解释才能被计算机执行,汇编语言程序需要经过汇编处理。“烧录”是将程序固化到芯片中,不属于高级语言到机器语言的转换方式。
5. C
解析:计算机只能识别二进制代码,即机器语言。汇编语言需要汇编,高级语言需要编译或解释,自然语言计算机无法直接识别。
6. B
解析:程序设计语言的发展历程是机器语言→汇编语言→高级语言。机器语言是第一代,汇编语言是第二代,高级语言是第三代,三者的抽象级别依次提高。
7. A
解析:机器语言是唯一能被计算机直接识别的语言,由二进制0和1组成。B错,机器语言编程效率极低,难以理解和维护;C错,机器语言程序与具体计算机硬件密切相关,缺乏可移植性,不同计算机平台指令系统不同,不能直接运行;D错,机器语言是较低级的语言,汇编语言和高级语言层次更高。
8. A
解析:汇编语言是一种符号化语言,用助记符代替二进制代码,使人们更容易理解和记忆指令含义。B错,汇编语言执行速度接近于机器语言;C错,汇编语言不能直接识别,需要汇编器翻译;D错,汇编语言属于低级语言。
9. B
解析:高级语言代表有Python、C++、Java、JavaScript、Swift等。汇编语言属于低级语言,HTML是标记语言,机器语言是最低级的二进制语言。
10. B
解析:编译器将高级语言源程序一次性全部编译为目标程序,并生成独立可执行文件。A错,这是解释器的特点;C错,是汇编器的作用;D错,编译器不处理自然语言。
11. C
解析:Python语言通常采用解释方式执行,边解释边执行。A错,解释器运行效率通常低于编译器;B错,这是解释器的特点;D错,编译器生成可执行的目标文件。
12. C
解析:计算机解决问题的正确程序是分析问题→设计算法→编写程序→调试运行。设计算法必须在编写程序之前进行。
13. B
解析:计算机程序最适合处理大规模、有规律、重复性强的数据处理任务,如计算总分和平均分;A、C、D属于主观判断,不适合由计算机程序解决。
14. C
解析:程序能运行但计算结果不正确,是因为算法本身设计有误或逻辑错误。语法错误导致程序无法编译或运行,运行时错误是运行时发生的异常,如除零错误。
15. B
解析:从机器语言到高级语言的发展,程序设计语言的抽象级别逐渐提升,越来越接近人类思维和自然语言,使程序员更容易理解和编写程序。A错,人机交互变得更容易;C错,汇编语言仍然远离人类自然语言;D错,语言的发展与硬件提升紧密相关。
二、填空题答案解析
1. 指令
解析:程序的核心组成是一系列按顺序组织起来的指令。
2. 机器语言;汇编语言;高级语言
解析:这是程序设计语言发展的三个阶段。
3. 机器语言;二进制
解析:机器语言由二进制代码构成,是计算机唯一能直接识别的语言。
4. 汇编语言
解析:汇编语言使用助记符(如ADD、MOV等)代替机器指令的二进制代码。
5. 高级;自然语言
解析:高级语言接近数学语言和自然语言,易于学习和使用。
6. 编译器
解析:编译器将整个源程序统一翻译为目标程序并生成可执行文件。
7. 解释器
解析:解释器逐条翻译和执行源程序,不生成独立的目标文件。
8. 设计算法;调试运行
解析:正确顺序:分析问题→设计算法→编写程序→调试运行。
9. 语法错误;运行时错误
解析:三种主要错误类型:语法错误、运行时错误和逻辑错误。
10. 可移植性
解析:同一高级语言程序可以在不同硬件平台上使用,无需改写。
三、情景作答题答案解析
情景一:三棱文化衫编程学习记
1. 各环节的对应关系
自然语言描述和流程图属于计算机解决问题的算法设计环节,Python程序属于编写程序环节。完整的计算机解决问题过程为:分析问题→设计算法(用自然语言、流程图或伪代码描述)→编写程序(用程序设计语言实现)→调试运行。
2. 错误类型判断及排查
这属于逻辑错误。逻辑错误是指程序语法正确、能正常运行,但算法设计本身有误或程序逻辑与预期不符,导致结果错误。
排查思路:①仔细分析问题需求,回顾算法设计是否合理;②在关键输出点添加print调试语句,观察中间变量的值是否符合预期;③用边界值和特殊值测试程序;④与同伴逐行阅读代码,发现潜在逻辑问题。
3. 预先描述算法的好处
先在自然语言和流程图中设计算法,一方面可以利用自然语言通俗易懂和流程图直观清晰的特点,让算法的整体结构和逻辑关系一目了然;另一方面,以流程图的方式将解决问题的具体方法和步骤固定下来,再转化为计算机程序,可以有效降低编程难度,避免编写程序时的逻辑混乱。如果直接编写程序,可能会出现思路中断、遗漏步骤或逻辑错误,预先设计好算法再编程,相当于先有设计图纸再施工,事半功倍。
情景二:编程语言培训班咨询
1. Python和C++的类别及共同优点
Python和C++都属于高级语言。与机器语言、汇编语言相比,高级语言的主要共同优点有:①接近自然语言和数学语言,易于理解和学习;②可移植性好,同一程序可在不同硬件平台的计算机上运行,无需重写;③抽象程度高,程序设计者可以更关注解决问题的思路,而不是底层硬件细节;④开发效率高,能显著减少代码量和编程时间。
2. C++与Python执行方式差异的原因
C++是编译型语言,Python是解释型语言,两者的执行方式不同:
C++程序需要先将源代码整体编译成机器语言的目标文件(.exe或.out),生成后可重复直接运行,CPU直接执行二进制指令,所以运行速度快、效率高。
Python程序由解释器逐条读取源代码,边翻译边执行,不产生独立的可执行文件,解释执行过程需要额外的开销,因此运行速度相对较慢。
3. 对“高级语言多余”观点的反驳
不赞同这种观点。虽然计算机只能直接识别机器语言,但机器语言由0和1组成,编程极其繁琐、容易出错,且与具体硬件紧密绑定,可移植性极差。高级语言的出现正是因为机器语言和汇编语言的局限性——高级语言抽象程度高,接近人类思维,使程序员从繁复的硬件细节中解放出来,专注于解决问题本身;同时高级语言具有良好的可移植性,大大提升了开发效率。因此,高级语言不仅不多余,反而是计算机科学发展的重要里程碑,是提高软件开发生产力的关键因素。
情景三:智能门禁系统的程序调试
1. 门禁系统流程与计算机解决问题步骤的对应
① 摄像头采集人脸图像数据——对应分析问题,明确输入为图像数据;
② 将图像数据与数据库人脸特征比较——对应设计算法,设计人脸特征匹配的比较方法;
③ 匹配度超过阈值则控制电机开门——对应编写程序,用Python编写人脸识别和控制的代码;
④ 否则亮红灯报警——对应调试运行,测试匹配逻辑和各分支是否正确执行。
2. 与程序设计语言特性的关系
这种现象与高级语言的“可移植性”以及“跨平台”特性有关。理论上,由高级语言编写的程序应该可以在不同硬件平台上运行而无需修改,但前提是这些平台上必须有该高级语言的解释器或编译器,且程序所调用的库函数在该平台上也有对应的实现。在本案例中,PC用的ARM开发板无法执行程序,是因为程序依赖了特定硬件库,而库的可移植性未能由Python环境直接提供支持。
3. 解决问题的思路
可以从以下几方面入手:
① 检查ARM开发板上是否安装了Python解释器。如果没有,需要先安装;
② 将程序依赖的硬件接口库替换为ARM平台上支持的同功能库,或寻找跨平台的替代库;
③ 如果ARM平台实在没有对应库,可以考虑将硬件控制部分用ARM支持的开发环境(如C/C++)重写,通过进程间通信或编写Python扩展模块的方式与原Python程序对接;
④ 查阅ARM开发板的官方文档,确认是否有类似的GPIO控制方案可用,参照其编程接口修改程序。

展开更多......

收起↑

资源预览