《vfp编程题.doc》由会员分享,可在线阅读,更多相关《vfp编程题.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入设备编号BH;在SB表中查找编号字段为BH的记录,若找到,则将该记录的价格改为原价格的90%,若没有找到,则在屏幕上显示不存在要修改的记录!。评析:Set talk offClearUse SBBH=space(4)10,10 say 输入设备编号: get BHReadLoca for 编号=bhIf found()Repl 价格 with 价格*0.9Else11,10 say 不存在要修改的记录!UseReturn2、设有设备表SB(编号C(4),名称
2、C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数X;第11行,第10列输入整数Y,将SB表中X=价格=Y的记录的名称,价格字段显示在屏幕上。评析:Set talk offClearUse SB10,10 say 价格下限为: get X defa 010,11 say 价格上限为: get Y defa 0ReadDisp for 价格=xUsereturn3、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数X;第11行,第10列输入整数Y,将SB表
3、中X=价格=Y的记录复制到TSB表中并按编号建立索引,索引标为BH。评析:Set talk offClearUse SB10,10 say 价格下限为: get X defa 010,11 say 价格上限为: get Y defa 0ReadCopy to TSB for 价格=xUse TSBIndex on 编号 tag BHUseReturn4、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数X;第11行,第10列输入整数Y,将SB表中X=价格=Y的记录删除。评析:Set talk offClea
4、rUse SB10,10 say 价格下限为: get X defa 010,11 say 价格上限为: get Y defa 0ReadDele for 价格=xPackUsereturn5、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数X;第11行,第10列输入整数Y,计算SB表中X=价格=Y的记录的条数,平均价格,最高价格。评析:Set talk offClearUse SB10,10 say 价格下限为: get X defa 010,11 say 价格上限为: get Y defa 0Read
5、select count(),avg(价格),max(价格) from SB where 价格=xUsereturn6、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数Y表示日期的年份;将SB表中启用日期在Y年以前启用的设备的新旧标志字段改为.F.,其它记录的新旧标志字段改为.T.。评析:Set talk offClearUse SB10,10 say 年份: get Y defa 0ReadRepl 新旧标志 with .T. for year(启用日期)=yUseRetu7、设有设备表SB(编号C(4
6、),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数Y表示日期的年份;将SB表中启用日期在Y年以前启用的设备记录的名称,价格字段显示在屏幕上。评析:Set talk offClearUse SB10,10 say 年份: get Y defa 0ReadDisp fiel 名称,字段 for year(启用日期)yUse retu8、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数Y表示日期的年份;将SB表中启用日期在Y年以前启用的设备记录复制到
7、TSB表中并按编号建立索引,索引标识为BH。评析:Set talk offClearUse SB10,10 say 年份: get Y defa 0ReadCopy to TSB for year(启用日期)yUse TSBIndex on 编号 tag bhretu9、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数Y表示日期的年份;将SB表中启用日期在Y年以前启用的设备记录删除。评析:Set talk offClearUse SB10,10 say 年份: get Y defa 0Readdele f
8、or year(启用日期)ypackuseretu10、设有设备表SB(编号C(4),名称C(10),启用日期D,价格N(10,2),新旧标志L)编写程序,要求在屏幕的第10行,第10列输入整数Y表示日期的年份;计算SB表中启用日期在Y年以前启用的设备记录的记录的条数,平均价格,最高价格。评析:Set talk offClearUse SB10,10 say 年份: get Y defa 0Readselect count(),avg(价格),max(价格) from SB where year(启用日期)Yuseretu11、输入圆的半经,计算圆的面积和周长。评析:input r= to r
9、s=3.1415*r*r c=3.1415*2*r? s=,s? c=,c12、输入三角形的底和高,计算三角形的面积。评析:input a= to ainput b= to bs=(a*b)/2? s=,s13、编写一个程序,求三个数中的最大值。评析:Input a= to ainput b= to binput c= to cmax=aif maxb max=bendifif maxb min=bendifif minc min=cendif? min=,min15、用do while循环编程计算p=1*2*3*.*20。评析:p=1k=1do while k=20 p=p*k k=k+1e
10、nddo? 1*2*3*20=,p16、用for循环编程计算s=1+2+3+4+.+100。评析:s=0for i=1 to 100 s=s+inext? 1+2+3+4+100=,s17、用do caseendcase语句编程计算评析:input x= to xdo case case x0 .and. x=10 y=2*xendcase? y=,y18、用ifelseendif语句编程计算评析:input x= to xif x0 y=x*x+1else if x=0 y=0 else if x5 y=x else y=2*x+1 endif endifendif? y=,y19、编程计算1100之间能被3整除的数的和。评析:s=0for k=1 to 100 if int(k/3)=k/3 s=s+k endifnext? s=,s20、编程计算1100之间能被7整除的数的积。评析:p=1for k=1 to 100 if int(k/7)=k/7 p=p*k endifnext? p=,p