数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 白新岭

[原创]请教vfbpgyfk先生一个编程问题

  [复制链接]
发表于 2010-5-27 14:20 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

你信什么?
 楼主| 发表于 2010-5-27 18:04 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

* 请注意,外循环是初始值,即:从1到3,
CLEAR ALL
SELECT 1
USE E:\用vfp求k生素数数量\5生成初始值11.dbf ALIAS 5生成初始值11
SELECT 2
USE F:\myvfp\学习vfp\5生成初始值7.DBF ALIAS 5生成初始值7
*INPUT "请输入外循环开始值 wxhks=" TO wxhks
*INPUT "请输入外循环结束值 wjs=" TO wjs
*INPUT "请输入内循环开始值 nks=" TO nks
*INPUT "请输入内循环结束值 njs=" TO njs
GO Top
FOR h=1 TO 3
SELECT 5生成初始值7
FOR j=0 TO 10
bpz=生成元7+j*210       &&注意这条语句中的“初始值”
qmz=MOD(bpz,11)
IF qmz=0 OR qmz=2 OR qmz=6 OR qmz=8 OR qmz=12
ELSE
SELECT  5生成初始值11
APPEND BLANK
REPLACE 生成元11 WITH bpz
SELECT 5生成初始值7
ENDIF
ENDFOR
SKIP
ENDFOR
CLEAR ALL
 楼主| 发表于 2010-5-27 18:07 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

上边明明是复制的程序,只做了稍微的修改,程序却不能运行。记事本提示信息如下:
USE E:\用vfp求k生素数数量\5生成初始值11.dbf ALIAS 5生成初始值11
第 5 行发生错误: 语法错误。
USE F:\myvfp\学习vfp\5生成初始值7.DBF ALIAS 5生成初始值7
第 7 行发生错误: 语法错误。
SELECT 5生成初始值7
第 14 行发生错误: 命令中缺少必需的子句。
SELECT  5生成初始值11
第 20 行发生错误: 命令中缺少必需的子句。
SELECT 5生成初始值7
第 23 行发生错误: 命令中缺少必需的子句。
 楼主| 发表于 2010-5-27 18:10 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

CLEAR ALL
SELECT 1
USE E:\用vfp求k生素数数量\5生成初始值11.dbf ALIAS 5生成初始值10 &&当每增倍一个素数周期就改成下一个表名(改成带下一个素数数字的表
SELECT 2
USE E:\用vfp求k生素数数量\5生成初始值7.DBF ALIAS 5生成初始值6 &&同上
*INPUT "请输入外循环开始值 wxhks=" TO wxhks
*INPUT "请输入外循环结束值 wjs=" TO wjs
*INPUT "请输入内循环开始值 nks=" TO nks
*INPUT "请输入内循环结束值 njs=" TO njs
GO Top
FOR h=1 TO 2  &&外循环终值改成下边选择的工作区表中的记录总数
SELECT 5生成初始值6 &&同第一条注释
shy=生成元7
FOR j=0 TO 10  &&改成下一个素数-1
bpz=shy+j*210      &&注意这条语句中的“初始值”---改成字段名
qmz=MOD(bpz,11)  &&用新增加的素数值
IF qmz=0 OR qmz=2 OR qmz=6 OR qmz=8
ELSE
SELECT  5生成初始值10 &&同第一条注释
APPEND BLANK
REPLACE 生成元11 WITH bpz &&改成本次追加记录的字段名
SELECT 5生成初始值6 &&同第一条注释
ENDIF
ENDFOR
SKIP
ENDFOR
CLEAR ALL
这个也是同样的毛病。记事本提示信息如下:
USE E:\用vfp求k生素数数量\5生成初始值11.dbf ALIAS 5生成初始值10
第 3 行发生错误: 语法错误。
USE E:\用vfp求k生素数数量\5生成初始值7.DBF ALIAS 5生成初始值6
第 5 行发生错误: 语法错误。
SELECT 5生成初始值6
第 12 行发生错误: 命令中缺少必需的子句。
SELECT  5生成初始值10
第 19 行发生错误: 命令中缺少必需的子句。
SELECT 5生成初始值6
第 22 行发生错误: 命令中缺少必需的子句。
 楼主| 发表于 2010-5-27 18:14 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

@12,10 SAY i
在求四胞胎数据的程序中上行是什么意思,在程序中起什么作用?
发表于 2010-5-27 20:51 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

* 请注意,外循环是初始值,即:从1到3,
CLEAR ALL
*出现问题的原因是:表的文件名第一个字符不能为数字,在数字前面加一个字母或汉字就解决问题啦。我在前面加了个“Y”,就能运行啦。
*注意!表文件名前面加字符后,一定要把原来的表文件名改为程序中加字符后的名。如:把“5生成初始值11”改为“Y5生成初始值11”。
*程序最好放在同一个盘区,这样阅读等,都方便。
*“@12,10 SAY i”是在屏幕上显示程序进度的语句。意思是:在屏幕的第12行,第10列显示i值。这条语句的“@”和“SAY”必写,格式照搬。12、10、i根据需要而定。
*第二个程序待研究后再说。
SELECT 1
USE E:\用vfp求k生素数数量\Y5生成初始值11.dbf ALIAS Y5生成初始值11
SELECT 2
USE F:\myvfp\学习vfp\Y5生成初始值7.DBF ALIAS Y5生成初始值7
*INPUT "请输入外循环开始值 wxhks=" TO wxhks
*INPUT "请输入外循环结束值 wjs=" TO wjs
*INPUT "请输入内循环开始值 nks=" TO nks
*INPUT "请输入内循环结束值 njs=" TO njs
GO Top
FOR h=1 TO 3
SELECT Y5生成初始值7
FOR j=0 TO 10
bpz=生成元7+j*210       &&注意这条语句中的“初始值”
qmz=MOD(bpz,11)
IF qmz=0 OR qmz=2 OR qmz=6 OR qmz=8 OR qmz=12
ELSE
SELECT  Y5生成初始值11
APPEND BLANK
REPLACE 生成元11 WITH bpz
SELECT Y5生成初始值7
ENDIF
ENDFOR
SKIP
ENDFOR
CLEAR ALL
发表于 2010-5-27 21:08 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

第二个程序仍是第一个程序中的问题。
您想“&&当每增倍一个素数周期就改成下一个表名”不能直接做。需要把需要改名的表,全部打开,有多少,就要打开多少。在调用时,在SELECT后写入ALIAS后面那个字符串。
打开方法是:
SELECT k (k=1,2,3……)
USE 盘符:\路径\表文件名 ALIAS 别名
为了好记,一般别名都与表文件名一致。可以使用其它别名。调用时,别名是什么,就在SELECT后面写什么别名。
 楼主| 发表于 2010-5-28 11:03 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

按先生给出的修改方案,很奏效,能正常运行了。
 楼主| 发表于 2010-5-28 11:13 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

这个新程序是筛选最密5生素数群的代表值的,最密5生素数群总跨度为12,即每组5生素数群中的前后两个素数的差为12,预先给的5个偶数是它们的倒置间隔距离。
发表于 2010-5-28 11:42 | 显示全部楼层

[原创]请教vfbpgyfk先生一个编程问题

能正常运行就好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-12 18:00 , Processed in 0.111813 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表