-
在VFP考试中,你可以把程序分为两种
-
第一种是需要结合表呀,数据库呀,这些数据进行操作的,不仅需要了解语句的语法,还需要知道对表和数据库进行操作的相关命令(提一个要求把表里面符合要求的数据显示出来呀,显示住户信息呀,导游路线呀,统计双十一消费呀,给期末成绩排个顺序呀,删除一些重复数记录呀之类的);
-
而另一种则是单纯地让你进行数学运算,只需要单纯使用各种语法就OK了(比如让你给一些数字排个从大到小的顺序呀,求1-100的和呀、阶乘呀,在屏幕上画一个三角形呀、五角星呀、九九乘法表呀这些之类的);
-
下面是两种程序都要有的东西,是固定的
set talk off /*关闭过程显示*/ clear /*在代码执行之前先清屏,让我们的屏幕只显示现在运行得程序的结果*/ /****************/ /*这里面是代码块*/ /****************/ set talk on /*打开过程显示,默认状态是打开的,所以这一句的意思是恢复到默认状态*/ 复制代码
-
现在,针对第一种要进行表操作的程序,他的样子是这样的;
- 基本上,所有关于表操作的题,都需要用到,use 这个命令,我们的基本原则是,对谁操作就打开谁,操作结束后也需要对被操作的对象进行 关闭;所以,这组命令的固定样子是:
use <这里是被打开的表的名字> /****************/ /*这里面是代码块*/ /****************/ use /*这里表示关闭,讲过的,还有就是,use 只使用在这一大类程序里面*/ 复制代码
- 如果这道题会需要对文件进行遍历的话(就是从头到尾把文件过一遍);那么我们有两种办法,第一种是VFP提供的语句,我没带书,先不讲这一个;重点讲另一个方法 do while,程序改错题,填空题,基本上都用到这一种方法,因为这一种方法方便他来设置错误;
基本上,在对文件进行遍历的操作上,这个用法是固定的,样子是这样的:
do while .f.eof() /*这里也经常写成 !eof()两者意思等同*/
/****************/
/*这里面是代码块*/
/****************/
skip /*skip你去看单词意思,这一整段代码是一个循环操作,从上到下
不停执行代码块里的内容,直到循环条件不成立,退出为止*/
enddo
复制代码
-
现在,再看一下第二种程序,是这个样子的:
-
do while <这里面的条件不再是eof()>
,很小几率还会用到eof(),所以就理解成不是就好,这里面通常是表达式,i < 100
这个样子的东西; -
如果你要使用循环,可以选择
for
语句,他们两者的区别给你提过了,如果不记得了在下面留言,不然感觉自己像老婆婆了; -
在使用一个变量之前,我们需要对这个变量进行定义;就是下面这个样子:
a = 10
或者stor 1 to a,b
,这两者的区别不知道就留言;
-
至于为什么需要先定义,举个栗子,你在到梦空间办了个活动,所以你是活动管理员,现在要以权谋私,在后台给你家室友签到弄点学时,这个时候你发现,她们没有报名,呵,签个鬼哟~ (不要和我扯补录,我不听)
- 所以写到这里突然忘记还要科普哪些了,等你再犯很呆萌的错误的时候补充好了~
-
玫瑰花数
找出1000-9999之间所有的四叶玫瑰花数,将他们显示在屏幕上;四叶玫瑰数是指四位数各位上的数字的四次方之和等于它本身的数。
回到这道题,我们来把题目分解了
-
判断一个四位数是不是玫瑰花数;
要判断一个四位数是不是玫瑰花数,那么我们就需要把这个四位数的每一位都拆分出来;
举个栗子:把1234这个数拆分成1,2,3,4,方法很多,思路都一样,如下:
个位:1234%10;
十位:1234/10 %10;
百分位:1234/100 %10;
千分位:1234/1000;
-
找出所有的玫瑰花数,(四位数的范围就是1000到9999,笨~);
一直有提到,给你一个范围找数字的固定格式,上来反手就是一个
for
循环;再顺手就给
for
循环里头放一个if
,然后完成了; -
大概长这样:
set talk off
clear
stor 0 to a,b,c,d /*定义四个变量来接收每个位的数*/
for i = 1000 to 9999
xxx /*对这个数(也就是i)进行分解*/
if xxx /*这个数满足玫瑰花数的条件*/
xxx /*显示在屏幕上*/
endif
endfor
set talk on
复制代码
-
简单分支结构运用
要求:
-
键盘输入一个非负整数 x ,若输入的数值为负数则屏幕显示“输入数值不合法,请重新输入!”
-
若x为奇数,则计算其三次方的值,将结果存入y;
-
若为偶数则求其平方根,将结果存入y;
-
屏幕的输出格式为“x为 <判断结果>,y = <计算结果>”
-
-
嵌套循环的使用
要求:在屏幕上输出如下图形;
***** *** * 复制代码