作业设计

自测练习题型包括:简答题,选择题,判断题,画图题,同型题,变式题,分析题,综合题等。这里以第1章为例说明学习自我练习作业部分:

 

1简答题

1)面向过程结构化编程的宗旨是什么?

 

2)模块又称什么?

 

3)模块和文件的关系是什么?

 

4)程序运行从哪个模块开始,至哪个模块结束?

 

5)单文档模型和多文档模型写程序都有哪三个部分?

 

6)用sqrt这个模块(函数),为什么前面必须加上#include<math.h>

 

7)程序编译之后生成的目标文件(后缀名为obj)为什么不能执行?

 

8)以下是求三个整形数平方和的部分代码。哪个写的更好,为什么?

第一种写法:主模块所在的文件:SquareSumMain.cpp

/********************************************************************

       created:   2008/02/08

       file base: SquareSumMain

       file ext:   cpp

       author:    李祎      

       purpose:  这是求三个整形数的平方和的主模块所有的文件

*********************************************************************/

int main(){

       int a,b,c,squareSum;//命名变量

cin>>a>>b>>c;//输入3个变量的值

       squareSum =getSquareSum(a,b,c);//调用函数求平方和,返回值给squareSum

       cout<< squareSum;//输出最后的平方和

       return 0;

}

 

第二种写法:主模块所在的文件:Test.cpp

int main(){

int a,b,c,d;

cin>>a>>b>>c

d=f(a,b,c);

cout<<f;

return 0;

}

选择更好方案并说明理由:__________________________________________________

 

9)请分析下面程序有哪几个部分组成, 及运行后的结果,代码如下:

int add(int a,int b);

 

#include <iostream.h>

int main(){

       int a,b,c;

       a=2;

       b=3;

       c=add(a,b);

       cout<<"两个变量的和是:"<<c;

       return 0;

}

 

int add(int a,int b){

       return a+b;

}

 

10)根据第(8)题中调用的getSquareSum 模块,原代码:squareSum =getSquareSum(a,b,c);画出getSquareSum的模块图(提示:模块图由输入、输出、模块名3部分组成)。

 

 

 

2选择题(可能是多选)

1)如果源文件是TwoMaxMain.cpp,经过编译后生成的文件是?(

               (A) TwoMaxMain.exe                 (B) TwoMaxMain.lnk

               (C) TwoMaxMain.obj                 (D) TwoMaxMain.dsw

2matlab属于哪种类型的软件?(

               (A)系统软件                             (B)应用软件

               (C)嵌入软件                             (D)语言软件

3)下列关于main模块的描述,正确的是?(

               (A)程序中必须有的模块            (B)可有可无

               (C)视程序大小可以有多个        (D)这是程序的开始模块,但不是终点

4 “成绩管理系统”需要编写若干自定义模块,如“输入分数模块”、“查询分数模块”、“显示分数模块”,那么这几个模块的归属下面哪个名称是合适的?(

               (A)Elephant                               (B)ScoreManager

               (C)Student                                 (D)StudentManager

5)以下哪种符号是C/C++程序的注释符号?(

               (A){}                                        (B)//

               (C)*/ /*                                     (D)remember

6)程序中使用cin输入数据,使用前必须加?(

               (A)#include <iostream.h>           (B)#include <cin.h>

               (C) #include “iostream.h”            (D)#include “cin.h”

7)建立控制台程序必须先建立一个项目,如果建立的项目名为SimpleProj.dsp,项目下建立3个文件:SimpleMain.cppInt.cppInt.h,编译连接后生成的可执行文件名为?(

               (A) SimpleProj.exe                    (B) SimpleProj.obj

               (C) SimpleMain.exe                   (D) SimpleMain.obj

8)下面哪些描述是正确的?(

               (A)输入、输出、模块功能决定了模块头部的写法

               (B)模块名通常是动词,因为它表达某一个具体执行的功能

               (C)使用一个模块,要在前面加上这个模块的说明清单

               (D)使用一个模块,必须要定义这个模块,否则不能使用

9)编写模块的思路应遵循解决简单问题的4个步骤,即按如下哪种步骤进行?(

               (A)模块功能、输入与输出、解决思路、算法步骤、模块代码

               (B)自顶而下、逐步求精、面向过程、结构编程

               (C)建立对象、发生关联、不断迭代

               (D)顺序、选择、循环

10)自定义模块格式如:int getMax(int a,int b,int c),请选择其相对应的模块结构图?(

               (A)

               (B)

               (C)

               (D)

3判断题

1)一个C/C++程序有且只能有一个主模块,即main模块。                          ()

2C++语言是面向对象语言,用C++语言设计的程序肯定是面向对象的。   ()

3)良好的编程风格包括命名法则、注释、一致性等。                                  ()

4)模块设计,指的就是函数设计。                                                              ()

5)模块从外观上看有两个部分组成:模块头、模块躯干。                           ()

6)模块设计必须明确接口部分的设计,即明确输入部分和输出部分。          ()

7)编译过程是将源码转成二进制代码的过程。                                             ()

8)高级语言是最擅长实时编程的第三代计算机语言。                                  ()

9)软件维护成本在当今计算机软件系统中所占的份量越来越重。                 ()

10C/C++每一行执行语句后面应加“;”。                                                   ()

 

4画图题,根据下面给定的条件画出相应的模块结构图,并给出模块头部格式

1)模块功能:根据给定的两个整数得到(返回)两个整数的平均值。

 

 

2)模块功能:根据长方体的长、宽、高(整数)得到(返回)这个长方体的体积。

 

 

3)模块功能:根据给定的球的半径(小数),得到(返回)球的表面积。

 

 

4)模块功能:在屏幕指定位置显示一段文字,即根据给定的位置(包括横坐标和纵坐标,坐标值为整数)、相应的字符串值,在模块内部显示至显示屏(注意:字符串类型现在没有学到,请用汉字“字符串类型”表达)。

 

 

5)模块功能:根据给定的华氏温度(小数)得到(返回)相应的摄氏温度(小数)。

 

 

5画图题,在主模块内部输入圆的半径(小数),求圆的周长和表面积,请画出相应的模型结构图。

 

 

6编程题(同型基础)

教材中给出了求2个整数的最大数的平方值模型模块图,以及程序代码。请改写成求两个小数(提示:小数用关键字float表示)的最大数的平方值。

[模型设计]

 

 

 

 

[模块设计]

 

 

 

 

 

 

 

 

[问题罗列]

 

 

7编程题(同型基础)

       编写程序,求2个整数的最小数的平方值(提示:整数用关键字int表示)。

[模型设计]

 

 

 

 

[模块设计]

 

 

 

 

 

 

 

 

 

[问题罗列]

 

 

8编程题(同型基础)

编写程序,根据给定的2个整数,求最大数和最小数,并显示输出。

提示部分:编写两个自定义模块分别求最大数和最小数。

 

[模型设计]

 

 

 

 

[模块设计]

 

 

 

 

 

[问题罗列]

 

9编程题(变式答辩)

       编写自定义模块,根据圆的半径(小数)返回圆的面积(提醒,只是编写一个模块,而非整个程序)。

[模块设计]

 

 

 

[问题罗列]

 

10编程题(变式答辩)

编写自定义模块:根据输入的整数x,求表达式f(x)=x3+3x+1的值。并编写主模块测试自定义模块的正确性。要求:用多文档解决方案。

[模型结构]

[模块设计]

1主模块main

       1)模块功能:求多项式的值

2)输入输出

形式:int main() 归属:PolynominalMain

3)解决思路

x代入给定的表达式,从而计算出相应的函数值。如x3,则函数值为33+3*3+1即函数值为37

4)算法提纲

第一步:输入整数x

第二步:通过自定义模块getPolyValue(x)求出相应的函数值,记为y

第三步:输出y

5)模块代码(请根据算法提纲给出相应的代码)

 

 

2自定义模块getPolyValue:(分模块功能、输入输出、解决思路、算法步骤、模块代码五个方面)

 

 

 

 

 

 

 

[问题罗列]

 

 

11编程题(变式答辩)

       编写程序,求两个整数的最大值的立方。要求:用多文档解决方案。

[模块设计]

 

 

 

 

 

 

 

 

 

[模型设计]

 

 

 

[问题罗列]

 

 

12思考下面的行为如何分成更细小的步骤(提高初级)

1)升旗仪式

2)写论文

3)炸碉堡

4)旅游策划