当前位置:文档之家› 二级vf结构化程序设计习题(总)1

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

二级vf结构化程序设计习题(总)1
二级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 表中的数据,把姓名为“王芳”的籍贯由“武汉”改为“上海”。

1) 输入年月,求该月的天数。

2) 编写根据当前日期显示当前季节的程序

3) 输入一个数字(0-6),用中英文显示星期几的信息

4)计算分段函数值:?????????>=+<<=-<<=+<<=+<-=)

10(27)105(35)53(130(53)0(12)(x x x x x x x x x x x f

4) 输入某学生成绩,判断成绩等级:100-90 为优秀,89-80为良好,79-70为中等,69-60为差,60分以下为不及格。

5) 计算分段函数:??

???≥+<≤<-=)10(52)101(2)1(52)(x x x x x x x f

6)

某百货公司为促销,采用购物打折扣的优惠办法,每位顾客一次购物:

1000元至1999元之间者,按九五折优惠。

2000元至2999元之间者,按九折优惠。

3000元至4999元之间者,按八五折优惠。

5000元以上者,按八折优惠。

编写程序,输入购物款数,计算并输出优惠价。

3循环结构程序设计

1) 求S=1+2+3+……+100

2) 求N !的值。 (N !=1*2*3*……*N )

3) 计算100之内的所有奇数之和。

4) 求100以内能被5整除的数的和

5) 输出100-150之间的不能被6整除的数(每行输出12个)

6) 求S=1!+2!+3!+ (10)

7) 求S=1+(1+2)+(1+2+3)+......+(1+2+3+ (100)

8) 计算1-3+5-7+…-99+101的值

9) 从键盘输入一个数,判断其是否为素数。(提示:只有1和它本身两个因子的自然数就是素数)

10) 输出从2000到2100年之间的所有闰年。

(提示:设N 为年份数,若N 满足如下两个条件之一,则N 为闰年。

? N 能被4整除,但N 不能被100整除

? 或者N 能被400整除。

11) 找出100到999之间的所有“水仙花数”,所谓水仙花数是指一个三位数,其中各位数字的立方和等于该数本身(如153=13+53+33)

a) 解题思路:只要求出该数百位、十位、个位的值,就很容易用上面的条件求出水仙

花数。

b) 百位:a=INT(i/10)

c) 十位:b=INT(i-100*a)/10)

d)个位:c=i-INT(i/10)*10

12)用∏/4≈1-1/3+1/5-1/7+….求∏的10-6为止

13)编写程序,通过如下公式计算出ex的值:(求到第20项,从第0项开始)

Ex=1+x/1!+x2/2!+x3/3!+…..

14)有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13……求出这个数列的前20项之和

15)求sn=a+aa+aaa+…+aaa…aa之值,其中a 是一个数字,如:2+22+222+2222+22222,此时n=5,n由键盘输入。

16)

17)

18)

19)

20)

21)编写程序,输出如下乘法表。

1×1=1

2×1=2 2×2=4

3×1=3 3×2=6 3×3=9

………………

……………………

9×1=9 9×2=18 ………………9×9=81

22)马克思曾做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中有男人、女人和小孩。每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。问男人、女人和小孩各有几人?

23)我国古代数学家张丘建在“算经”里提出一个数学史上有名的百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何?

24)爱因斯坦的阶梯问题。设有一阶梯,每步跨两阶最后剩1阶,每步跨3阶最后剩2阶,每步跨5阶最后剩4阶,每步跨6阶最后剩5阶,只有每步跨7阶时,正好到阶梯顶。问这个阶梯共有多少阶?

25)输出Fibonacci数列(斐波那契数列)1,1,2,3,5,8,13……的前30项

26)输出100—9999中所有个位数和百位数之和为9的所有整数,并求它们的和(每行输出10项)

27)验证陈景润研究的歌德巴赫猜想:任意大偶数为两个素数之和,并输出这两个素数(大偶数是指6开始的偶数)

28)分别用递归和非递归的算法,求两个正整数的最大公约数

29)在表BXCJ.DBF中,已经有数学、计算机、英语、物理四门课程的成绩,编写程序根据每人的平均成绩,在“总评”字段中填入对应的等级。等级评定办法是:90分以上为优,75~89为良,60~74为及格,60分以下为不及格。

30)编写程序,分别统计表XSQK.DBF中男、女同学的人数。

31)编写程序,使记录倒序逐条显示。

32)编写程序,使表GONGZI .DBF中每条记录根据职称情况自动进行工资普调。普调规定是:教授每人增加100元,副教授每人增加80元,讲师每人增加50元,助教每人增加30

元。

例1:邮件在100克以内,计费标准为每克0.05元,超出100克后,超出数每克为0.02元。

试编写程序计算邮费

方法1:根据邮件重量是小于等于100克还是大于100克,用不同的公式计算邮费。

在命令窗口内输入以下命令:

Modify command yf &&建立程序文件yf

&&在yf程序文件内输入以下命令,输入完成后保存,注意:不是在命令窗口内输入。

Input “请输入邮件重量:” to w&&由键盘输入的邮件重量保存在变量W内

If w<=100

F=w*0.05

Else

F=100*0.05+(w-100)*0.02

Endif

?”邮费为:”,f

以上程序保存后,在命令窗口中输入以下命令运行程序

do yf &&运行程序yf

方法2:先按第一个公式计算邮费,若发现邮件重量大于100克,再按第二个公式计算邮费。

在命令窗口内输入以下命令:

Modify command yf1 &&建立程序文件yf1

&&在yf1程序文件内输入以下命令,输入完成后保存,注意:不是在命令窗口内输入。

Input “请输入邮件重量:” to w&&由键盘输入的邮件重量保存在变量W内

F=w*0.05

If w>100

F=100*0.05+(w-100)*0.02

Endif

?”邮费为:”,f

以上程序保存后,在命令窗口中输入以下命令运行程序

do yf1 &&运行程序yf1

学习程序的建立和运行方法,比较以上两程序编写思路有何不同。

例2:编写test3.prg,请用户输入待查询人员的姓名,显示该人员基本情况

按照上面的程序建立方法建立程序文件test3.prg,把以下程序输入test3.prg程序中,不是命令窗口中。

close all &&关闭所有数据库及表文件

clear &&清除屏幕上的所有内容

use rcda in 0 &&在最小未使用的工作区中打开表rcda

select rcda &&选择打开rcda 表的工作区做为当前工作区

Accept “请输入待查人员姓名:” to name

Locate for 姓名=name &&查找所有姓名等于name 变量值的记录,name 的值取决于输入的值

If .not. eof() &&记录指针没有到达记录尾的话,即找到符合条件的记录的话 ?”姓名:”+姓名

?”性别:”+性别

?”出生日期:”+DTOC(出生日期,1)

else &&记录指针到达记录尾的话,即没有找到符合条件的记录的话 ?”查无此人!”

endif

以上程序保存后,在命令窗口中输入以下命令运行程序

do test3 &&运行程序test3

例3:输入两个整数,按由小到大的次序输出这两个数

这个问题的算法是作一次比较,若第一个数大于第二个数,则两个数进行对换后输出,若第一个数小于等于第二个数,直接输出。编写程序test2.prg 运行它。两个数对的换可通过一个中间变量来实现,如实现A ,B 对换,可让中间变量T =A 保存A 的值,再让A =B 把B 的值赋给A ,最后B =T 把中间变量T 保存的值赋给B 。

例4:输入3个数a ,b ,c ,要求按由小到大的顺序输出。

解此题的算法比上一题稍复杂一些,算法如下:

如果a>b 将a 和b 对换 (a 是a ,b 中的小者)

如果a>c 将a 和c 对换 (a 是a ,c 中的小者,因此a 是三者中最小者) 如果b>c 将b 和c 对换 (b 是b ,c 中的小者,也是三者中次小者)

然后顺序输出a,b,c 即可。编写程序test1.prg 运行它。

例5:计算分段函数值:?????????>=+<<=-<<=+<<=+<-=)

10(27)105(35)53(130(53)0(12)(x x x x x x x x x x x f

1、 从键盘输入10个数到数组a(10)中,显示数组中的所有元素值。

2、 设计一个程序可从键盘接收数据给数组a(3,4)所有元素赋初值,并计算所有数组元素的

累加和,打印结果。

3、由键盘输入指定数组元素个数N,再通过键盘输入给N个数组元素赋值,求N个数组

元素中的最小值

4、从键盘输入6个数到数组a(6)中,实现数组首尾元素的对调,即a(1)与a(6)对调,a(2)与

a(5)对调,a(3)与a(4)对调。

5、求M行M列方阵对角线上元素之和。通过键盘输入值到二维数组中。

6、编写程序显示rcda表中所出生日期是1956年出生人员的情况(可能多个人满足条件,用

Locate和continue编写)

7、编写程序统计rcda表中性别是男和女的人数各是多少

8、编写程序,从键盘输入一个姓名就能从rcda表查出有关此人的信息(考虑可能有重名的

人,用Locate和continue编写)

9、编写程序输出如下图形:

*

***

*****

*******

*********

10、

*

***

*****

*******

*********

分析:外循环遍历所有行,内循环遍历行中每个字符。

For i=1 to 5

输出若干空格

输出若干*

换行

I 行空格数字符*个数

11、编写程序输出如下图形:

******

******

******

12、编写程序输出如下图形:

*

**

***

****

13、打印出以下图案:

*

***

*****

*******

*****

***

*

12、编写一个程序,显示出如下所示的方框、椭圆、箭头和菱形*********

* *

* *

* *

* *

* *

* *

* *

*********

*

***

*****

*

*

*

*

*

*

13、输出如下图形

A

BBB

CCCCC

DDDDDDD

13、求S=1x2x3x……n,求S不大于30时最大的n值。

14、编写程序,输出1到100,每10个数一行。

15、打印杨辉三角形:杨辉三角形是形如

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

的三角形,其实质是二项式(a+b)的n次方展开后各项的系数排成的三角形

它的特点是左右两边全是1,从第二行起,中间的每一个数是上一行里相邻两个数之和。用C语言实现打印杨辉三角形的程序如下:

#include

main()

{ int i,j,n=0,a[17][17]={1};

while(n<1 || n>16)

{ printf("请输入杨辉三角形的行数,16行以内:");

scanf("%d",&n);

}

for(i=0;i

a[i][0]=1; /*第一列全置为一*/

for(i=1;i

for(j=1;j<=i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j]; /*每个数是上面两数之和*/

for(i=0;i

{for(j=0;j<=i;j++)

printf("%-5d",a[i][j]); //关于%-5d,格式化输出,5位,右对齐,不够补空格,超出削掉最高位

printf("\n");

}

}

程序设计基础实验指导书

说明 每个实验做完以后,按照实验报告模板格式完成相应的实验报告,存储为word 文档,最终提交的实验文档数量种类和命名原则如下例:(不按要求 者拒收) 目录结构图目录实验 1 内的文件种类和命名原则实验报告成绩将作为平时成绩的一部分计算到期末总成绩中。 实验报告严禁相互抄袭,一经发现抄袭和被抄袭者本次实验按零分计算!

实验1 C 的实验环境和C 语言的数据类型 1. 实验目的 ⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C 程序。 ⑵ 通过运行简单的C 程序,初步了解C 源程序的特点。 ⑶ 掌握C 语言数据类型, 熟悉如何定义一个整型、字符型和实型的变量,以及对它 们赋值的方法。 ⑷ 掌握不同的类型数据之间赋值的规律。 ⑸ 学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+ +)和自减(--)运算符的使用。 2. 实验内容和步骤 检查所用的计算机系统是否已安装了C 编译系统并确定他所在的子目录。 进入所用的集成环境。 熟悉集成环境的界面和有关菜单的使用方法。 输入并运行一个简单的、正确的程序。 3. 实验题目 输入下面的程序 # include "stdio.h" void main() { printf( "This is a c program.\n" ); } 程序无误,其运行的结果为:(请填写) ⑵ 输入并编辑一个有错误的 C 程序。 # include “ stdio.h ” void main() { int a,b,sum a=123; b=456; sum=a+b print( “ suism%d n” ,sum); } 运行后程序出现几处错误,请分别指出,并逐一更改: ⑶ 若k,g 均为int 型变量, 则下列语句的输出为, : # include "stdio.h" void main() { int k, g; k=017; g=111;

实验二结构化程序设计题目及答案

C语言实验二题目及答案 第一次课(2学时): 必作实验: 1.编写程序,输入一个正整数,计算并显示该整数的各位数字之和,例如,整型数1987 的各位数字之和是1+9+8+7,等于25。 2.编写一个程序,找出被2,3,5整除时余数均为1的最小的10个自然数。 选作实验: 3. 编写一个程序,它打印出个位数是6、且能被3整除的所有三位正整数及其个数。要求一行打印8个数据。 4. 求N内的勾股数(A2+B2=C2)A、B、C。 参考答案: 1、答: #include void main( ) { int i,sum; int k; printf("\nEnter a integer:"); scanf("%d",&i); sum=0; while(i!=0) { k=i%10; /*取数字的最后一位*/ sum=sum+k; /*累加到计数器中*/ i=i/10; /*去掉数字的最后一位*/ } printf("sum is %d\n",sum); } 2、答: 程序如下: #include void main ( ) { int i=1; int count=0; printf ("\n能被2,3,5整除时余数为1的最小10个自然数是:\n"); while (count<=10) { if ((i%2==1)&&(i%3==1)&&(i%5==1)) { count++;

printf ("%d\n",i); } i++; } } 3、【解】题目中要求打印的是三位数,且个位数必须是6。因此可以for循环,它的循环控制变量从106开始,直到996为止,增量为10(因此要保证个位数是6)。由于还要打印这种数据的总个数,因此需要设置一个用于计数的变量,比如是count。发现一个这样的数,它就加1。为了满足一行打印8个数据要求,可以利用计数器count,让这样的数一个个地打印下去。如果count %8= =0,就打印一个回车换行。具体程序如下: #inc lud e void ma in( ) { int cou nt=0,j; for(j=106;j<=996;j+=10) { if(j%3!=0) cont inu e; else { coun t++; prin tf("%d\t",j); if(c oun t%8==0) prin tf("\n"); } } prin tf("\n The co unt is %d\n",co unt); } 运行此程序,输出结果如下图所示。 4、【解析】 (1)分析题意,建立数据模型,设计算法。 该问题可用枚举法实现,直接用C语言描述:

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

软件工程随堂练习 一、选择题 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.可行性研究,需求分析,问题定义。

第4章 结构化设计方法

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

程序设计基础实验内容

实验指导 实验一 Visual C++开发环境使用 1.实验目的 (1)熟悉Visual C++集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include ; int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容 (1)整数相除 #include<> int main() {

int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include<> int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include<> int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&&a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的 (1)掌握格式字符使用的方法。 (2)掌握printf()进行格式化输出的方法。 (3)掌握scanf()进行格式化输入的方法。 2.实验内容 (1)输入如下程序,观察运行结果 #include<>

结构化程序设计方法

结构化程序设计方法 设计方法的产生 结构化程序设计由迪克斯特拉(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语句后,程序易于理解、易于排错、容易维护,容易进行正确性证明。

C语言程序设计基础实验报告3【VIP专享】

实验3 逻辑结构程序设计一、实验目的 1、了解C 语言表示逻辑量的方法(以0代表“假”,以非0代表“真” )。 2、学会正确使用逻辑运算符和逻辑表达式。 3、熟练掌握if 语句和switch 语句。 4、结合程序掌握一些简单的算法。 5、学习调试程序。 二、实验内容和步骤 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 1、改错题。给定程序MODI1.C 的功能是:对于如下函数: 用scanf 函数输入x 的值,求y 值。/* MODI1.C */#include void main() { int x, y; /***********found***********/ scanf ("%d", &x);if ( x < 1 )y = x; /***********found***********/else if ( 1 <=x&& x < 10 ) y = 2*x -1 ; else y = 3*x -11; printf("y = %d\n", y ); } 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! 修改程序后,运行程序,输入x 的值(分别为x<1、1≤x<10、x ≥10三种情况,如0.5、8、15),检查输 出的y 值是否正确。 ?? ? ??≥-<≤-<=)10(113) 101(12)1(x x x x x x y

2、从键盘输入某学生的考试成绩,要求输出成绩等级A 、B 、C 、D 、E 。学生的成绩可分成5个等级,90- 100分为A 级,80-89分为B 级,70-79分为C 级,60-69分为D 级,0-59分为E 级。要求在输入负数时, 给出错误提示。 ① 事先编好程序,要求分别用if 语句和switch 语句实现。运行程序,并检查结果是否正确。 ② 再运行一次程序,输入分数为负值(如-70),这显然是输入时出错,不应给出等级。修改程序,使之 能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输入数据错”,程序结束。 3、给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位 数字,例如:原数据为321,应输出123。(BX4.6) 分别用1位正整数、2位正整数、3位正整数、4位正整数、5位正整数作为测试数据进行测试。 除此之外,程序还应当对不合法的输入作必要的处理。例如:当输入负数时或输入的数超过5位(如123 456)数时。4、输入3 个整数,要求按由小到大的顺序输出。

实验项目四结构化程序设计_循环结构

《程序设计基础I》实验报告实验项目四:结构化程序设计_循环结构

一、实验目的及要求 (1)熟悉掌握用while语句,do-while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 (3)掌握多重循环的选择时机和使用方法; (4)掌握使用break和continue语句的方法。 二、实验设备(环境)及要求 使用Visual C++ 6.0;windows系列操作系统的环境。 三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目; 例项目名为:2013050201_***_01) 1.分别用while、do-while、for语句编程,求数列前20项之和:2/1,3/2,5/3,8/5,13/8······算法提示: 1)定义实变量sum、term、a、b、c,整变量i 2)初始化:sum=0,分子a=2,分母b=1 3)初始化:i(计数器)=1 4)计算第i项term =a/b 5)累加sum=sum+term 6)计算c=a+b,更新b= a,更新a=c 7)计数器加1,i++ 8)重复4、5、6、7,直到i>20 9)输出2位精度的结果

把每一次迭代结果输出,程序应做怎样的修改? 3输入正数n ,要求输出Fibonacci 数列的前n 项。1,1,2,3,5,8…… #include 开始 结束 term=0 sum=0 i=1 i ≤20? i=i+1 sum=sum+term term=term *i 输出sum 是 否 #include int main() {float term,sum;int i; term=1,i=1,sum=0; while(i<=20) {term=term*i; sum=sum+term; printf("sum=%.1f\n",sum); i++; } printf("sum=%f\n",sum); return 0; }

结构化程序设计习题答案

第三章结构化程序设计部分习题 一、选择题 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++)

(1)下列选项中不属于结构化程序设计方法的是

(1)下列选项中不属于结构化程序设计方法的是 A)自顶向下B)逐步求精C)模块化D)可复用 (2)下列选项中不符合良好程序设计风格的是() A) 源程序文档化B) 数据说明的次序要规范化 C) 避免滥用GOTO语句D)模块设计要高藕合、低内聚 (3)下面描述中,符合结构化程序设计风格的是______ A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (4)下面概念中,不属于面向对象方法的是 ( ) A. 对象 B. 继承 C. 类 D. 过程调用 (5)结构化程序设计主要强调的是 ( ) A. 程序的规模 B. 程序的易读性 C. 程序的执行效率 D. 程序的可移植性 (6)对建立良好的程序设计风格,下面描述正确的是( ) A.程序应简单、清晰、可读性好 B. 符号名的命名要符合语法 C. 充分考虑程序的执行效率 D. 程序的注释可有可无 (7)下面对对象概念描述错误的是( ) A.任何对象都必须有继承性 B.对象是属性和方法的封装体 C.对象间的通讯靠消息传递 D.操作是对象的动态性属性 (8)算法一般都可以用哪几种控制结构组合而成( ) A.循环、分支、递归 B.顺序、循环、嵌套 C.循环、递归、选择 D.顺序、选择、循环 (9)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送( ) A. 调用语句 B.命令 C.口令 D.消息 (10) 面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( ) A. 模拟现实世界中不同事物之间的联系 B. 强调模拟现实世界中的算法而不强调概念 C. 使用现实世界的概念抽象地思考问题从而自然地解决问题 D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考

实验项目三:结构化程序设计(选择结构)

实验项目三:结构化程序设计(选择结构)

《程序设计基础I》实验报告实验项目三:结构化程序设计_选择结构 学号1605120308 姓 名 何峰 专业、班 级 计算机 类03 实验时间2016年11月 30日星期三 实验 地点 机房6 指导教师孙爱蓉 一、实验目的及要求 (1)了解C语言表示逻辑量的方法(以0代表” 假”,以非0代表”真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。 (3)熟练掌握if语句和switch语句。 (4)结合程序掌握一些简单的算法。 (5)学习调试程序。 二、实验设备(环境)及要求 使用Visual C++ 6.0;windows系列操作系统的环境。 三、实验内容与步骤(要求以“学号_姓名_题号”为名建立项目;例项目名为:2013050201_***_01) 1.输入一个华氏温度f,要求输出摄氏温度c。公

式为c=5/9(f-32)。 输出要求有文字说明,取2位小数。 【算法提示】 华氏温度f 摄氏温度c 100.25 37.92 0.5 -17.50 23.78 -4.57 1) 定义实变量 c,f 2) 提示输入"Please enter f:" 3) 读入f 4) 根据公式 计算c 5) 打印两位精度的结果

2. 有一函数 用scanf 函输入x 的值,求y 值。 【算法提示】 1) 定义实变量x,y 2) 提示输入"Please enter x:" 3) 读入x 4) 判断x 所在的区间,对应出y 的计算公式并 求值(进一步细化) 5) 打印结果。 要求:每道题目分别画出程序流程图,书写程 结 开输输c=5/ #include int main() {float c,f ; printf(“plea se enter

《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语言是一种应用非常广泛的结构化高级程序设计语言,既适合编写应用软件,又适合编写系统软件。

程序设计基础实验内容

实验指导 实验一 Visual C++6.0开发环境使用 1.实验目的 (1)熟悉Visual C++6.0集成开发环境。 (2)掌握C语言程序的书写格式和C语言程序的结构。 (3)掌握C语言上机步骤,了解C程序的运行方法。 (4)能够熟练地掌握C语言程序的调试方法和步骤 2. 实验内容 输入如下程序,实现两个数的乘积。 #include (stdio.h); int main() { x=10,y=20 p=prodct(x,t) printf("The product is : ",p) int prodct(int a ,int b ) int c c=a*b return c } (1)在编辑状态下照原样键入上述程序。 (2)编译并运行上述程序,记下所给出的出错信息。 (3)再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。3.分析与讨论 (1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。分析讨论成功或失败的原因。 (2)总结C程序的结构和书写规则。 实验二数据类型、运算符和表达式 1.实验目的 (1)理解常用运行符的功能、优先级和结合性。 (2)熟练掌握算术表达式的求值规则。 (3)熟练使用赋值表达式。 (4)理解自加、自减运算符和逗号运算符 (5)掌握关系表达式和逻辑表达式的求值 2.实验内容

(1)整数相除 #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("d=%d , e=%d ,f=%d\n",d,e,f); return 0; } (2)自加、自减运算 #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\n",b); return 0; } (3)关系运算和逻辑运算 #include int main() { int a=5,b=8,c=8; printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c); printf("%d,%d\n",a<=b||a>=c,a==b||b==c); printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b)); return 0; } (1)在编辑状态下输入上述程序。 (2)编译并运行上述程序。 3.分析与讨论 (1)整数相除有什么危险?应如何避免这种危险? (2)分析a++和++a的区别。 (3)条件表达式和逻辑表达式的意义是什么,它们取值如何? (4)如何比较两个浮点数相等?为什么? 实验三格式化输入输出函数的使用 1.实验目的

计算机程序设计基础实验12个实验

《计算机程序设计基础》实验教学 大纲 课程编号:1303072 实验学时:24课程学分:3.5 课程类型:必修教学对象:全校各非计算机专业先修课程: ㈠实验目的与要求  本实验课程面向文法学院学生,通过本课程的学习与实验,使学生了解程序设计的一些基本概念,掌握计算机程序设计的一般方法,具备使用计算机解决实际问题的初步能力。 在实验教学中提倡“实验前要准备,实验中要认真,实验后要总结”;突出上机实践操作环节,强调在教师指导下的以学生为中心完成每次上机的具体内容和要求;对于普遍问题采用领练、辅导有机

结合的方法;尽量采用 CAI 辅助教学软件。 通过实验教学使学生能够建立计算机程序设计的基本概念;在简单的程序设计过程中掌握Visual Basic可视化设计的步骤,逐步搞清什么是对象、对象的属性以及事件和方法等重要概念。在此基础上,掌握程序设计的3种基本结构。 ㈡实验考核方式与成绩评定方法考核方式: 1.考核学生每次实验完成情况; 2.考核学生的计算机基本操作能力; 3.上机考试 成绩评定:学生应按照每次实验的要求,完成指定的实验任务,并按要求提交实验报告和实验文件,成绩评定由实验指导教师根据学生实验完成情况按照优秀、良好、中等、合格、不合格五个等级给出,实验成绩占20%计入学生课程成绩。  本学期需上交实验报告为三次,实验报告实验要求用本校实验报告册书写。要求填写学号、班级、姓名、实验指导老师、实验日期,报告内容包括实验名称、实验目的、实验内容、详细操作步骤及结果,最好写出自己的上机体会和总结。

㈢ 实验项目设置 根据教学内容和实验教学目的,共设4个实验项目: 项目一,认识Visual Basic,包括2个实验; 项目二,程序设计基础,,包括6个实验; 项目三,常用控件及界面设计,包括2个实验;项目四,文件管理,包括1个实验; 总的实验数为12个实验。 实验项目名称实验内容与学时分配总学时 数 认识Visual Basic 1.Visual Basic 程序设计环 境 2.窗体和最基 本控件 4 程序设计基础1.数据类型及函数 2.顺序程序设计 3.分支结构程序设计4.循环结构程序设计5.数组 6.过程 12 常用控件及界面设计1.常用标准控件 2.界面设计 4 文件管理1.文件管理2

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. 软件概要设计 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图的控制流程为、

程序的设计基础(VB)综合性实验1

实验一小学生四则运算测试器 一、实验目的 1.掌握面向对象程序设计语言的开发思想; 2.掌握结构化程序设计方法; 3.掌握标签、文本框、按钮的属性、事件和方法; 4.掌握常用的运算符、函数和表达式。 二、实验环境 Windows XP 操作系统 Visual Basic 6.0 编程环境 三、实验容 参考如下图所示,编制一个适合小学生练习的四则运算测试题程序。 具体要求如下: (1)窗体的标题为“小学生四则运算测试器”。

(3)窗体的从上到下,从左到右分别为标签1,文本框1,按钮1,按钮2,标签2。其中标签1,标签2默认标题容为空,文本框文本容为空,按钮1,按钮2默认标题容分别为“统计”和“结束”。 (4)标签2设置有边框线,背景颜色为白色。 (5)程序运行时,标签1自动产生小学生四则运算题目,其中操作数为1~9之间的随机整数,运算符为+、-、*、/四种符号之一。 (6)文本框1接受用户输入答案,输完答案后按键盘中的回车键,系统将题目和用户回答答案显示在标签2中,并在后面给出对或错的评判标志(注意:评判标志对齐在同一列输出)。同时产生新的题目,清空文本框1,以便用户继续回答新题目。 (7)单击按钮1,结束回答,标签1和文本框1变为灰色不可用状态,同时标签2显示“一共做了几题,作对几题,得分为多少”的提示;单击按钮2,结束程序。 (8)提高与拓展:每次运行程序,让产生的题目是真正的随机数据;为适合小学生练习,避免产生两数相减结果为负数的题目。 (9)运行效果如下图所示: 提示: 1.产生题目的算法思路: Private Sub Form_Load()

Randomize n1 = Int(Rnd * 10 + 1)‘产生操作数1,为1~10之间的随机整数 n2 =…‘产生操作数2,为1~10之间的随机整数 fhn = Int(Rnd * 4 + 1)‘产生一个1~4之间的随机整数,分别表示4种运 算符号 …‘多分支选择结构,根据fhn变量为1~4的值不同,分别表示四种运算符 Select Case fh Case "+" zq = n1 + n2 …‘根据运算符的不同,计算出正确答案,放在zq变量中 End Select ?Label1.Caption = n1 & fh & n2 & "="‘产生题目 End sub× 2.文本框输入答案后按回车键 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then‘当用户按了回车键是触发该事件 …‘当用户回答正确,显示题目和正确标注,回答错误,显示题目和错误标注,并给正 确或错误个数分别加1 Form_Load‘调用产生题目的事件代码,产生新的题目 … End If 四、实验过程 编写程序代码,进行上机验证和调试,得出正确结果。 五、知识点梳理: 1.运算符 算术运算符:+、-、*、/ 字符串连接运算符:& 2.函数 Int(N):产生一个不大于N的最大整数 Rnd:产生一个[0,1)之间的随机小数

C语言程序设计基础实验报告8

实验8 指针 一、实验目的 1、通过实验进一步掌握指针的概念,会定义和使用指针变量; 2、能正确使用数组的指针和指向数组的指针变量; 3、能正确使用字符串的指针和指向字符串的指针变量; 二、实验内容和步骤 1、改错 (1)指出下面程序错误的原因. main( ) { int x=10,y=5,*px,*py; px=py; px=&x; py=&y; printf("*px=%d,*py=%d,*px,*py); } #include void main() { int x=10,y=5,*px,*py; px=&x; py=&y; printf("px=%d,py=%d",*px,*py); } (2)下面的程序试图有如下运行结果: which style you want to : Capital ( c ) or uncapital ( a ):c ↙ COMPUTER Which sytle you want to : Capital ( c ) or uncapital ( a ) : u↙ computer 请调试下面的程序,使其有如上执行结果. #include main () { char s*;char c; printf("which style you want to :ln"); printf("capital ( c ) or uncapital(a):"); c=getchar(); …… if(c='c')strcpy(s,"COMPUTER"); else strcpy(s,"computer"); put(s); } #include #include #include void main() { char *s;char c; printf("which style you want to :\n"); printf("capital(c) or uncapital(a):"); c=getchar();

结构化程序设计

实验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 “程序错误”对话框

相关主题
文本预览
相关文档 最新文档