程序设计基础形考作业答案.docx
《程序设计基础形考作业答案.docx》由会员分享,可在线阅读,更多相关《程序设计基础形考作业答案.docx(20页珍藏版)》请在冰豆网上搜索。
程序设计基础形考作业答案
《程序设计基础》
形考作业答案
广州市广播电视大学吴献彩
程序设计基础作业1
一、选择题
1、B世界上第一台电子数字计算机研制成功的时间是(1946)年。
2、B计算机的发展阶段通常是按计算机所采用的(逻辑元件)来划分的。
3、C从第一代电子计算机到第四代计算机的体系结构都是相同的,都是由运算器、控制器、存储器以及输入/输出设备组成的,称为(冯.诺依曼)体系结构。
4、C一个完整的计算机系统应该包括(硬件系统和软件系统)
5、A主要决定微机性能的是(CPU)
6、B计算机应用广泛,而其应用最广泛的领域是(数据处理)
7、B计算机硬件系统中最核心的部件是(CPU )
8、A、D计算机的主存储器一般由(ROM和RAM)组成,主存储器比辅存储器(读写速度快)
9、C解释程序的功能是(解释执行高级语言程序)
10、D下述所列程序中哪种程序不属于语言处理程序?
(操作系统)
11、C在下列计算机语言中,哪个依赖于具体的机器?
(机器语言、汇编语言)
12、A解释程序和编译程序同属于语言处理程序,下列关于它们的叙述中哪一个是正确的?
(解释程序产生目标程序)
13、B计算机硬件能直接执行的语言只有(机器语言)
14、D下述语言
(1)JAVA
(2)FORTRAN(3)C哪个一般是编译型语言?
(
(2)和(3))
15、A在软件方面、第一代计算机主要使用(机器语言)
16、D计算机软件是指:
(计算机程序及其有关文档)
17、C用高级语言编写的程序:
(具有通用性和可移植性)
二、填空题
1、计算机的五大应用领域是(科学计算)、(数据处理)、(过程控制)、(计算机辅助系统)和(人工智能)
2、总线是连接(CPU)、(存储器)和(外部设备)的公共信息通道。
通常由三部分组成:
(数据总线)、(地址总线)、(控制总线)
3、计算机是一类智能机器,这是因为它除了完成自述运算外,还能完成某些(逻辑运算)。
4、世界上第一台计算机取名为(ENIAC)
5、个人计算机简称PC,这种计算机属于(微)型计算机
6、目前制造计算机所采用的电子器件是(超大规模集成电路)
7、CPU是(中央处理器)的英文缩写,它主要由(运算器)和(控制器)组成
8、计算机的系统组成部分是(硬件系统)和(软件系统 )
9、计算机的硬件系统一般可分为(运算器)、(控制器)、(存储器)和(输入/输出设备)等几个部分。
10、计算机的存储器分为(主存)和(辅存)两类(或内存外存)
11、随机存储器和只读存储器的英文缩写分别为(RAM)和(ROM)
12、按工作原理分类,电子计算机分为(电子数字计算机)和(电子模拟计算机)
13、(操作系统)是管理计算机软、硬件资源,为用户提供方便、高效使用界面的最重要的一种系统软件。
14、(图灵机)是现代计算机的抽象数学模型,奠定了现代计算机的基础,则是现代计算机的一种物理实现。
15、高级语言源程序的翻译方式包括(编译方式)和(解释方式)
16、按照语言的级别,程序设计语言分为(低级语言)和(高级语言);按照应用范围则分为(通用语言)和(专用语言)
三、问答题
1、计算机的主要特点是什么?
答:
1.运算速度快2.计算精度高3.存储容量大4.具有逻辑判断功能5.自动化程度高,通用性强
2、什么是系统软件和应用软件?
它们的作用有何不同?
答:
系统软件是为有效利用计算机系统的资源、充分发挥计算机系统的工作潜力、正常运行、尽可能方便用户使用计算机而编制的软件。
应用软件是用户利用计算机及其提供的系统软件,为解决实际问题所开发的软件的总称。
没有系统软件,计算机将难以发挥其功能,甚至无法工作。
而应用软件的存在与否并不影响整个计算机系统的运转,但它必须在系统软件的支持下才能工作。
3、软件和硬件的关系如何?
答:
硬件是软件的基础,软件是硬件功能的完善和扩充,它们相互依存,无严格界面,相互促进。
具体表现在:
(1)互相依存:
计算机硬件与软件的产生与发展是相辅相成、互相促进的,二者密不可分;
(2)无严格功能界面:
计算机的硬件与软件虽然各有分工,但它们之间的功能界面是浮动的。
(3)相互促进:
无论从实际应用,还是计算机技术的发展看,计算机的硬件与软件之间都是相互依赖、相互影响、相互促进的。
4、简述存储程序控制的基本原理
答:
“存储程序控制”原理的基本内容是:
(1)用二进制形式表示数据和指令;
(2)将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行,这是“存储程序控制”的基本特点;
(3)确立了计算机系统的5大基本部件:
存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
5、简述程序设计过程包括哪些步骤?
答:
程序设计过程一般包括以下几个步骤
(1)确定要解决的问题;
(2)分析问题,建立数学模型;
(3)选择计算方法;
(4)确定数据结构和算法;
(5)绘制流程图;
(6)编写程序;
(7)调试并测试程序;
(8)整理资料,交付使用。
6、编译过程分为几个阶段?
各阶段的主要工作是什么?
答:
编译过程包括以下六个阶段:
(1)词法分析:
对源程序进行扫描,产生单词符号,并归类以等待处理;
(2)语法分析:
检查源程序在语法上是否正确;
(3)语义分析:
判断源程序含义;
(4)中间代码生成:
生成中间代码;
(5)代码优化:
对中间代码进行优化,简化计算;
(6)目标代码生成:
将中间代码转换成目标代码。
程序设计基础作业2
一、选择题
1、A正确的C语言自定义标志符是:
(file_bak)
2、C已知intj,i=1;执行语句j=-i++;后。
j的值是:
(-1)
3、AC语言中,错误的int类型的常数是:
(32768)
4、A阅读程序,选择运行结果:
(YES)
#include
main()
{charc=’A’;
if(‘0’<=c<=’9’)
printf(“YES”);
else
printf(“NO”);
}
5、DC语言对嵌套if语句的规定是:
else总是与(其前面最近的且尚未配对的if)配对。
6、B一个C语言程序总是从(主函数)开始执行。
7、DC语言中函数返回值的类型是由(定义函数时所指定的函数类型)
8、C设inta=9,b=8,c=7,x=1;则执行语句:
if(a>7)if(b>8)if(c>9)x=2;elsex=3:
后x的值是
(1)
9、B有如下程序:
main0
{intx=23;
do{printf(“%d”,x--);}
while(!
X);
}
该程序的执行结果是:
(23)
10、A若调用一个函数,且此函数没有return语句,则正确的说法是:
(没有返回值)
二、阅读下列程序,写出运行结果
1、#include
Voidmain()
{ inta=1,b=4,c=2;
a=(a+b)/c;
printf(“%d\n”,--a);
}
答:
运行结果:
1
2、void main()
{char c1=67; /*’A’的ASCII码值为65*/
If(‘A’<=c1 && c1<=’Z’)
printf(“%d,%c”,c1,c1+1);
else printf(“%c”,c1); }
答:
运行结果:
67,D
3、viod main ()
{ int a=0,n=5;
for (; ;)
{ a++; n--;
printf(“%d,”,a);
a=n;
if (n==0) break;
}
printf(“%d”,a);
}
答:
运行结果:
1、5、4、3、2、0
4、main()
{
intx=20,y=8;
printf("x=%d;y=%d",x+1,--y);
}
运行结果:
x=21;y=7
5、#include"stdio.h"
main()
{
intk=1,j=0;
while(k+j<=4)
{if(k>j)j=j+2;
elsek=k+2;}
printf("%d%d\n",k,j);
}运行结果:
3 2
6、main()
{
intx=10,y=10;
x=x+1;
y=y%3;
printf("x=%d;y=%d",x++,y);
}
运行结果:
x=11;y=1
7、#include"stdio.h"
main()
{
inti=0,j=0,k=0,m;
for(m=0;m<4;m++)
switch(m)
{ case0:
i=m++;
case1:
j=m++;
case2:
k=m++;
case3:
m++;
}
printf("\n%d,%d,%d,%d",i,j,k,m);
}
运行结果:
0,1,2,5
8、main()
{
intm=5;
if(m++>5)printf("%d\n",m);
elseprintf("%d\n",m--);
}
运行结果:
6
9、#include"stdio.h"
main()
{
intj;
for(j=0;j<10;j++)
{if(j%2==0)continue;
printf("%d",j);
}
}
运行结果:
13579
三、编程题
1、从键盘输入3个整数,输出其中最大数。
答:
#include
voidmain()
{
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、由36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两个人抬1块砖,恰好一次全部搬完,编程求出成年男子、成年女子和儿童各有多少人?
答:
#include
voidmain()
{
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、按下列公式s(n)12+22……+n2
编写计算并输出s值,其中的n值由键盘输入。
答:
#include
voidmain()
{
intx,i,s=0;
for(i=1;i<=x;i++)
s=s+i*i;
printf(“s=%d”,s);
}
4、编写一程序,从键盘输入10个实数,计算并输出算数平均数
答:
#include
voidmain()
{
floatx,s=0;
for(i=0;i<10;i++)
{
scanf(“%f”,&x);
s=s+x;
}
printf(“Theaverageis%f”,s/10);
}
5、求方程ax2+bx+c=0的根。
其中abc由键盘输入,设b2-4ac>0
#include
#include
voidmain()
{
floata,b,c,disc,x1,x2,x3,p,q;
printf("pleaseinputfloata,b,c:
\n");
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%5.2f,x2=%5.2f\n",x1,x2);
}
6、编写程序。
从键盘输入h值,输出h行用*号组成的平行四边形。
例:
输入h=4,输出的图形如下:
****
****
****
****
答:
#include
voidmain()
{inth,k,j;
scanf("%d",&h);
for(k=1;k<=h;k++)
{for(j=1;j<=h-k;j++)
printf("");
for(j=1;j<=h;j++)
printf("*");
printf("\n");
}
}
7、利用穷举法编写一个算法判断给定的正整数n是否是素数,即判断n是否只能被1和自身整除。
答:
#include
#include
voidmain()
{
intm,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>=k+1)
printf("%disaprimenumber\n",m);
else
printf("%disnotaprimenumber\n",m);
}
程序设计基础作业3
一、选择题
1、D、A、C、F、A(数据)是所有能输入到计算机中被计算机加工处理的信息集合,(数据元素)是的基本单位,它可以由基本单位,它可以由若干个(数据项)和(数据结构)是性质相同的(数据元素)集合。
2、B用链表表示线性的优点是:
(便于插入和删除操作)
3、A下述哪一条是顺序存储方式的优点?
(存储密度大)
4、B、A线性表的顺序存储结构是一种(顺序存储)的相信结构,线性表的链式存储结构是一种(随机存储)的存储结构。
5、A在一个长度为n的顺序表中删除第i(0
6、D线性表L=(a1,a2…an),下列说法正确的是:
(除第一个元素和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。
)
7、B一个队列的人队序是1,2,3,4,则队列的输出序列是:
1,2,3,4.
8、C若进栈序列为1,2,3,4,进栈过程中可以出栈,则(3,1,4,2)不可能是一个出栈序列
9、A队列是限制插入只能在表的一端,而删除在表的另一商进行的线性表,其特点是:
(先进先出)
10、B以下哪一个不是队列的基本运算?
(从队列中删除第I个元素)
11、C、C、D、A栈和队列是一种限制了插入和删除操作位置的线性表。
栈插入操作只能在栈(顶)进行,删除操作只能在栈(顶)进行:
队列的插入操作只能在队(尾)进行,删除操作只能在队(首)进行。
12、A某二叉权的前序编历结点的访问顺序是ABCDEFG,中序编历结点的访问顺序是CBDAFGE,则其后序编历结点的访问顺序是:
(CDBGFEA)
13、B有关二叉树的下列说法正确的是:
(一颗二叉树的度可以小于2)
14、B在二叉树结点的先序序列、中序序列和后序序列中,所有叶子结点的先后顺序:
(完全相同)
15、B在一棵二叉树上第5层的结点数最多为:
(16)
16、B、C在一个图中,所有顶点的度数之和等于所有边数的
(2)倍,在一个有向图中,所有的顶点入度之和等于所有顶点的出度之和的
(1)倍。
17、D一个具有n个顶点的无向图中,要连通全部顶点至少需要(n-1)条边。
18、D对一个具有n个顶点的图,采用邻接接矩阵表示则该矩阵的大小为:
(n2)
19、D已知一个图如下所示,则从顶点a出发按深度优先搜索遍历可以等到的一种顶点序列为:
(a,e,d,f,b,c)
20、D从未排序的序列中依次取出元素与已排序列中的元素作比较,将其放已入排序序列中的正确位置上,此方法称为:
(直接插入排序)
二、填空题:
1、数据结构包括的三个方面的内容是:
数据的(逻辑结构),数据的(存储结构),数据的(运算)。
2、当向一个顺序表插入一个元素时,从插入位置开始后的所有元素均需(向后移动)一个位置,移动过程是从(最后一个元素开始)向(后)依次移动每一个元素。
3、要从一个顺序表删除一个元素时,被删除之后的所有元素均需(向前移动)一个位置,移动过程是从(删除元素后的第一个元素开始)向(前)依次移动每一个元素。
4、在线性表的顺序存储中,元素之间的逻辑关系是通过(相对位置)决定的。
顺序表中逻辑上相邻的元素,物理位置(也)相邻。
5、线性表、栈和队列是(线性)结构,可以在线性表的(任意)位置插入和删除元素,而栈只能在(栈顶)插入和删除元素;对于队列只能在(队尾)插入元素,在(队首)删除元素。
6、栈的插入和删除只能在栈的(栈顶)进行,队列的插入和删除分别在(两)端进行,进行插入的一端叫做(队尾),进行删除的一端叫做(队首)。
7、对于一个具有n个结点的二叉树,当它为一棵(完全)二叉树时具有最小高度,当它为一棵单支树时具有(最大)高度。
8、设无向图G的顶点数为n,图G最少有(n-1)条边,最多有(n(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
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,而树的度无此限制。
在二叉树中,一个结点的子树有左、右之分,不能互换位置。
而度为2的树则无此限制。
3、写出对如图所示二叉树进行先序遍历、中序遍历、后序遍历时得到的顶点序列。
答:
先序遍历序列:
ABDEC
中序遍历序列:
DEBAC
后序遍历序列:
EDBCA
程序设计基础作业4
一、选择题与填空题
1、D结构化程序流程图中一般包括三种基本结构,下述结构中哪一种不属于其基本结构(嵌套结构)
2、A程序设计语言的选择是顺利实施编程的重要基础,评价语言的因素很多,而其重要的选择依据是(语言的应用领域)
3、B在软件工程中,软件测试的目的是(发现软件错误)
4、E软件危机是软件产业化过程中出现的一种现象,下述现象中,(软件需求难以满足、软件开发成本提高、软件开发进度难以控制、软件质量不易保证)
5、C软件工程的出现主要是由于(软件危机的出现)
6、算法的四种基本操作是(逻辑运算、算术运算、数据比较、数据传送)
7、算法的控制结构给出了算法的执行框架,她决定了算法中各种操作的执行(次序)
8、算法的控制结构有三种基本形式:
(顺序结构、选择结构、循环结构)
9、评价算法的综合性能最主要的是算法的(正确性)和(运行效果)
10、算法的隐匿性效率包括两方面,算法的(时间)复杂度和算法的(空间)复杂度。
11、结构化程序设计方法的主要技术是(自顶而下)和(逐步求精)
12、软件生命周期包括软件的(定义)、软件的(开发)和(使用与维护)软件3个部分。
13、软件定义时期主要包括(可行性分析)和(要求分析)两个阶段。
14、软件开发时期是具体设计和实现在前一时期定义的软件,它由(软件设计阶段、实现阶段、测试阶段)3个阶段组成。
15、软件工程的目标是可概括为生产具有(正确)性、(可用)性,以及(开销合宜)的产品。
16、常见的软件开发模型由(瀑布模型、快速原型法模型、螺旋模型)
二、简答题:
1、什么是算法?
它有哪几个重要特性?
简述三种算法的描述形式和特点。
答:
算法是用于求解某个特定问题的一些指令的集合。
算法的特性:
1.有穷性2.确定性3.可行性4.输入性5.输出性
用自然语言描述的算法通俗易懂,而且容易掌握,但算法的表达与计算机的具体高级语言形式差距较大,通常是用于介绍求解问题的一般算法。
伪代码是一种介于自然语言与计算机语言之间的算法描述方法