文档视界 最新最全的文档下载
当前位置:文档视界 › 第五章结构化程序设计基础练习题

第五章结构化程序设计基础练习题

第五章结构化程序设计基础练习题
第五章结构化程序设计基础练习题

第五章结构化程序设计基础

一、填空题

1、结构化程序设计有三种基本结构,即__________、__________和__________。

2、程序文件的扩展名是__________。

3、打开程序编辑窗口,建立或修改程序的命令是__________。

4、程序编辑完毕,可使用组合键__________保存程序。

5、__________命令可以清除屏幕上或窗口中显示的内容。

6、accept只接收字符型数据,输入的__________数据不必用__________括起来。

7、input命令可以用于接收__________数据,如果输入的是__________数据,则必须用引号括起来。

8、输出命令__________表示从屏幕下一行显示结果,__________表示从当前行的当前列显示结果。

9、使用__________命令将关闭对话功能,系统不再回显结果;使用__________命令打开对话功能,程序执行每条命令时都回显运行结果。

10、将依次逐条执行程序中的语句的程序结构称为__________。

11、在分支结构中,if和__________必须配对使用,else子句必须和__________子句一起使用,不可单独使用。

12、在循环结构中,__________子句是退出循环的子句;__________子句的功能是转回到循环的开始处,重新对循环条件进行判断。它们都可以放到循环体中的__________位置。

13、__________循环在当前选定的表中移动记录指针,并对每一个满足条件的记录执行一次循环体。

14、在一个循环的循环体中又包含另一个循环语句,这种结构称为__________。

15、对于两个具有调用关系的程序,称调用程序为__________,被调用的程序为__________。

16、在子程序中,至少要有一条__________语句,以便返回到调用它的主程序。

17、在任何程序模块中都可以使用的变量称为__________;程序中未加任何说明而直接定义使用的内存变量都是__________。

18、根据变量作用域的不同,可以分为__________变量、__________变量和__________变量。

19、当私有变量和上层模块中的变量同名时,可采用__________的方法,使子句程序中的变量与上层模块中的变量同名而不同值,格式为__________。

20、子程序与自定义函数的区别在于__________必须有一个返回值,而__________则不一定有返回值。

二、选择题

1、以下哪种方式不能运行程序文件()。

A、菜单方式下的“边编译边运行”方式

B、菜单方式下的“先编译再运行”方式

C、使用命令do <文件名>

D、使用命令modify command<文件名>

2、用于建立、修改、运行程序文件的VFP命令依次是()。

A、creat、modify、do

B、modi comm.、modi comm、do

C、creat、modify comm、run

D、modi comm.、modi comm、type

3、input、accept、wait三条命令中,可以接受字符的命令()。

A、只是accept

B、只有wait

C、可以是accept与wait

D、三者均可

4、input命令可以接收任何类型的数据,若为字符型,则()。

A、直接输入即可

B、只可接收一个字符

C、必须用单引号括起来,其他符号不可

D、必须用单引号、双引号或方括号括起来

5、执行命令:input“请输入数据:”to xyz时,可以通过键盘输入的内容包括()。

A、字符串

B、数值和字符串

C、数值、字符串和逻辑值

D、数值、字符串、逻辑值和表达式

6、VFP中的do case……endcase语句属于()。

A、顺序结构

B、循环结构

C、分支结构

D、模块结构

7、若已知循环次数,用()循环语句比较方便。

A、当型循环

B、步长型循环

C、表扫描型循环

D、循环嵌套

8、在永真条件do while .t.的循环中,为退出循环可以使用()。

A、loop

B、exit

C、close

D、quit

9、在“先判断后执行”的循环结构中,循环体执行的次数最少是()。

A、0

B、1

C、2

D、不确定

10、在for……endfor循环结构中,如省略步长则系统默认步长为()。

A、0

B、-1

C、1

D、2

11、循环结构中exit语句的功能是()。

A、放弃本次循环,重新执行该循环结构

B、放弃本次循环,进入下一次循环

C、退出循环,执行循环结构的下一条语句

D、退出循环,结束程序的运行

12、以下循环体共执行了()次。

X=10

Sum=1

Do while x>10 and not .t.

Sum=sum*x

X=x-1

Enddo

?sum

A、10

B、5

C、0

D、不确定

13、在VFP中,用于建立过程文件prog1的命令是()。

A、create prog1

B、modify command prog1

C、modify prog1

D、edit prog1

14、在程序中未加任何说明,而直接定义使用的内存变量是()。

A、全局变量

B、局部变量

C、私有变量

D、无属性

15、过程文件是由若干个过程组成的,每个过程又以()作为开始标志。

A、parameters

B、do <过程>

C、<过程名>

D、procedure <过程名>

三、读程序,写结果

1、x=1.5

Do case

Case x>2

Y=2

Case x>1

Y=1

Endcase

?”y=”,y

2、store 0 to a,b,c,d,n

Do while .t.

N=n+5

Do case

Case n<=30

A=a+1

Loop

Case n>=70

B=b+1

Exit

Other

D=d+1

Endcase

N=n+5

Enddo

?a,b,c,d,n

Return

3、m=0

N=0

Do while n>m

M=m+n

N=n-10

Enddo

?m

Return

4、p=0

K=1

Input “m=” to m

Do while p<=m

P=p+1

K=k+1

Enddo

?p

Return

如果输入的m值为5,程序的输出为:5、set talk off

Store 0 to x,y

Use 藏书表

Scan

If 单价>20 and 单价<25

Loop

Endif

If 单价<=20

X=x+1

Endif

Y=y+1

Endscan

?y

Set talk on

此程序实现的功能是:

6、clear

m=”书山有路勤为径”

n=””

do while len(m)>=2

n=n+substr(m,1,2)+space(2)

m=substr(m,3)

enddo

?n,len(n)

Return

7、m=1

Do while m<5

N=1

??m

Do while n<=m

tt=n+m

??tt

N=n+1

Enddo

?

M=m+1

Enddo

Return

8、dimension a(6)

For k=1 to 6

A(k)=20-2*k

Endfor

K=5

Do while k>=1

A(k)=a(k)-a(k+1)

K=k-1

Enddo

?a(1),a(3),a(5)

Return

9、dimension k(2,3)

I=1

Do while i<=2

J=1

Do while j<=3

K(I,j)=i*j

??k(I,j)

J=j+1

Enddo

?

I=i+1

Enddo

Return

10、**主程序z.prg

Set talk off

Store 2 to x1,x2,x3

X1=x1+1

Do z1

?x1+x2+x3

Return

**子程序z1.prg

X2=x2+1

Do z2

X1=x1+1

Return

**子程序z2.prg

X3=x3+1

Return to master

11、**main2.prg

Set talk off

Public a

A=1

C=5

Do sub2

?”返回主程序:a,b,c,d=”,a,b,c,d Set talk on

Return

***sub2.prg

Private c

A=a+1

Public b

B=2

C=3

D=4

?”过程中:a,b,c,d=”,a,b,c,d Return

四、编程题

1、输入一个年号,判断是否为闰年(判断闰年的条件是:年份能被400整除的,或年份能被4整除但不能被100整除的是闰年)。

2、任意输入一个整数,判断其奇偶性,并统计其个数及和。

3、从键盘输入10个数,然后找出其中的最大值和最小值。

4、计算1!+2!+……+10!的值。

5、输出所有的“水仙花数”。“水仙花数”指一个三位数,其各位数字的立方和等于该数本身,如153。

6、计算0~100之间所有偶数的和。

7、用循环语句编制程序,输出下列图形(要求*的行数由键盘输入)。

* * ****

*** *** ***

***** ***** **

******* ******* *

8、在员工表中查找指定姓名的记录,如果找到则显示该记录,没有找到则显示信息“查无此人”。

9、利用scan……endscan语句编写一个程序,统计工资表中基本工资大于等于9000元的职工人数。

10、用循环语句编程,显示藏书表中单价最高的书名、单价和出版社。

11、试用主、子程序调用的方法,编写一个求100之内所有素数的程序。

12、利用带参调子程序的方法计算梯形面积。

c语言第五章 选择结构程序设计(习题册答案)

第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x2&&x<3。 8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。 9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。 10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。 11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。 12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。 14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。 二、选择题 1、逻辑运算符两侧运算对象的数据类型(D)。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是(C)。 A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 3、下列运算符中优先级最高的是(B)。 A)< B)+ C)&& D)!= 4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表 达式是(C)。 A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

结构化学第五章题目学生用

第五章题目 1、三种原子○,◎,●排列成按虚线单位重复的点阵结构,试画出点阵素单位, 写出结构基元。 ●┄┄┄○┄┄┄● |◎●| ○●○ |●◎| ●┄┄┄○┄┄┄● 2、根据划分点阵正当单位的基本原则,试证平面点阵的四种类型中只有矩形单 位可以有带心和不带心两种型式,而其它均无带心的型式。 3、根据划分点阵正当单位的基本原则,试说明为什么四方晶系中没有四方F和 四方C。 4、有一AB2型立方面心晶体,问一个晶胞中可能含有多少个A和多少个B。 5、已知黄铁矿(FeS2,即“愚人金”)属立方晶系,请作图(取c与纸面垂直) 示出其晶面(100)、(010)、(110)、(210)取向,并由图中计算出各晶面间距相应的晶面交角。 6、给出在三个坐标轴上之截距分别为(2a,3b,c) ,(a,b,c) ,(6a,3b, 3c) ,(2a,-3b,-3c)的点阵面的指标。 7、论证在晶体结构中不可能存在五重旋转轴。 8、有一AB4型晶体,属立方晶系,每个晶胞中有1个A和4个B,1个A的 坐标是(1/2,1/2,1/2),4个B的坐标分别是(0,0,0);(1/2,1/2,0);(1/2,0,1/2);(0,1/2,1/2),试确定此晶体的点阵类型。 9、请在一正八面体的明矾晶体上确定立方晶胞a、b、c的取向,并在立方晶系 国际记号三个位相应的方向上找出正八面体的对称元素,写出正八面体点群的国际记号。 10、 -SiC为立方晶系晶体,晶胞参数a=435.8pm,晶胞中原子的分数坐标为 C:0,0,0;1/2,1/2,0;1/2,0,1/2;0,1/2,1/2 Si:1/4,1/4,1/4;1/4,3/4,3/4;3/4,1/4,3/4;3/4,3/4,1/4 (1)确定该晶体的结构基元和点阵型式; (2)说明碳原子和硅原子的配位数各是多少;

软件工程随堂练习(习题)

软件工程随堂练习 一、选择题 1.软件工程是()。 A、是结构化程序设计的指导方法 B、是软件开发技术和软件工程管理学为内容的学科 C、是指导计算机软件开发和维护的工程学科 D、是指导软件开发的工程方法。 2.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的()阶段。 A.各个 B. 前期 C.中期 D.后期 3.原型方法是用户和设计者之间的一种交互过程,选用于()系统。 A. 需求确定的 B. 需求不确定性较高的 C. 管理信息 D. 决策支持 4.要将一个复杂的系统分析清楚,常用方法是结构化分析方法,结构化分析方法就是()。 A、面向数据流自顶向下逐步求精的方法 B、由内向外进行分析的方法 C、先局部后整体的分析方法 D、使用IPO图形工具分析的方法 5.概要设计过程是() A. 先确定系统的实现方案,然后在结构设计阶段中确定软件的模块结构 B. 确定软件的模块结构,再设计出系统的所有程序和数据文件 C. 设计出系统的HIPO 图并对所有模块进行描述 D. 规划出系统的后期设计总体结构 6.程序的三种基本结构是()。 A、过程,子程序,分程序 B、顺序,选择,循环 C、递归,堆栈,队列 D、调用,返回,转移 7.结构化程序设计的一种基本方法是()。 A、筛选法 B、递归法 C、归纳法 D、逐步求精法 8.软件维护的四类维护活动是:() A.改正性维护,适应性维护,完善性维护和预防性维护。 B.适应性维护,完善性维护,抢救性维护和辅助性维护。 C.改正性维护,适应性维护,完善性维护和辅助性维护。 D.适应性维护,完善性维护,抢救性维护和预防性维护。 9.软件开发瀑布模型中的软件定义时期各个阶段依次是:() A.可行性研究,问题定义,需求分析。 B.问题定义,可行性研究,需求分析。 C.可行性研究,需求分析,问题定义。

C++程序设计基础课后答案 第五章

5.1 阅读下列程序,写出执行结果 1.#include < iostream.h > struct data { int n ; float score ; } ; void main() { data a[3] = { 1001,87,1002,72,1003,90 } , *p = a ; cout << (p++)->n << endl ; cout << (p++)->n << endl ; cout << p->n++ << endl ; cout << (*p).n++ << endl ; } 2.#include < iostream.h > struct employee { char name[ 20 ] ; char sex ; } ; void fun( employee *p ) { if( (*p).sex == 'm' ) cout << (*p).name << endl ; }

void main() { employee emp[5] = { "Liming", 'm', "Wangxiaoping", 'f', "Luwei", 'm' } ; int i ; for( i=0; i<3; i++ ) fun( emp+i ) ; } 3. #include < iostream.h > struct node { char * s ; node * q ; } ; void main() { node a[ ] = { { "Mary", a+1 }, { "Jack", a+2 }, { "Jim", a } } ; node *p = a ; cout << p->s << endl ; cout << p->q->s << endl ; cout << p->q->q->s << endl ; cout << p->q->q->q->s << endl ; } 4.#include < iostream.h > class A

第4章 结构化设计方法

第4章结构化设计方法 4.1 当你“编写”程序时你设计软件吗?软件设计和编码有什么不同吗? 在“编写”程序时并没有设计软件。软件设计包括概要设计和详细设计,编码是将详细设计中的过程描述转换成用程序设计语言来描述。 4.2 举出3个数据抽象的例子和可以用来操作这些数据抽象的过程抽象的一个例子。 抽象是忽略事物的细节,获取其本质特征的过程。抽象是一种重要的机制,使人们能够对复杂系统能够很好地理解、交流和推理。在软件领域,可以将抽象分为两类,即数据抽象和过程抽象。 在传统的结构化程序设计语言中,就提供了这两种抽象机制。 (1) 数据抽象:在所有的结构化程序设计语言中,用户都可以自定义抽象数据类型。如定义抽象数据类型Student(学生)、Course(课程)、ClassScoreList(班级成绩单)。 (2) 过程抽象:过程抽象也称为是基于方法的抽象。过程抽象使我们关心处理过程的名字和它能做什么,而无需知道如何完成所有实现细节。如求班级总平均分average(ClassScoreList)就是一个过程抽象。 在面向对象的程序设计语言中,抽象与封装的概念密切相关,数据抽象和相关的过程抽象被封装在类中,不同类中相似的过程抽象(方法)又可以进一步抽象,放在接口中。封装是保证事物有明确内外界限的机制。内部是受保护的,与外部事物相隔离。 4.3 应在什么时候把模块设计实现为单块集成软件?如何实现?性能是实现单块集成软件的唯一理由吗? 由于模块之间的调用降低了系统的运行速度,可能会导致满足不了用户的性能要求,这时就需要将软件设计为单块集成软件。但是在设计时,最好按照模块化的原则进行设计,只是没有显式的模块定义而已。这样的程序也具有模块化的优点。性能是实现单块集成软件的唯一理由。 4.4 是否存在一种情况:复杂问题需要较少的工作去解决?这样的情况对模块化观点有什么影响? 通过对复杂的问题进行合理分解,分解为若干个相对简单及独立的子问题,就可以用较少的工作去解决。这种情况能够较好地支持模块化的观点,每个子问题用单独的模块去解决,模块之间应该是高内聚、低耦合的,这样才能减少工作量,否则,虽然每个模块的工作简单了,但模块之间的联系很复杂,也增加了问题解决的难度和工作量。

C程序设计(第四版)_谭浩强_第五章_课后习题答案

循环结构程序设计 P115 5.1 用while计算1至100的合. #include int main() { int i=1,sum=0; while(i<=100) //对于需要运算的值,要么在运算前可以赋值,要么一开始要指定. { sum=sum+i; i++; } printf("The sum is %d .\n",sum); return 0; } #include int main() { int i=1,sum=0; do// do-while可以做的事,用while都可以做到. { //do-while先做一次执行,再判断条件,而while却是先做一个条件,再执行. sum=sum+i; i++; }while(i<=100); printf("The sum is %d .\n",sum); return 0; } P118 5.3 比较do-while与while的差别. #include

{ int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,正常,11的话,则sum仍然是0. while(i<=10) { sum=sum+i; i++; } printf("The sum of 1-10 is %d .\n",sum); return 0; } #include int main() { int i,sum=0; printf("Please input a number :"); scanf("%d",&i); //输入10以内,结果一样.输入11的话,先做操作,所以sum=11. do { sum=sum+i; i++; }while(i<=10); //此重点在于理解二者的差别. printf("The sum of 1-10 is %d .\n",sum); return 0; } #include int main() { int i,b=0,a,c; for(i=0;i<=1000;i++) { printf("Please input amount :"); //循环体内套有输出语句以及跳出语句. scanf("%d",&a); b=b+a; if(b>=100)

结构化学练习题带答案

结构化学复习题 一、选择填空题 第一章量子力学基础知识 1.实物微粒和光一样,既有性,又有性,这种性质称为性。 2.光的微粒性由实验证实,电子波动性由实验证实。 3.电子具有波动性,其波长与下列哪种电磁波同数量级 (A)X射线(B)紫外线(C)可见光(D)红外线 4.电子自旋的假设是被下列何人的实验证明的 (A)Zeeman (B)Gouy (C)Stark (D)Stern-Gerlach 5.如果f和g是算符,则(f+g)(f-g)等于下列的哪一个 (A)f2-g2;(B)f2-g2-fg+gf;(C)f2+g2;(D)(f-g)(f+g) 6.在能量的本征态下,下列哪种说法是正确的 (A)只有能量有确定值;(B)所有力学量都有确定值; (C)动量一定有确定值;(D)几个力学量可同时有确定值; 7.试将指数函数e±ix表示成三角函数的形式------ 8.微观粒子的任何一个状态都可以用来描述;表示粒子出现的概率密度。 常数h的值为下列的哪一个 (A)×10-30J/s (B)×10-16J/s (C)×10-27J·s (D)×10-34J·s 10.一维势箱中粒子的零点能是 答案: 1.略. 2.略. 7.略8.略10.略 第二章原子的结构性质 1.用来表示核外某电子的运动状态的下列各组量子数(n, 1, m, m s)中,哪一组是合理的 (A)2,1,-1,-1/2;(B)0,0,0,1/2;(C)3,1,2,1/2;(D)2,1,0,0。 2.若氢原子中的电子处于主量子数n=100的能级上,其能量是下列的哪一个: (A);(B)10000eV;(C)100eV;(D)10000eV; 3.氢原子的p x状态,其磁量子数为下列的哪一个 (A)m=+1;(B)m=-1;(C)|m|=1;(D)m=0; 4.若将N原子的基电子组态写成1s22s22p x22p y1违背了下列哪一条 (A)Pauli原理;(B)Hund规则;(C)对称性一致的原则;(D)Bohr理论 原子的基态为1s22s2p1,其光谱项为下列的哪一个 (A) 2P;(B)1S;(C)2D;(D)3P; 组态的光谱基项是下列的哪一个 (A)3F;(B)1D ;(C)3P;(D)1S; 电子的角动量大小为下列的哪一个 (A)h/2π;(B)31/2h/4π;(C)21/2h/2π;(D)2h/2π;

结构化程序设计习题答案

第三章结构化程序设计部分习题 一、选择题 1、设有程序段 int k=10; while(k=0) k=k-1; 则下面叙述中正确的是( ) (A) while循环执行10次 (B) 循环是无限循环 (C) 循环体语句一次也不执行 (D) 循环体语句执行一次 2、设有以下程序段 int x=0,s=0; while(!x!=0) s+=++x; cout<

while(n++<=2); cout< void main() { int a,b,t; cin>>a>>b; while( ①) { if(a>b) {t=a; a=b; b=t } cout<>a>>b; } } (A) !a=b (B) a!=b (C) a==b (D) a=b 9、下面程序的运行结果是( ) #include void main() { int i,j,x=0; for(i=0;i<2;i++)

《C语言程序设计》课后习题参考答案

高等院校计算机基础教育规划教材《C++程序设计》课后习题参考答案 ――武汉大学出版社 习题1参考答案 一、选择题 1. A 2. D 二、填空题 1.BASIC、FORTRAN、AL_GOL60和COBOL 2. 8 3.关键字 4. 编辑、编译、链接和运行 三、简答题 1.答: (1)C语言具有结构化的控制语句。C语言提供了结构化程序所必需的基本控制语句,实现了对逻辑流的有效控制。 (2)C语言具有丰富的数据结构类型。C语言除提供整型、实型、字符型等基本数据类型外,还提供了用基本数据类型构造出的各种复杂的数据结构,如数组、结构、联合等。C语言还提供了与地址密切相关的指针类型。此外,用户还可以根据需要自定义数据类型。 (3)C语言具有丰富的运算符。C语言提供了多达34种运算符,丰富的数据类型与丰富的运算符相结合,使C语言的表达力更具灵活性,同时也提高了执行效率。 (4)C语言简洁、紧凑,使用方便、灵活,程序书写自由,有9种控制语句。 (5)C语言既具有高级语言的功能,又具有低级语言的许多功能,通常被称为中级计算机语言。它既是成功的系统描述语言,又是通用的程序设计语言。 (6)C语言与汇编语言相比,可移植性好。 (7)功能强大。C语言具有低级语言的一些功能,所以,生成目标代码质量高,程序执行效率高。现在许多系统软件都用C语言来描述,可以大大提高了编程效率。 2.答:运行一个C语言程序,一般需要经过如下几个步骤:①上机输入并编辑源程序;②编译源程序;③与库函数连接;④生成可执行目标程序;⑤运行目标程序。 3.答: (1)操作系统的设计与实现。C语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

结构化程序设计方法

结构化程序设计方法 设计方法的产生 结构化程序设计由迪克斯特拉(E.W.dijkstra)在1969年提出,是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,这样使完成每一个模块的工作变单纯而明确,为设计一些较大的软件打下了良好的基础。 基本要点 1.采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。 2.使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。 (1)用顺序方式对过程分解,确定各部分的执行顺序。 (2)用选择方式对过程分解,确定某个部分的执行条件。 (3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。

(4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 3. 主程序员组的组织形式指开发程序的人员组织方式应采用由一个主程序员(负责全部技术活动)、一个后备程序员(协调、支持主程序员)和一个程序管理员(负责事务性工作,如收集、记录数据,文档资料管理等)三个为核心,再加上一些专家(如通信专家、数据库专家)、其他技术人员组成小组。 设计语言 C,FORTRAN,PASCAL,Ada,BASIC 设计方法的原则 自顶向下

程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。 逐步细化 对复杂问题,应设计一些子目标作为过渡,逐步细化。 模块化设计 一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。 限制使用goto语句 结构化程序设计方法的起源来自对GOTO语句的认识和争论。肯定的结论是,在块和进程的非正常出口处往往需要用GOTO语句,使用GOTO语句会使程序执行效率较高;在合成程序目标时,GOTO语句往往是有用的,如返回语句用GOTO。否定的结论是,GOTO语句是有害的,是造成程序混乱的祸根,程序的质量与GOTO语句的数量呈反比,应该在所有高级程序设计语言中取消GOTO语句。取消GOTO语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。

第五章程序设计基础习题及参考答案

第五章程序设计基础 一、选择题 1.在各类程序设计语言中,相比较而言,(D)程序的执行效率最高。 A.汇编语言 B.面向对象的语言 C.面向过程的语言 D.机器语言 2.下列关于程序设计语言的说法中正确的是(C)。 A.高级语言程序的执行速度比低级语言程序快 B.高级语言就是自然语言 C.高级语言与机器无关 D.计算机可以直接识别和执行用高级语言编写的源程序 3.在算法分析中,评判算法的好坏不必考虑(D)。 A.正确性 B.需要占用的计算机资源 C.易理解 D.编程人员的爱好 4. 一般认为,计算机算法的基本性质有(A)。 A.确定性、有穷性、可行性、输入、输出 B.可移植性、可扩充性、可行性、输入、输出 C.确定性、稳定性、可行性、输入、输出 D.确定性、有穷性、稳定性、输入、输出 5.计算机硬件唯一能直接理解的语言是(A)。 A.机器语言 B.汇编语言 C.高级语言 D.面向过程语言 6.结构化程序设计方法的3种基本结构是(C)。

A.程序、返回、处理 B.输入、输出、处理 C.顺序、选择、循环 D.I/O、转移、循环 7.在面向对象方法中,一个对象请求另一个对象为其服务的方式是发送(D)。 A.调用语句 B.命令 C.口令 D.消息 8.以下不是面向对象思想中的主要特征的是(D)。 A.多态 B.继承 C.封装 D.垃圾回收 9.(C)不是程序的3种翻译方式之一。 A.汇编 B.编译 C.结构化 D.解释 10.软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(A)阶段。 A.各个 B.前期 C.中期 D.后期 11.在软件生命周期中,工作量所占比例最大的阶段是(D)阶段。 A.需求分析 B.设计 C.测试 D.维护 12.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象是(C)的一种表现。 A.软件工程 B.软件周期 C.软件危机 D.软件产生 二、填空题 1.C++语言运行性能高,且与C语言兼容,已成为当前主流的面向(对象)的程序设计语言之一。 2.对象的基本特点包括(唯一性)、分类性、多态性、封装性和模块独立性5个特点。

结构化设计习题

第四章结构化设计习题(一)名词解释 1. 软件概要设计 2. 模块 3. 模块化 4. 抽象 5. 信息隐蔽 6. 模块独立性 7. 耦合性 8. 数据耦合 9. 标记耦合 10. 控制耦合 11. 公共耦合 12. 内容耦合 13. 内聚性 14. 偶然内聚 15. 逻辑内聚 16. 时间内聚 17. 通信内聚 18. 顺序内聚 19. 功能内聚 20. 软件结构图 21. 结构化设计 22. 变换流 23. 事务流 24. 详细设计 25. 流程图 26. 过程设计语言 (二)填空题

1. 软件结构的设计是以为基础的。 2. 软件设计阶段,是把软件“”的逻辑模型变换为“”的物理模型。 3. 数据库的“概念设计”与“逻辑设计”分别对应于系统开发中的“”与“”,而数据库的“物理设计”与模块的“”相对应。 4. 概要设计文档主要有、、和。 5. 模块具有、、和几种基本属性。 6. 模块化指解决一个复杂问题时逐层把软件系统划分成若干的过程。 7. 衡量软件的独立性有两个定性的度量标准,即和。 8. 模块之间联系越紧密,其就越强,模块的则越差。 9. 模块的耦合性由低到高分为、、、、和。 10. 数据耦合传递的是,标记耦合传递的是,控制耦合传递的是。 11. 软件结构往往用结构的图形来表示。软件结构图是软件系统的 结构。 12. 面向数据流的设计又称,它是以需求分析阶段产生的为基础,按一定的步骤映射成软件结构。 13. 数据流图一般可分为和两类。 14. HIPO图中图用于描述软件总的模块层次结构,图用于说明模块间的信息传递及模块内部的处理。 15. 详细设计也称,它是软件设计的第二阶段,主要确定每个的具体执行过程。 16. 在详细设计阶段,需要对处理过程的和数据库的结构做评审。 17. 任何程序都可由、和 3种基本控制结构构造。这3种基本结构的共同点是、。 18. 详细描述处理过程常用3种工具:、、和。 19. 程序流程图又称,它是历史最悠久、使用最广泛的一种描述程序 结构的工具。 20. 结构化流程图要求3种基本控制结构和而成,不能有相互交叉的情况。 21. PAD图是一种展开的二维结构,PAD图的控制流程为、

Java结构化程序设计

. 昆明理工大学信息工程与自动化学院学生实验报告 ( 2012—2013学年 第 一 学期 ) 课程名称:Java 程序设计 开课实验室:442 2012年 11月 7 日 一、实验目的及内容 目的:掌握和巩固Java 结构化程序设计的概念、方法。 内容: 1. (使用&&、||、^运算符)编写一个程序,该程序让用户输入一个整数,然后判断该整数是否能 同时被5和6整除;是否能被5或6整除;是否能被5或6整除,但不能同时被5和6整除。 例如:在命令行模式下该程序运行可呈现如下结果(注,也可以图形界面方式实现) Enter an integer: 10 Is 10 divisible by 5 and 6? false Is 10 divisible by 5 or 6? true Is 10 divisible by 5 or 6, but not both? true 2. 编写一个程序(利用循环)计算下面式子: 3. 写一个函数,该函数返回一个数组中值最小的元素的索引值,若该数组中值最小的元素多于一 个,则返回索引最小的那个,该函数的声明如下所示,在main 函数中调用并测该函数。 public static int indexOfSmallestElement(int[] list) 二、要求 1. 给出上述程序的流程图、代码和测试结果。 100 999998...433221+++++

内容一: 流程图: .

实验代码 import java.util.Scanner; public class Class1 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("Enter an integer:"); int numble=input.nextInt(); boolean numble1=(numble%5==0)&&(numble%6==0); boolean numble2=(numble%5==0)||(numble%6==0); boolean numble3=(numble%5==0)^(numble%6==0); System.out.println("is "+numble+" divisible by 5 and 6?"+numble1); System.out.println("is "+numble+" divisible by 5 or 6?"+numble2); System.out.println("is "+numble+" divisible by 5 or 6,but not both?"+numble3); } } 运行结果: .

结构化学-第五章习题及答案

习 题 1. 用VSEPR 理论简要说明下列分子和离子中价电子空间分布情况以及分子和离子的几何构型。 (1) AsH 3; (2)ClF 3; (3) SO 3; (4) SO 32-; (5) CH 3+ ; (6) CH 3- 2. 用VSEPR 理论推测下列分子或离子的形状。 (1) AlF 63-; (2) TaI 4-; (3) CaBr 4; (4) NO 3-; (5) NCO -; (6) ClNO 3. 指出下列每种分子的中心原子价轨道的杂化类型和分子构型。 (1) CS 2; (2) NO 2+ ; (3) SO 3; (4) BF 3; (5) CBr 4; (6) SiH 4; (7) MnO 4-; (8) SeF 6; (9) AlF 63-; (10) PF 4+ ; (11) IF 6+ ; (12) (CH 3)2SnF 2 4. 根据图示的各轨道的位向关系,遵循杂化原则求出dsp 2 等性杂化轨道的表达式。 5. 写出下列分子的休克尔行列式: CH CH 2 123 4 56781 2 34 6. 某富烯的久期行列式如下,试画出分子骨架,并给碳原子编号。 0100001100101100001100 001101001 x x x x x x 7. 用HMO 法计算烯丙基自由基的正离子和负离子的π能级和π分子轨道,讨论它们的稳定性,并与烯丙基自由基相比较。

8. 用HMO法讨论环丙烯基自由基C3H3·的离域π分子轨道并画出图形,观察轨道节面数目和分布特点;计算各碳原子的π电荷密度,键级和自由价,画出分子图。 9. 判断下列分子中的离域π键类型: (1) CO2 (2) BF3 (3) C6H6 (4) CH2=CH-CH=O (5) NO3- (6) C6H5COO- (7) O3 (8) C6H5NO2 (9) CH2=CH-O-CH=CH2 (10) CH2=C=CH2 10. 比较CO2, CO和丙酮中C—O键的相对长度,并说明理由。 11. 试分析下列分子中的成键情况,比较氯的活泼性并说明理由: CH3CH2Cl, CH2=CHCl, CH2=CH-CH2Cl, C6H5Cl, C6H5CH2Cl, (C6H5)2CHCl, (C6H5)3CCl 12. 苯胺的紫外可见光谱和苯差别很大,但其盐酸盐的光谱却和苯很接近,试解释此现象。 13. 试分析下列分子中的成键情况,比较其碱性的强弱,说明理由。 NH3, N(CH3)2, C6H5NH2, CH3CONH2 14. 用前线分子轨道理论乙烯环加成变为环丁烷的反应条件及轨道叠加情况。 15. 分别用前线分子轨道理论和分子轨道对称性守恒原理讨论己三烯衍生物的电环化反应 在加热或者光照的条件下的环合方式,以及产物的立体构型。 参考文献: 1. 周公度,段连运. 结构化学基础(第三版). 北京:北京大学出版社,2002 2. 张季爽,申成. 基础结构化学(第二版). 北京:科学出版社,2006 3. 李炳瑞.结构化学(多媒体版).北京:高等教育出版社,2004 4. 林梦海,林银中. 结构化学. 北京:科学出版社,2004 5. 邓存,刘怡春. 结构化学基础(第二版). 北京:高等教育出版社,1995 6.王荣顺. 结构化学(第二版). 北京:高等教育出版社,2003 7. 夏少武. 简明结构化学教程(第二版). 北京:化学工业出版社,2001 8. 麦松威,周公度,李伟基. 高等无机结构化学. 北京:北京大学出版社,2001 9. 潘道皑. 物质结构(第二版). 北京:高等教育出版社,1989 10. 谢有畅,邵美成. 结构化学. 北京:高等教育出版社,1979 11. 周公度,段连运. 结构化学基础习题解析(第三版). 北京:北京大学出版社,2002 12. 倪行,高剑南. 物质结构学习指导. 北京:科学出版社,1999 13. 夏树伟,夏少武. 简明结构化学学习指导. 北京:化学工业出版社,2004 14. 徐光宪,王祥云. 物质结构(第二版). 北京:科学出版社, 1987 15. 周公度. 结构和物性:化学原理的应用(第二版). 北京:高等教育出版社, 2000 16. 曹阳. 结构与材料. 北京:高等教育出版社, 2003 17. 江元生. 结构化学. 北京:高等教育出版社, 1997 18. 马树人. 结构化学. 北京:化学工业出版社, 2001 19. 孙墨珑. 结构化学. 哈尔滨:东北林业大学出版社, 2003

结构化程序设计

实验5结构化程序设计 【实验目的】 1.掌握建立、修改、运行和调试程序文件的方法。 2.掌握顺序结构的程序设计方法。 3.掌握分支结构的程序设计方法。 4.掌握循环结构的程序设计方法。 5.掌握子程序调用的程序设计方法。 【实验内容】 1.练习建立、修改、运行和调试程序文件。 2.练习顺序结构的程序设计。 3.练习分支结构的程序设计。 4.练习循环结构的程序设计。 5.练习子程序的程序设计。 【实验要求与步骤】 【实验5.1】练习建立、修改、运行和调试程序文件。 实验分析 建立、修改和执行程序可以使用主菜单、工具栏和命令3种方法来实现;其中命令:MODIFY COMMAND <程序文件名>用来建立和修改程序;命令:DO <程序文件名>用来执行程序。 (1)建立程序文件。 操作步骤 ①启动Visual FoxPro。 ②在系统菜单中,选择【文件】|【新建】命令,在弹出的对话框中选择“程序”单选按钮,然后单击“新建文件”按钮,打开程序文件编辑窗口,如图1-5-1所示。 ③输入程序,如图1-5-2所示。 ④选择系统【文件】|【保存】命令,或单击工具栏中的“保存”按钮,弹出“另存为”对话框。 ⑤选择保存路径,输入新建的程序文件名。 ⑥关闭程序文件编辑窗口。

Visual FoxPro 程序设计上机指导 ·59· (2)修改程序文件。 操作步骤 ① 在系统菜单中,选择【文件】|【打开】命令,在弹出的“打开”对话框中选定文件类型为程序,然后选择程序文件所在文件夹,鼠标选中要打开的程序文件,单击“确定”按钮,如图1-5-3所示。 图1-5-3 选择要打开的程序文件 ② 进入程序文件编辑窗口后,修改程序。 ③ 存盘退出程序文件编辑窗口。 (3)运行和调试程序。 操作步骤 ① 在系统菜单中,选择【程序】|【运行】命令,在弹出的“运行”对话框中选择程序文件所在文件夹,鼠标选中要运行的程序文件,单击“运行”按钮,如图1-5-4所示。 ② 如果程序没有语法错误,则系统运行所指定的程序文件。 ③ 如果程序中,存在语法错误,则系统显示“程序错误”对话框,在对话框中提示用户并给出错误信息,将程序编辑窗口中的错误语句高亮显示,如图1-5-5所示。 ④ 根据需要,在“取消”、“挂起”、“忽略”、和“帮助”4个按钮中进行选择,每个按钮中的英文字母表示各个按钮所对应的按键。选择后回到程序编辑窗口。 ⑤ 修改程序。 ⑥ 存盘后重复上述程序调试操作,直到程序正确。 技巧解析 程序中的错误可以分为语法错误和逻辑错误,通常在Visual FoxPro 中,只能找到语法错误,在程序调试过程中,还要注意消除逻辑错误。 图1-5-4 选择要运行的程序 图1-5-5 “程序错误”对话框

C++程序设计基础课后答案--第五章教学提纲

C++程序设计基础课后答案--第五章

5.1 阅读下列程序,写出执行结果 1.#include < iostream.h > struct data { int n ; float score ; } ; void main() { data a[3] = { 1001,87,1002,72,1003,90 } , *p = a ; cout << (p++)->n << endl ; cout << (p++)->n << endl ; cout << p->n++ << endl ; cout << (*p).n++ << endl ; } 2.#include < iostream.h > struct employee

{ char name[ 20 ] ; char sex ; } ; void fun( employee *p ) { if( (*p).sex == 'm' ) cout << (*p).name << endl ; } void main() { employee emp[5] = { "Liming", 'm', "Wangxiaoping", 'f', "Luwei", 'm' } ; int i ; for( i=0; i<3; i++ ) fun( emp+i ) ; } 3. #include < iostream.h > struct node { char * s ;

node * q ; } ; void main() { node a[ ] = { { "Mary", a+1 }, { "Jack", a+2 }, { "Jim", a } } ; node *p = a ; cout << p->s << endl ; cout << p->q->s << endl ; cout << p->q->q->s << endl ; cout << p->q->q->q->s << endl ; } 4.#include < iostream.h > class A { public : int f1(); int f2(); void setx( int m ) { x = m ; cout << x << endl; }

第五章程序设计基础

第五章程序设计基础 一、单项选择题(请在()内填写答案) ()1. 以下哪种类型语言的表达方式更接近人类自然语言__C____。 A: 汇编语言B: 机器语言C: 高级语言D: 低级语言 ()2. 汇编程序的任务是___A___。 A:将汇编语言编写的程序转换为目标程序 B: 将汇编语言编写的程序转换为可执行程序 C: 将高级语言编写的程序转换为汇编语言程序 D: 将高级语言编写的程序转换为可执行程序 ()3. 结构化程序设计是一种面向__A____的设计方法。 A: 过程B: 模块C: 数据结构D: 程序 ()4. 就程序设计方法和技术的发展,程序设计主要经历了面向过程的结构化程序设计和___B___程序设计两个基本点阶段。 A: 面向过程B: 面向对象C: 集体化D: 面向用户 ()5. 下述不是结构化方法的是__C____。 A: 首先考虑总体,后考虑细节 B: 对复杂问题,应设计一些子目标作为过渡,逐步细化 C: 对现实生活中的实体抽象成类 D: 将程序要解决的任务分解为一个一个的目标,再对目标具体分解为小目标,将每一个目标称为模块 ()6. __A____不是高级语言。 A: 汇编语言B: Java C: ARGOL D: PROLOG ()7. 在面向对象的程序设计中,类将数据和___B___封闭在一起。 A: 文件B: 方法C: 控制结构D: 程序 ()8. 以下___D___不是面向对象的特征。 A: 多态性B: 方法C: 控制结构D: 程序 ()9. 结构化程序设计常用的基本结构是___A___。 A: 顺序、选择、循环B: 递归、嵌套、调用 C: 过程、子过程、主程序D: 顺序、转移、调用 ()10. 下面关于对象的叙述,错误的是___D___。 A: 具有属性(数据)和方法的实体称为对象 B: 对象是现实世界中实际存在的一个事物 C: 桌子可以是一个对象 D: 对象不可以是无形的 ()11. 程序设计要遵循一定的开发方法及思想,以下有一个不是程序设计过程中应该遵循的开发方法,它是___D___。 A: 结构化设计方法B: 模块化程序设计方法 C: 面向对象的程序设计方法D: 数据结构优先原则 ()12. 队列的最主要特点是___A___。 A: 先进先出B: 后进先出C: 后进后出D: 随意进出 ()13. 栈的最主要特点是___B___。 A: 先进先出B: 后进先出C: 后进后出D: 随意进出 ()14. 下面结论中___B___是错误的。 A: 二叉树是树B: 二叉树的左右子树的位置可以颠倒 C: 可以使用二叉树的思想对数值进行排序 D: 可以采用多链表存储二叉树

二级vf结构化程序设计习题(总)1

1. 进一步理解数据类型、常量、变量、表达式和函数的含义,掌握各种运算符的使用方法、 常用函数的功能。 2. 能够根据程序要求使用不同的程序控制结构编写程序 实验内容: 1. 顺序结构程序设计 (1) 输入两个数,做加法运算。 (2) 输入两个数,交换位置 (3) 从键盘输入三个数并分别存入变量a,b,c 中,求它们的平均值 (4) 从键盘输入一个小写字母,输出其对应的大写字母 (5) 输入一个华氏温度,根据公式 c=5/9(f-32),计算并输出摄氏温度。 (6) 输入一个三位数,将它反向输出,如输入127,输出应为721 (7) 将从键盘输入的数值型十进制数分离为整数部分和小数部分后输出,如输入 123.45,输出为123.45=123+0.45 (8) 编程求以a,b,c 为边长的三角形的面积,提示:))()((c s b s a s s area ---= 其中:s=(a+b+c)/2;a=3.5; b=5.4; c=4.3 (9) 已知a=2.5,b=9.4,c=4.3,编程求02=++c bx ax 提示: a ac b b x 2422 ,1-±-=) (10) 输出数据库中某一条学生信息 (11) 查找并显示xsqk 中某学生的有关情况。 2. 分支结构结构程序设计 单分支或双分支结构 1) 从键盘输入一个数,若为正数则输出,非正数则结束。(单分支) 2) 从键盘输入两个整数,按从小到大的顺序输出。(单分支) 3) 从键盘输入3个数,按从小到大的顺序输出 4) 从键盘输入一个数,判断是奇数还是偶数。(双分支) 5) 计算运费。车站从甲地到乙地托运行李,收费规定:若行李重量不超过50公斤,每 公斤收费0.5元;若行李重量超过50公斤,其超重部分加收0.4元。编写计算运费的程序。 6) 判断某一年是否是闰年 提示:设N 为年份数,若N 满足如下两个条件之一,则N 为闰年。 ? N 能被4整除,但N 不能被100整除 ? 或者N 能被400整除。 7) 判断一个5位正整数是否是回文数(所谓回文数,是指其各位数字左右对称的整数, 如181,6336,75257) 8) 从键盘输入一个待查学生的学号,在表XSQK.DBF 中查找。若能找到,则显示该记 录,否则,显示信息“该学号不存在”。 9) 修改 xsqk 表中的数据,把姓名为“王芳”的籍贯由“武汉”改为“上海”。

相关文档
相关文档 最新文档