重庆专升本计算机VF程序设计.docx
《重庆专升本计算机VF程序设计.docx》由会员分享,可在线阅读,更多相关《重庆专升本计算机VF程序设计.docx(39页珍藏版)》请在冰豆网上搜索。
重庆专升本计算机VF程序设计
VFO程序设计复习
1程序设计概述
一、程序的概念
概念:
具有一定功能的计算机能执行的指令的集合。
例1:
显示表XSDA可编写成如下命令序
SETDEFATOF:
\表
USEXSDA
LIST
CLOSEALL
例2:
求a=3,b=2,c=5求a+b-c=
程序代码如下:
a=3
b=2
c=5
x=a+b-c
x
二、常见的程序设计方法
1、 结构化程序设计(模块化)
结构化程序设计是一个面向过程的概念。
把一个实际问题分为两部分,即数据和过程。
通过动态的程序执行过程来对静态的数据进行处理,得出正确的结果。
由VFP命令和程序设计命令的组合,需编制和调试;
2、 面向对象的程序设计
3、结构化程序设计
它是面向过程程序设计的另一种描述,面向过程程序设计有如下特点:
①整个程序分为若干个模块,模块之间相衔接,且相对独立。
②第个模块只有一个入口和一个出口。
③第个模块都能单独执行,且在有限时间内执行完。
④采用自顶向下、逐步求精的方法。
三、程序三大基本结构
1、顺序结构:
执行是按命令出现的先后顺序执行。
2、分支结构:
按给定的条件成立与否来决定程序起向,分单向选择分支、双向选择分支和多路分支。
有以下两种
IF语句DOCASE
ENDIFENDCASE
3、循环结构:
程序的执行发生了自下而上的往复,某一程序段将重复执行。
有以下三种
DoWhileForSCAN
ENDDOENDFORENDSCAN
四、算法和流程图
算法:
解决某一问题的方法与步骤。
见教材例。
流程图:
算法的描述,除用自然语言描述外,计算机领域常用流程图(ANSI图和N-S图)描述。
见教材例。
例如:
乐山到成都怎么去
1、 解一元二次方程的算法。
Ax2+bx+c=0,求x
2、 求出1-100之间的质数。
X/=>2到SQRT(X)
2程序的建立和执行
一、程序的扩展名:
PRG
实质:
文本文件(ASCII编码)执行时,会产生编译文件FXP后让计算机执行。
二、程序文件的建立和编辑
1、命令方式:
MODICOMM程序名.PRG(.PRG可省)
2、菜单方式;
文件=>新建=>程序
3、项目管理器中建立的方法:
建立项目管理器=>新建程序
4、其他方法:
其它可编辑文本的软件:
记事本\写字板\WORD\其它程序编辑器
注意:
希望编写程序之前事先设置好默认目录(setdefato……)然后我们编写的程序就会自动存储在那个目录中。
例如:
setdefatod:
\ks
modicommTest(相当于是:
modicommD:
\ks\
三、程序的执行
1、命令方式
命令格式:
DO[盘符][路径]程序名
2、菜单方式:
“程序”菜单->“运行”命令
在“运行”窗口中输入被运行的程序文件名,即可运行程序。
四、VFP程序的分类:
数学类程序、涉及到表操作的程序
如果本程序是涉及到表操作的程序,那么:
1、在程序开始部分可以先加语句CLEAR和CLOSEALL
2、程序最后可以使用命令CLOSEALL
3、然后使用RETURN或CANCEL或QUIT
例:
找出并显示所有三好生
CLEAR
CLOSEALL
USE学生
LOCATEFOR三好生
DOWHILENOTEOF()
DISP
CONTINUE
ENDDO
CLOSEALL
RETUREN
3顺序程序设计与常用语句
一、程序设计中的常用语句
1、输入命令
(1)赋值命令
命令一:
STORE<表达式>TO<内存变量>
命令二:
<内存变量>=<表达式>
(2)交互式输入命令(注意:
输入数据是在程序执行的时候)
INPUT[提示信息]TO<内存变量>
ACCEPT[提示信息]TO<内存变量>
WAIT[提示信息][TO<内存变量>][TIMEOUT<等待时间>
说明:
①提示信息是C型,它会在屏幕上原样输出.
②WAIT命令的功能:
暂停程序执行,显示提示信息等待用户按键。
Wait命令中输入的只能是一个字符(C型)。
③Input适用于全部类型内存变量,输入时需要加定界符
④Accept只适用于C型,并且C型不加定界符
注意:
Input和accept在编写程序时语句都一样,只是执行程序(do)时,主屏幕上要求输入的类型和格式不同。
例1:
输入a、b、c的值,对2ax+b=c求x的值。
Clear
Input“现在计算2ax+b=c,请输入a的值:
”toa
Input“请输入b的值:
”tob
Input“请输入c的值:
”toc
x=(c-b)/(2*a)
’x的值为:
’,x&&比较使用’x的值为:
’+str(x,3)有何区别
return
例2、查找学生.dbf中的指定记录
clear
closeall
use学生
list
accept“请输入您想查找的姓名:
”toxm
Locatefor姓名=XM&&或命令SEEKXM
iffound()
DISP
else
’对不起,没有找到此人’
endif
list
closeall
Return
思考:
如果accept换成input,输入的时候该怎么输入
例3、删除学生.dbf中的指定记录
clear
closeall
use学生
list
input“请输入您想删除的记录号:
”tox
delerecox
wait“你想彻底删除这条记录吗(y/n)”toask
ifask=’Y’orask=’y’
pack
endif
list
closeall
注意区分交换方式和程序方式:
有的命令可以在两种状态下执行(例如:
刚才的输入命令),但有些命令只能在程序方式下执行(例如:
循环语句和分支语句)
(3)格式输入命令
格式一:
@行,列say提示信息
格式二:
@行,列say提示信息get变量
……
READ
格式三:
@行,列say提示信息get变量default常量
功能:
在屏幕指定的坐标位置上显示提示信息,然后通过READ命令激活GET子句的变量值。
说明:
①GET后的变量可以是内存变量或当前打开的数据文件中的字段变量,若是内存变量,应在执行该命令前对内存变量赋值,否则就必须使用default参数赋初值。
②输入的值类型应该与初值类型相同。
③READ命令与GET命令必须配合使用。
多个GET命令可以只用一个READ命令配合。
如果没有read则表示只显示内容,不输入值。
例1:
编写程序完成在学生.DBF中追加记录
CLEAR
USE学生
APPENDBLANK
@5,20SAY“学号”GET学号
@5,40SAY“姓名”GET姓名
@7,20SAY“性别”GET性别
@7,40SAY“出生年月”GET出生年月
@9,20SAY“入校总分”GET入校总分
@9,40SAY“三好生”GET三好生
READ
CLEAR
LIST
CLOSEALL
RETURN
例2:
编程求长方形的面积。
CLEAR
X=0&&X为内存变量,赋初值
Y=0
@1,5SAY“计算长方形的面积”
@2,5SAY“输入长方形的长:
”GETX&&第2行5列显示提示信息并等待输入
@3,5SAY“输入长方形的宽:
”GETY&&第3行5列显示提示信息并等待输入
READ&&从键盘输入X,Y的值
S=X*Y&&计算长方形的面积
“长方形的面积:
”,S&&显示长方形的面积
CANCEL
思考题1:
如将上述例1程序改为按照指定学号来修改记录应该怎样做(答案见课件后)
3、输出命令
⑴:
非格式输出命令
和
⑵:
格式化输出命令
@行,列say表达式
说明:
行和列都可以是表达式,常常可以使用函数ROW()和COL()
ROW()表示返回当前行的行号COL()表示返回当前列的列号
例1:
N=1
CH=“VF程序设计”
@N,26SAYSPACE(60)
@N+1,26SAYCH
例2:
循环输入值
clear
dimexh(10)
store0toxh
@10,10say'请输入数字:
'getxh
(1)
i=2
dowhilei<=10
@row()+1,10say'请输入数字:
'getxh(i)
i=i+1
enddo
read
listmemolikexh
4、其他程序运行命令
(1)终止程序执行命令
CANCEL、QUIT和RETURN
QUIT:
退出程序运行并且退出VisualFoxpro
CANCEL:
退出程序运行
RETURN:
返回上级程序调用点,如果是主程序就表示退出程序。
主程序可缺省此命令返回(结束),即默认使用了return
注意:
上述命令执行完后都会自动clearmemory。
但是如果有数据库和表打开不会自动关闭,所以使用数据库和表后在程序结束时我们常常需要加命令:
closeall
(2)清屏命令
CLEAR
(3)注释命令( NOTE、*和&&)
注释的含义:
程序员对程序语句功能的说明,执行程序的时候不执行注释中的内容,注释只起到一个对语句说明的目的。
一般复杂程序中应有30%以上的注释。
(4)TEXT语句:
原样输出(参考书143例)
(5)系统设置命令
set…on/off或者是set…to
1、设置会话状态
SETTALKON/OFF
2、设置跟踪状态
SETECHOON/OFF
3、设置打印状态
SETPRINTERON/OFF
4、设置定向输出状态
SETDEVICETOSCREEN
5、设置精确比较状态
SETEXACTTOON/OFF
6、设置日期格式
SETDATEANSI
7、色绘制系统提供的保护状态
SETSAFETYON/OFF
8、设置删除记录标记状态(掌握)
SETDELETEDON/OFF
功能:
屏蔽或处理有删除标记的记录
说明:
在命令格式中选择ON时,各命令当不对有删除标记的记录进行操作,但索引除外。
系统默认值为OFF
思考题1答案:
CLEAR
USE学生
ACCEPT"请输入需修改记录的学号:
"TONUM
LOCATEFOR学号=NUM
@5,20SAY"学号"GET学号
@5,40SAY"姓名"GET姓名
@7,20SAY"性别"GET性别
@7,40SAY"出生年月"GET出生年月
@9,20SAY"入校总分"GET入校总分
@9,40SAY"三好生"GET三好生
READ
CLEAR
LIST
CLOSEALL
RETURN
4顺序结构和分支结构
一、顺序结构
例1:
求圆的面积(公式S=ΠR2)
CLEAR
INPUT“请输入半径R的值:
”TOR
S=*R*R
”圆面积为:
”,S
CANCEL
二、分支结构(选择结构)
1、IF语句
(1)单向选择: