24小时热门版块排行榜    

查看: 1432  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

阿黛拉

银虫 (小有名气)

[求助] 【已完结】求助:哪位帮忙写个简单的fortran小程序?谢谢。

1 f  =   57.411351 THz   360.726156 2PiTHz 1915.036473 cm-1   237.434347 meV
             X         Y         Z           dx          dy          dz
     11.185417 13.455304 10.654821    -0.660109   -0.666449   -0.332733  
。。。。
2 f  =   33.141990 THz   208.237266 2PiTHz 1105.497764 cm-1   137.064303 meV
             X         Y         Z           dx          dy          dz
     11.185417 13.455304 10.654821    -0.020412    0.018883   -0.002727  
。。。。
   3 f  =   30.073705 THz   188.958660 2PiTHz 1003.150784 cm-1   124.374891 meV
。。。。
想实现  N个含字母f行中单位为THz的数值的加和,若记为total(THz),转化为Hz单位需要乘以十的十二次方,记为TOTAL。
代入公式0.5h*TOTAL计算。(h的数值为4.13566743*十的负十五次方)
请教fortran程序。谢谢!
文件见附件。[ Last edited by jjdg on 2011-9-24 at 14:24 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-09-28 10:32:26
因为我不喜欢写注释,而且程序很简单,所以就不写了吧,呵呵……
CODE:
program car
   implicit none
   character(len=80) :: line
   real, dimension (:), allocatable :: Hz
   integer :: ios, n
   
   open(unit = 11, file = 'car.txt', status = 'old')
   
   n = 0
   do
      read(11, '(a)', iostat = ios) line
      if (ios /= 0) exit
      if (index(line, 'f  =  ') /= 0) n = n + 1
   end do
   
   allocate(Hz(n))
   
   rewind(11)
   
   n = 0
   do
      read(11, '(a)', iostat = ios) line
      if (ios /= 0) exit
      if (index(line, 'f  =  ') /= 0) then
          n = n + 1
          read(line, '(tr11,f10.6)') Hz(n)
      end if
   end do
   
   write(*,*) Hz

   write(*,*) 0.5 * 4.13566743E-15  * Hz * 1.0E10

end program car

3楼2011-09-23 18:32:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

阿黛拉(金币+5): 等待您的帮助,能否写程序并加上注释我也想学习写程序。谢谢您的关注。 2011-09-23 16:02:13
这个很简单吧,现在没有时间,如果晚上之前没有人帮你,我再来,呵呵……
2楼2011-09-23 14:13:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★ ★
余泽成(金币+3): 谢谢参与应助! 2011-09-28 10:32:40
引用回帖:
1楼: Originally posted by 阿黛拉 at 2011-09-23 11:02:50:
1 f  =   57.411351 THz   360.726156 2PiTHz 1915.036473 cm-1   237.434347 meV
             X         Y         Z           dx          dy          dz
     11.185417 13.455304 10.654821    -0.66010 ...

才看到是加和,呵呵……,稍微改了一下前面的程序:
CODE:
program car
   implicit none
   character(len=80) :: line
   real, dimension (:), allocatable :: Hz
   integer :: ios, n
   
   open(unit = 11, file = 'car.txt', status = 'old')
   
   n = 0
   do
      read(11, '(a)', iostat = ios) line
      if (ios /= 0) exit
      if (index(line, 'f  =  ') /= 0) n = n + 1
   end do
   
   allocate(Hz(n))
   
   rewind(11)
   
   n = 0
   do
      read(11, '(a)', iostat = ios) line
      if (ios /= 0) exit
      if (index(line, 'f  =  ') /= 0) then
          n = n + 1
          read(line, '(tr11,f10.6)') Hz(n)
      end if
   end do
   
!  write(*,*) Hz

   write(*,*) sum(Hz)

   write(*,*) 0.5 * 4.13566743E-15  * sum(Hz) * 1.0E10

end program car

4楼2011-09-23 22:30:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


阿黛拉(金币+5): 非常感谢您的热心帮助,可谓是精益求精。由衷地表示感谢。问题已成功解决。 2011-09-24 10:05:23
余泽成(金币+1): 辛苦了! 2011-09-28 10:32:57
一个更加简单的版本:
CODE:
program car
   implicit none
   character(len=80) :: line
   real :: Hz, total
   integer :: ios
   
   open(unit = 11, file = 'car.txt', status = 'old')
   
   total = 0.0
   do
      read(11, '(a)', iostat = ios) line
      if (ios /= 0) exit
      if (index(line, 'f  =  ') /= 0) then
         read(line, '(tr11,f10.6)') Hz
         total = total + Hz
      end if
   end do
   
   write(*,*) total

   write(*,*) 0.5 * 4.13566743E-15  * total * 1.0E10

end program car

5楼2011-09-23 22:34:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +10 Kittylucky 2026-08-27 10/500 2026-08-28 07:10 by sincosx
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-28 05:13 by winsaint
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 XLGfUIdOmEAO 2026-08-27 3/150 2026-08-28 00:49 by 3RAFyYXYSwGS
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +5 yuleib84 2026-08-26 6/300 2026-08-28 00:02 by yudaoqian88
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 XLGfUIdOmEAO 2026-08-27 4/200 2026-08-27 22:26 by 3RAFyYXYSwGS
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +7 苏东坡二世 2026-08-23 7/350 2026-08-27 18:14 by 瞬息宇宙
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 系统查不到 +10 董八千 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[基金申请] 2026国自然函评费到账 +22 羊腰板 2026-08-21 25/1250 2026-08-26 15:00 by zuocuiping
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见