电大程序设计基础答案.docx
《电大程序设计基础答案.docx》由会员分享,可在线阅读,更多相关《电大程序设计基础答案.docx(9页珍藏版)》请在冰点文库上搜索。
电大程序设计基础答案
电大-程序设计基础答案
《程序设计基础》形考作业1参考答案
一、选择题:
1、B2、B3、C4、C5、A6、B7、B8、AD9、C10、D11、C12、B13、B14、D15、A16、D17、C
二、填空题:
1、科学计算数据处理过程控制计算机辅助系统人工智能2、存储器中央处理器输入设备输出设备3、逻辑运算4、ENIAC5、微6、超大规模集成电路7、中央处理器运算器控制器8、硬件系统软件系统9、运算器控制器存储器输入/输出设备10、主存辅存(或内存外存)11、RAMROM12、电子数字计算机电子模拟计算机13、操作系统14、数据库管理系统15、编译方式解释方式16、
三、问答题:
1、计算机的主要特点是什么?
答:
1.运算速度快2.计算精度高3.存储容量大4.具有逻辑判断功能5.自动化程度高,通用性强
2、什么是系统软件和应用软件?
它们的作用有何不同?
答:
系统软件是为有效利用计算机系统的资源、充分发挥计算机系统的工作潜力、正常运行、尽可能方便用户使用计算机而编制的软件。
应用软件是用户利用计算机及其提供的系统软件,为解决实际问题所开发的软件的总称。
没有系统软件,计算机将难以发挥其功能,甚至无法工作。
而应用软件的存在与否并不影响整个计算机系统的运转,但它必须在系统软件的支持下才能工作。
3、软件和硬件的关系如何?
答:
硬件是软件的基础,软件是硬件功能的完善和扩充,它们相互依存,无严格界面,相互促进。
具体表现在:
P13
4、简述存储程序控制的基本原理
答:
“存储程序控制”原理的基本内容是:
(1)用二进制形式表示数据和指令;
(2)将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行,这是“存储程序控制”的基本特点;(3)确立了计算机系统的5大基本部件:
存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
6、编译过程分为几个阶段?
各阶段的主要工作是什么?
答:
编译过程包括以下六个阶段:
1)词法分析:
对源程序进行扫描,产生单词符号,并归类以等待处理;2语法分析:
检查源程序在语法上是否正确;(3)语义分析:
判断源程序含义;(4中间代码生成:
生成中间代码;(5代码优化:
对中间代码进行优化,简化计算;(6目标代码生成:
将中间代码转换成目标代码。
《程序设计基础》形考作业2参考答案
一、选择题:
1、A2、C3、A4、A5、D6、B7、D8、C9、B10、A
三、写出程序运行结果:
1、程序运行结果为:
1'
2、程序运行结果为:
67,D
3、程序运行结果为:
1,5,4,3,2,0
四、编程序:
1、
main()
{
inta,b,c,max;
printf(“Pleaseinput3integers:
\n”);
scanf(“%d%d%d”,&a,&b,&c);
max=a;
if(b>a)max=b;
if(c>x)max=c;
printf(“Max=%d”,max);
}
2、
main()
{
intx,y,z;
for(x=0;x<=36/4;x++)
for(y=0;y<=36/3;y++)
{
z=36-x-y;
if(4*x+3*y+z/2==36&&z%2==0)
printf(“x=%d,y=%d,z=%d”,x,y,z);
}
}
3、
main()
{
intx,i,s=0;
for(i=1;i<=x;i++)
s=s+i*i;
printf(“s=%d”,s);
}
4、
main()
{
floatx,s=0;
for(i=0;i<10;i++)
{
scanf(“%f”,&x);
s=s+x;
}
printf(“Theaverageis%f”,s/10);
}
《程序设计基础》形考作业3参考答案
一、选择题:
1、DACFA2、B3、A4、BA5、A6、D7、B8、C9、A10、B
11、CCDA12、A13、B14、B15、B16、BC17、D18、D19、D20、c
二、填空题:
1、逻辑结构存储结构运算
2、向后移动最后一个元素开始后
3、向前移动删除元素后的第一个元素开始前
4、相对位置也
5、线性任意栈顶队尾队首(队头)
6、栈顶队尾队首
7、完全最大
8、n-1n(n-1)/2
三、
1、假设ABCD四元素依次进栈:
1)A进栈->B进栈->C进栈->D进栈->出栈->出栈->出栈->出栈
结果:
D->C->B->A
2)A进栈->B进栈->C进栈->出栈->D进栈->出栈->出栈->出栈
结果:
C->D->B->A
3)A进栈->B进栈->C进栈->出栈->出栈->D进栈->出栈->出栈
结果:
C->B->D->A
4)A进栈->B进栈->C进栈->出栈->出栈->出栈->D进栈->出栈
结果:
C->B->A->D
5)A进栈->B进栈->出栈->C进栈->D进栈->出栈->出栈->出栈
结果:
B->D->C->A
6)A进栈->B进栈->出栈->出栈->C进栈->D进栈->出栈->出栈
结果:
B->A->D->C
7)A进栈->B进栈->出栈->C进栈->出栈->D进栈->出栈->出栈
结果:
B->C->D->A
8)A进栈->B进栈->出栈->出栈->C进栈->出栈->D进栈->出栈
结果:
B->A->C->D
9)A进栈->出栈->B进栈->C进栈->D进栈->出栈->出栈->出栈
结果:
A->D->C->B
10)A进栈->出栈->B进栈->C进栈->出栈->D进栈->出栈->出栈
结果:
A->C->D->B
11)A进栈->出栈->B进栈->C进栈->出栈->出栈->D进栈->出栈
结果:
A->C->B->D
12)A进栈->出栈->B进栈->出栈->C进栈->D进栈->出栈->出栈
结果:
A->B->D->C
13)A进栈->出栈->B进栈->出栈->C进栈->出栈->D进栈->出栈
结果:
A->B->C->D
2、答:
二叉树的度最大为2,而树的度无此限制。
在二叉树中,一个结点的子树有左、右之分,不能互换位置。
而度为2的树则无此限制。
3、
先序遍历序列:
ABDEC
中序遍历序列:
DEBAC
后序遍历序列:
EDBCA
《程序设计基础》形考作业4参考答案
一、选择题与填空题:
1、D2、A3、B4、E5、C
6、逻辑运算算术运算数据比较数据传送
7、次序
8、顺序结构选择结构循环结构
9、正确性运行效率
10、时间空间
11、自顶而下逐步求精
12、正确性可靠性
13、过程数据
13、可行性分析需求分析
15、概要设计详细设计软件实现软件集成验收测试
16、软件开发速度软件质量开发成本
16、瀑布模型快速原型法模型螺旋模型
二、简答题:
1、什么是算法?
它有哪几个重要特性?
简述三种算法的描述形式和特点?
答:
算法是用于求解某个特定问题的一些指令的集合。
算法的特性:
1.有穷性2.确定性3.可行性4.输入性5.输出性
用自然语言描述的算法通俗易懂,而且容易掌握,但算法的表达与计算机的具体高级语言形式差距较大,通常是用于介绍求解问题的一般算法。
伪代码是一种介于自然语言与计算机语言之间的算法描述方法。
它结构性较强,比较容易书写和理解,修改起来也相对方便。
其特点是不拘泥于语言的语法结构,而着重以灵活的形式表现被描述对象。
它利用自然语言的功能和若干基本控制结构来描述算法。
流程图也叫框图,它是是用各种几何图形、流程线及文字说明来描述计算过程的框图。
用流程图描述算法的优点是:
直观,设计者的思路表达得清楚易懂,便于检查修改。
2、结构化程序设计主要有哪些特征?
答:
(1)一个程序按结构化程序设计方式构造时,一般地总是一个结构化程序,即由三种基本控制结构:
顺序结构、选择结构和循环结构构成。
(2)有限制地使用goto语句。
(3)藉助于体现结构化程序设计思想的所谓结构化程序设计语言来书写结构化程序,并采用一定的书写格式以提高程序结构的清晰性,增进程序的易读性。
(4)强调程序设计过程中人的思维方式与规律,是一种自顶向下的程序设计策略,它通过一组规则、规律与特有的风格对程序设计细分和组织。
3、模块化程序设计有哪些优点和缺点?
简述模块的设计准则是什么?
答:
优点
(1)模块化方法使程序的结构简明清晰
(2)模块化方法可以提高系统的可靠性。
(3)模块化方法加强了系统的可维护性。
(4)模块化方法能够提高系统的可重用性。
(5)模块化方法有利于软件工程管理。
缺点
(1)编码前需要大量的额外工作
(2)模块化程序运行时需要较多的CPU时间
(3)模块化程序需要较多的存储空间。
4、什么是软件工程?
软件工程的目标是什么?
答:
软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
软件工程的目标可概括为“生产具有正确性、可用性以及开销合宜的产品”。
5、软件开发模型有哪两类?
瀑布模型和速成原型法各有什么特点?
答:
软件开发模型大体上可分为两种类型:
第一种是以软件需求完全确定为前提的瀑布模型。
第二种是在软件开发初始阶段只能提供基本需求时采用的渐进式开发模型,如原型模型、螺旋模型等。
瀑布模型的主要特点是:
阶段间的顺序性和依赖性。
开发过程是一个严格的下导式过程,即前一阶段的输出是后一阶段的输入,每一阶段工作的完成需要确认,而确认过程是严格的追溯式过程,后一阶段出现了问题要通过前一阶段的重新确认来解决。
因此,问题发现得越晚解决问题的代价就越高。
快速原型法的最大特点是快捷,且避免了许多由于不同理解而造成的错误。