程序设计基础形考作业答案.docx

上传人:b****8 文档编号:29448069 上传时间:2023-07-23 格式:DOCX 页数:20 大小:24.33KB
下载 相关 举报
程序设计基础形考作业答案.docx_第1页
第1页 / 共20页
程序设计基础形考作业答案.docx_第2页
第2页 / 共20页
程序设计基础形考作业答案.docx_第3页
第3页 / 共20页
程序设计基础形考作业答案.docx_第4页
第4页 / 共20页
程序设计基础形考作业答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

程序设计基础形考作业答案.docx

《程序设计基础形考作业答案.docx》由会员分享,可在线阅读,更多相关《程序设计基础形考作业答案.docx(20页珍藏版)》请在冰豆网上搜索。

程序设计基础形考作业答案.docx

程序设计基础形考作业答案

《程序设计基础》

形考作业答案

广州市广播电视大学

程序设计基础作业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.输出性

用自然语言描述的算法通俗易懂,而且容易掌握,但算法的表达与计算机的具体高级语言形式差距较大,通常是用于介绍求解问题的一般算法。

伪代码是一种介于自然语言与计算机语言之间的算法描述方法。

它结构

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1