顺序结构程序设计与分支结构程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验九顺序结构程序设计与分支结构程序设计

实验目的:

1.熟悉程序的编辑环境以及程序文件的建立、运行与调试方法。

2.掌握VFP程序设计语言的特点和基本输入输出命令的使用。

3.掌握顺序结构程序的设计方法,解决简单的数值计算问题。

4.掌握分支程序的特点,学会正确使用逻辑运算符、逻辑表达式、比较表达式。

5.掌握单分支、双分支、多分支程序设计方法。

实验准备:

1.算法的概念、结构化程序设计的基本步骤。

2.建立、修改、删除、执行程序文件的命令。

3.交互式输入命令INPUT、ACCEPT、WAIT和输出语句?、??的使用。

4.选择结构的概念与类型,实现多重选择的方法。

5.选择结构语句IF-ELSE-ENDIF与DO CASE-ENDCASE的使用方法。

6.程序算法以及对应的程序结构化流程图。

实验内容

1.输入语句、输出语句的使用,其他辅助语句的使用。

(1) 使用?和??命令输出变量、常量、表达式的值,观察结果。

(2) 使用@ … SAY命令输出变量、常量、表达式的值,观察结果。

(3) 使用ACCEPT、INPUT、WAIT等命令输入变量的值。

2. 创建程序文件prog1.prg。在编辑窗口输入如下程序,保存并运行该程序,分析程序的输入、输出。

USE xsda

INDEX ON 姓名TAG sxm

ACCEPT '请输入学生姓名:' TO 姓名

SEEK M->姓名

DISP

? SQRT(入学成绩)

RETURN

3.输入圆的半径,计算面积、计算周长等。面向对象设计利用选项按钮选择运算实现该功能。

4.求一元二次方程ax2+bx+c=0的根。(对任意系数a,b,c)

5.编制程序。根据用户输入的考试成绩(百分制,若有小数则四舍五入),输出相应的等级。等级划分标准为:90-100分优秀;80-89分良好;70-79 分中等;60-69分及格;<60分不及格。

实验步骤:

1. 在VFP命令窗口中输入如下命令,按回车后,屏幕窗口出现命令执行结果。

? ″6+3=″,6+3&& 屏幕上显示6+3=9

?? ″4+5=″,4+5&& 紧接上个命令执行结果的后面显示4+5=9

@ 8,8 SAY ′7+2=′&& 在第8行8列的位置显示字符串7+2=

@ 8,12 SAY 7+2 && 在第8行12列的位置显示表达式结果9 ACCEPT′请输入学生姓名:′TO xm && 在屏幕上出现的提示后面输入不加定界符的学生

姓名

? xm && 显示所输入的学生姓名

USE student && 打开student.dbf表

INPUT '请输入学生姓名:' TO 姓名&& 输入带定界符的学生姓名,这里姓名为表的字段变量

? M->姓名&& 作为内存变量显示所输入的学生姓名

? 姓名&& 显示student.dbf表中当前记录姓名字段的值WAIT '请输入学生姓名:' TO 姓名&& 只能输入单字符,不能输入完整的学生姓名? M->姓名

2. 进入程序编辑窗口的两种方式:

(1) 命令方式。在命令窗口输入:MODIFY COMMAND prog1

(2) 菜单方式。在菜单栏中选择“文件”菜单中的“新建”选项,选定文件类型为“程序”,单击“新建文件”按钮,进入文件编辑窗口,如图9-1所示。

在程序编辑窗口输入如图9-1所示的程序,点击工具栏中“运行”按钮,显示如图9-2的执行结果。

图9-1 程序编辑窗口

图9-2 程序执行结果

3.分析:圆周长=2πR 圆面积=πR2。

(1) 面向过程程序设计。

INPUT "请输入圆半径:" TO R

L=2*PI()*R

S=PI()*R*R

? "圆周长=", L

? "圆面积=",S

4.分析:

(1) 根据一元二次方程的系数a、b、c的取值,有以下几种情况:

①当a≠0时,有两个根。设delta=b2-4ac:

当判别式delta>0时,有两个不同的实根。

当判别式delta=0时,有两个相同的实根。

当判别式delta<0时,有两个不同的虚根。

②当a=0,b≠0时,有一个根。

③当a=0,b=0时,方程无意义。

(2) 根据分析画出N-S流程图,如图9-3所示:

图9-3 N-S流程图(3) 面向过程程序设计。根据流程图,编写如下程序代码:

&& 求ax^2+bx+c=0的根

INPUT "请输入二次项系数a:" TO a

INPUT "请输入一次项系数b:" TO b

INPUT "请输入常数项c:" TO c

IF a<>0

delta=b^2-4*a*c

re=-b/2*a

IF delta>0

sb=SQRT(delta)/(2*a)

x1=re+sb

x2=re-sb

? "x1=",x1, " x2=",x2

ELSE

IF delta=0

? "x1=x2=",re

ELSE

xb=SQRT(-delta)/(2*a)

? "x1=", re, "+", xb,+"i"

? "x1=", re, "-", xb,+"i"

ENDIF

ENDIF

ELSE

IF b<>0

ygz= -c/b

? "x=", ygz

ELSE

? "方程无意义"

ENDIF

ENDIF

5. 利用多条件多分支结构来实现。

相关文档
最新文档