中华农历论坛知识讨论区历法知识 → 天文算法讨论


  共有119825人关注过本帖树形打印

主题:天文算法讨论

帅哥哟,离线,有人找我吗?
秦汉昌
  71楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/2/28 1:19:00

呵呵,是我对 s.lastIndexOf  理解错了

终于弄出点代码来了,搜索实例如下,不知是不是这样子的:

 

装载 D:\汉编\万年历设计\中\EPHB.CHP ★
字串" And" 恒星库检索 ★..
掳数摞
出错提示: "掳数摞" 未定义。
字串" And" 恒星库检索 ★..
看数摞 [2] -8392624 372 ★..
(印字串) #*722.2 -60934.8,37 25. -60847.8,0,0,0,0.0,中心722.278方,NQ1 英仙 Andromeda#* 0 08 23.26029 05 25.540.010
4-0.1630.0342.07星1And α B9#* 0 10 19.24746 04 20.170.00050.0010.0035.01星4And 22 F2#* 0 17 05.50038 40 53.87-0.0
046-0.0130.0134.61N30And θ A2#* 0 18 19.65836 47 06.79-0.0055-0.0420.0234.51星1005And σ A2#* 0 21 07.27037 58 06
.950.0049-0.0390.0205.16星1009And ρ F5★


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  72楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/2/28 1:21:00

搜索结果串的最后是不是 还要加一个  #  呢

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  73楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/2/28 10:25:00

把逗号去了,加上如下:

 

装载 D:\汉编\万年历设计\中\EPHB.CHP ★
字串" And"  恒星库检索 ★..
看数摞 [2] -8391100 450 ★..
回车  (印字串)
#*722.2 -60934.8,37 25. -60847.8,0,0,0,0.0,中心722.278方,NQ1 英仙 Andromeda#* 0 08 23.260, 29 05 25.54, 0.0104, -0
.163, 0.034, 2.07 ,星1    ,And α B9#* 0 10 19.247, 46 04 20.17, 0.0005,  0.001, 0.003, 5.01 ,星4    ,And 22 F2#*
0 17 05.500, 38 40 53.87,-0.0046, -0.013, 0.013, 4.61 ,N30    ,And θ A2#* 0 18 19.658, 36 47 06.79,-0.0055, -0.04
2, 0.023, 4.51 ,星1005 ,And σ A2#* 0 21 07.270, 37 58 06.95, 0.0049, -0.039, 0.020, 5.16 ,星1009 ,And ρ F5


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  74楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/2/28 23:44:00

装载 D:\汉编\万年历设计\中\EPHB.CHP ★
恒星库 0 +字串读 1 提取并格式化恒星库 ★.
♂ 读 显 160 ★.
8 显示字符数组
0.0085535678 -0.1049654587 0.0000002254 -0.0000001988 0.0000000388 4.37 星1630 Psc 30 M3
0.0163181740 -0.3025701822 0.0000001454 -0.0000000339 0.0000000679 4.55 星905 Cet 2  B9
0.0232813832 -0.0996168487 -0.0000000654 0.0000004315 0.0000001212 4.61 星1002 Psc 33 K1
0.0365981000 0.5077237455 0.0000007563 -0.0000007902 0.0000001648 2.07 星1 And α B9
0.0400470160 1.0323583256 0.0000049524 -0.0000008727 0.0000002909 2.28 星2 Cas β F2
0.0450329126 0.8041127957 0.0000000364 0.0000000048 0.0000000145 5.01 星4 And 22 F2
0.0504997202 -0.4851969748 0.0000000218 0.0000000776 0.0000000291 5.41 星5 Scl κ2 K2
0.0511970519 -0.6131886593 0.0000010036 0.0000005575 0.0000002230 5.24 星6 Scl θ F3
0.0577525086 0.2650036669 0.0000000218 -0.0000000388 0.0000000485 2.83 星7 Peg γ B2
0.0637165168 0.3526734460 0.0000004654 -0.0000000048 0.0000000485 4.79 星1004 Peg χ M2
0.0745764645 0.6751218132 -0.0000003345 -0.0000000630 0.0000000630 4.61 N30 And θ A2
0.0799693864 0.6420231954 -0.0000004000 -0.0000002036 0.0000001115 4.51 星1005 And σ A2
0.0813220166 0.5500793473 0.0000003200 -0.0000000194 0.0000000291 5.88 星1006 Pi 0h38 A0
0.0847703509 -0.1540065927 -0.0000000727 -0.0000001794 0.0000000533 3.56 星9 Cet ι K2
0.0898744936 0.1429471199 -0.0000000218 0.0000000485 0.0000000388 5.38 星1008 Psc 41 K3
0.0921584750 0.6626770339 0.0000003563 -0.0000001891 0.0000000970 5.16 星1009 And ρ F5
0.1081744889 1.0791554994 0.0000001309 -0.0000000097 0.0000000194 5.38 GC Cas 12 B9
0.1108436791 0.0338539091 -0.0000000727 -0.0000000630 0.0000000291 5.77 星1010 Psc 44 G5
0.1123622610 -1.3483410237 0.0000486438 0.0000015659 0.0000006497 2.82 星11 Hyi β G2
0.1146864578 -0.7383787509 0.0000015272 -0.0000017162 0.0000002036 2.40 星12 Phe α K0 ★

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  75楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/3/2 1:09:00

 2648780.00 TD 站心坐标

星1630 Psc 30 M3 4.37  283°48'09.60' -078°45'41.68'

星905 Cet 2  B9 4.55  225°05'03.33' -088°49'16.55'

星1002 Psc 33 K1 4.61  289°31'49.87' -073°53'13.05'

星1 And α B9 2.07  287°48'03.35'  082°26'23.45'

星2 Cas β F2 2.28  089°23'13.04'  076°53'07.41'

星4 And 22 F2 5.01  272°50'20.76'  078°56'31.27'

星5 Scl κ2 K2 5.41  173°43'25.01' -089°00'57.96'

星6 Scl θ F3 5.24  118°28'24.75' -087°29'36.63'

星7 Peg γ B2 2.83  018°05'16.11'  076°18'39.14'

星1004 Peg χ M2 4.79  001°47'10.20'  081°59'11.05'

N30 And θ A2 4.61  284°29'26.23'  081°58'38.24'

星1005 And σ A2 4.51  290°05'54.94'  082°42'27.93'

星1006 Pi 0h38 A0 5.88  308°46'54.81'  083°54'56.91'

星9 Cet ι K2 3.56  295°35'03.60' -067°48'07.95'

星1008 Psc 41 K3 5.38  011°17'41.78'  042°29'20.60'

星1009 And ρ F5 5.16  292°35'34.20'  082°57'31.63'

GC Cas 12 B9 5.38  271°17'25.32'  078°10'03.45'

星1010 Psc 44 G5 5.77  340°09'11.07' -008°32'08.00'

星11 Hyi β G2 2.82  098°13'01.16' -082°26'20.95'

星12 Phe α K0 2.40  149°00'32.10' -088°46'48.68'

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  76楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/3/2 10:32:00

装载 D:\汉编\万年历设计\中\EPHB.CHP ★
0.1116  恒星库 0 +字串读 1  提取并格式化恒星库 ★..
看数摞 [2] 0.1116000000 12860328 ★..
30.0 ★...
1 3.3  1.35  恒星Calc ★..
字串" D:\测试文件.txt"  读/写 创建文件 ♀ 写文件 ♀ ★

 

写入文件中的内容如下所示:

 

2011-02-28 16:33:36 TD 站心坐标

星1630 Psc 30 M3 4.37  100°07'45.83' -073°36'29.14'

星905 Cet 2  B9 4.55  096°33'01.87' -075°03'02.79'

星1002 Psc 33 K1 4.61  112°33'54.31' -067°41'52.46'

星1 And α B9 2.07  276°16'42.28'  074°31'39.38'

星2 Cas β F2 2.28  272°29'28.35'  076°27'46.23'

星4 And 22 F2 5.01  274°25'03.68'  075°35'41.53'

星5 Scl κ2 K2 5.41  100°40'05.06' -073°22'47.60'

星6 Scl θ F3 5.24  098°22'30.51' -074°19'53.04'

星7 Peg γ B2 2.83  281°08'36.19'  067°31'06.49'

星1004 Peg χ M2 4.79  280°37'32.33'  069°28'13.59'

N30 And θ A2 4.61  277°50'29.06'  073°20'53.56'

星1005 And σ A2 4.51  278°31'29.27'  072°42'04.85'

星1006 Pi 0h38 A0 5.88  279°33'12.08'  071°28'09.08'

星9 Cet ι K2 3.56  131°50'16.04' -056°53'53.72'

星1008 Psc 41 K3 5.38  274°38'04.51'  049°11'30.17'

星1009 And ρ F5 5.16  278°59'20.86'  072°11'35.10'

GC Cas 12 B9 5.38  275°19'54.30'  075°06'19.85'

星1010 Psc 44 G5 5.77  235°37'37.21'  008°55'01.77'

星11 Hyi β G2 2.82  092°49'41.19' -076°24'42.05'

星12 Phe α K0 2.40  103°13'48.69' -072°15'23.65'


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  77楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/3/2 10:57:00

装载 D:\汉编\万年历设计\中\EPHB.CHP ★
0.1116                              \ t ★.
恒星库 0 +字串读 1  提取并格式化恒星库    \ F ★..
30.0                                \ Q ★...
1                                   \ Lx ★....
3.3                                 \ L ★.....
1.35                                \ fa ★......
恒星Calc ★..
看数摞 [2] -8391612 1218 ★..
字串" D:\测试文件.txt"  读/写 创建文件 ♀ 写文件 ♀ ★

 

 

写入文件中的内容如下所示:

 

 2011-02-28 16:33:36 TD 站心坐标

星1630  Psc 30 M3  4.37   100°07'45.83' -073°36'29.14'

星905   Cet 2  B9  4.55   096°33'02.21' -075°03'02.84'

星1002  Psc 33 K1  4.61   112°33'52.12' -067°41'52.08'

星1     And α B9  2.07   276°16'42.28'  074°31'39.38'

星2     Cas β F2  2.28   272°29'28.35'  076°27'46.23'

星4     And 22 F2  5.01   274°25'03.68'  075°35'41.53'

星5     Scl κ2 K2  5.41   100°40'05.06' -073°22'47.60'

星6     Scl θ F3  5.24   098°22'30.51' -074°19'53.04'

星7     Peg γ B2  2.83   281°08'36.19'  067°31'06.49'

星1004  Peg χ M2  4.79   280°37'32.33'  069°28'13.59'

N30     And θ A2  4.61   277°50'29.06'  073°20'53.56'

星1005  And σ A2  4.51   278°31'29.27'  072°42'04.85'

星1006  Pi 0h38 A0  5.88   279°33'12.08'  071°28'09.08'

星9     Cet ι K2  3.56   131°50'16.04' -056°53'53.72'

星1008  Psc 41 K3  5.38   274°38'04.51'  049°11'30.17'

星1009  And ρ F5  5.16   278°59'20.86'  072°11'35.10'

GC      Cas 12 B9  5.38   275°19'54.30'  075°06'19.85'

星1010  Psc 44 G5  5.77   235°37'37.21'  008°55'01.77'

星11    Hyi β G2  2.82   092°49'41.19' -076°24'42.05'

星12    Phe α K0  2.40   103°13'48.69' -072°15'23.65'



支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  78楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/3/2 11:29:00

 2011-02-28 16:33:36 TD 站心坐标

星1630  Psc 30   M3  4.37   100°07'45.50' -073°36'29.08'

星905   Cet 2    B9  4.55   096°33'02.24' -075°03'02.85'

星1002  Psc 33   K1  4.61   112°33'54.75' -067°41'52.54'

星1     And α    B9  2.07   276°16'42.28'  074°31'39.38'

星2     Cas β    F2  2.28   272°29'28.35'  076°27'46.23'

星4     And 22   F2  5.01   274°25'03.68'  075°35'41.53'

星5     Scl κ2   K2  5.41   100°40'05.06' -073°22'47.60'

星6     Scl θ    F3  5.24   098°22'30.51' -074°19'53.04'

星7     Peg γ    B2  2.83   281°08'36.19'  067°31'06.49'

星1004  Peg χ    M2  4.79   280°37'32.33'  069°28'13.59'

N30     And θ    A2  4.61   277°50'29.06'  073°20'53.56'

星1005  And σ    A2  4.51   278°31'29.27'  072°42'04.85'

星1006  Pi  0h38 A0  5.88   279°33'12.08'  071°28'09.08'

星9     Cet ι    K2  3.56   131°50'16.04' -056°53'53.72'

星1008  Psc 41   K3  5.38   274°38'04.51'  049°11'30.17'

星1009  And ρ    F5  5.16   278°59'20.86'  072°11'35.10'

GC      Cas 12   B9  5.38   275°19'54.30'  075°06'19.85'

星1010  Psc 44   G5  5.77   235°37'37.21'  008°55'01.77'

星11    Hyi β    G2  2.82   092°49'41.19' -076°24'42.05'

星12    Phe α    K0  2.40   103°13'48.69' -072°15'23.65'

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  79楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:865 积分:3803 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2011/3/3 15:28:00

以下是引用秦汉昌在2011-2-27 21:05:00的发言:

这个循环结构 好像没有意义呢:

 

while(1){
    n1 = s.indexOf(key,n1+1);     if(n1==-1) break; //按key查找
    n2 = s.indexOf('#',n1);     if(n3==-1) n2 = s.length; //该记录的结束位置
    n3 = s.lastIndexOf('#',n1); if(n2==-1) n3 = n0;       //该记录的开始位置
    r += s.substr(n3,n2-n3);
   }

 

假如,第一次循环s.indexOf(key,n1+1)返回  key 在字串s中的 序号,即key在s中能找到

进下面的的条件判断,而下面的下条件判断中, if(n3==-1) n2 = s.length  上需要上次循环提供 的参数N3的值等于-1j时才能保证s.substr(n3,n2-n3)不是空串,如果一旦进入下次循环,n1就是key在s中的开始位置,而每次检索key时,都要在n1的基础上再加1作为开始检索位置,由于n1 经过一次能检索到key但只能获得空串r情况下,n1已经是key在s中的开始位位置了,再加1检索,就会因找不到key而退出循环,如此一来,如果不考虑外循环对参数的改变的话,本循环毫无意义。

这种设计的唯一可能情况就是,只有key在数组的两个项中都在存,但在第一项中检索只能改变n3的值,然后在搜索第二项时,由于n3的值已经得到改变,假如key也能在第二项中找到的话,那么才能得出一个不为空的r来.

 

 

该程序功能:查找子串并取出子串所在记录的全部内容。

寿星天文历的每一行代码都是手写出来的,每行代码都有其特定的任务,所以不会无故花费大力气编写无用代码的。
程序会有一些BUG,但一般不会出现您所述的类似的“无意义”代码加入程序之中。

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
秦汉昌
  80楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:业余侠客 帖子:372 积分:1467 威望:0 精华:0 注册:2008/12/20 18:10:00
  发帖心情 Post By:2011/3/4 17:54:00

以下是引用xjw01在2011-3-3 15:28:00的发言:

 

 

该程序功能:查找子串并取出子串所在记录的全部内容。

寿星天文历的每一行代码都是手写出来的,每行代码都有其特定的任务,所以不会无故花费大力气编写无用代码的。
程序会有一些BUG,但一般不会出现您所述的类似的“无意义”代码加入程序之中。

 

呵呵,多谢许老师指点迷津,这个是我理解错了,我对JavaScript不熟,把  LastIndex()方法理解错了


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

天文算法讨论








签名